05/04/23 17:49:34 V5Hwem0S
PICは電池を電源にして4.5V~6.0V、
複数あるLEDには別電源の6v+電流制限抵抗をいれて、
シンクで点燈したいと思います。
RA4ではなく、他のポートでです。
問題ありますかね?
電池の消耗を防ぐために、
別電源を入れたときだけ点燈するようにしたいのです。
別電源がないとき、LEDのアノードコモン側はオープンになります
851:774ワット発電中さん
05/04/23 19:32:17 xd9L7syo
何に使うのか分からないけどメインは電池駆動なんでしょ?
一案
実験あるのみ
二案
PICって6Vぐらいまで動くでしょ?ACアダプタのコネクタを刺すと、電池を切断してAC6Vで全部動くようにするとか。
三案
別電源用意しなくても、
必要な時だけソフト&外部スイッチでLEDのオンオフ出来るようにしたらいいじゃない。
ピンが足らないのかな?
852:774ワット発電中さん
05/04/23 19:35:57 Y28oAKA+
+6V=>抵抗=>LED=>PICポート=>保護/寄生ダイオード=>電源端子(+4.5V?)
てなわけでPICが・・・
853:774ワット発電中さん
05/04/23 19:48:18 j+eREi34
LEDのVfがあるから壊れるところまでは行かないでしょ。
保護/寄生ダイオードのVfと電源電圧の差とLEDのVfが拮抗するだけの電流が流れる訳だが、たぶん保護/寄生ダイオードがあぼーんするほどではないと思う。
でも定常的に電力を消費するのでかなり気持ち悪いな。
854:774ワット発電中さん
05/04/24 00:21:16 vk3E1bQu
トランジスタを挟んだ方が良いような気も・・・
855:774ワット発電中さん
05/04/24 00:58:58 mvPWe29p
久々に戦国いったら、PIC関連がやたら増えてた。
ICD2互換製品なんてのもあったよ
856:850
05/04/24 05:46:44 dV7gmCN0
皆様トンクス
>854
ですね。
857:774ワット発電中さん
05/04/24 12:44:50 9nxshLiM
>>818
は、あれだけ質問しておいて逃走ですか・・・そうですか・・・・
858:774ワット発電中さん
05/04/24 12:51:23 7k8Xrtnz
>>857
2chですから………。
859:774ワット発電中さん
05/04/24 13:02:53 fV59lsxP
PICにはオープンコレクタモードがないんだ…
860:774ワット発電中さん
05/04/24 13:18:22 QOmSPNj3
モードがあっても、構造自体はただのトライステートバッファだったりするけどな
861:774ワット発電中さん
05/04/24 14:22:40 7k8Xrtnz
つ[トランジスタ]
862:774ワット発電中さん
05/04/24 21:38:56 HHfeIOHz
外付けトランジスタじゃ疑似双方向にできないのでは?
863:774ワット発電中さん
05/04/25 00:43:06 SirInfpN
>>849
割り込み待機でループさせるか、スリープさせるかでちょっと悩んだ
864:774ワット発電中さん
05/04/25 10:19:29 pSCwy9Ia
LEDを点滅させいてるのですが、delay_msに変数を使って指定してやると、
delay_ms(2000)と指定してもdelay(300)ぐらいになってしまいます。
どこが違うか教えていただけないでしょうか。
CCS-Cのソースです。
#include <16F876.h>
#fuses HS, NOWDT, PUT, NOPROTECT, NOBROWNOUT, NOLVP, NOCPD, NOWRT
#use delay(CLOCK = 20000000)
void main()
{
long pulseWidth = 100;//パルス幅
setup_adc_ports(NO_ANALOGS);//ADは使わないよ
setup_adc(ADC_OFF);//ADは使わないよ
set_tris_a(0); //PORT_Aの各ピンは出力モード
set_tris_b(0xFF); //PORT_Bの各ピンは入力モード
port_b_pullups(TRUE);//PORT_Bのブルアップ抵抗を接続
while(1)
{
output_a(0xFF);//PORT_Aの各ピンはHIGH
delay_ms(pulseWidth);
output_a(0);//PORT_Aの各ピンはLOW
delay_ms(pulseWidth);
//ポートB7をLowにすることでパルス幅を変更
if (input(PIN_B7) == 0)
{
pulseWidth = 2000;
}
else
{
pulseWidth = 100;
}
}
}
865:864
05/04/25 10:26:17 pSCwy9Ia
delay_ms(time);
timeは8ビット変数か、16ビット定数でした。orz
866:774ワット発電中さん
05/04/25 19:55:11 9C9BClXO
あげとく
867:& ◆074eXsmY.k
05/04/25 21:53:38 tLAiVviK
アセンブラ言語がよくわかりません。
誰か教えてくださる人はいませんか?
868:774ワット発電中さん
05/04/25 22:27:36 SYf+fYUR
日本語がよくわかりません。
誰か教えてくださる人はいませんか?
869:774ワット発電中さん
05/04/25 22:43:22 dOHees0X
アセンブラとかコンパイラって名前がキャラについてる漫画のタイトルが思い出せません
誰か教えてくださる人はいませんか?
870:818
05/04/25 22:56:01 JFqbb/Hk
ご無沙汰スマソです。
>837
__CONFIG _XT_OSC & _WDT_OFF & _PWRTE_ON & _CP_OFF & _LVP_OFF
ICSP 絡みの 10k を直結にしてもだめ。
E の時間を延ばしてもだめ。
秋月のライタですが、書込みのベェリファイはok。
接続に長さ10cmほどの自作ハーネスを使っているのですが、
5cm ぐらいの短いヤシに丁寧に作り直してもダメ。
リセット回路をプルアップからコンデンサ+抵抗に作り直してもだめ。
電源の立ち上がりを早くする為に、電源側にコンデンサを追加して PIC のボード側の容量を減らしたりしてもダメ。
いろいろいじってひとつ分った事は、
たぶん、文字のデータはキチンと送られている。
スイッチを押すごとに1文字づつ送るように回路とソースを作り直して一文字一文字出力をテスタで見てみたのです。
そしたら、文字のコードは正しく送られているにも関わらず、LCD がちゃんと解釈していない。
よって結論:4ビットモードにする初期化が上手くいっていない。
それでも、たまには上手く行くときもある。
なしてだべさ?
871:774ワット発電中さん
05/04/25 22:56:06 x6XxfjXb
>>867 ええと、参考までにPICのアセンブラを学ぶために購入した書籍の名前を挙げていただけませんか?
872:774ワット発電中さん
05/04/25 23:10:23 x6XxfjXb
>>870 16F373のデータシートへのリンク知ってたら教えて
873:870=818
05/04/25 23:40:11 JFqbb/Hk
私にアンカーを打ってると言う事は 16F873 ですよね?
URLリンク(ww1.microchip.com) (日本語参考版)
URLリンク(ww1.microchip.com) (英語版)
よろしく、おながいします・・・、かな?
874:774ワット発電中さん
05/04/25 23:43:50 x6XxfjXb
ごめん。ちょっと突っ込んでみただけ。
> 16F373に秋月の16×2のLCDをつないで文字を出そうとしていますが、
875:774ワット発電中さん
05/04/25 23:56:47 x6XxfjXb
昔、某大学のプログラミング演習で、テキストのRB3/PGMの設定が抜けてて動作が
とても不安定だったことがあったので>>870見てみたけど、大丈夫みたいですね・・・。
876:774ワット発電中さん
05/04/26 00:01:29 x6XxfjXb
連続カキコすまそ
↓ここらへんを参考にしています。
URLリンク(homepage1.nifty.com)
漏れにはお手上げだけど、もう一度いろいろチェックしてみたらどうでしょうか。
釈迦に説法スマソ
877:774ワット発電中さん
05/04/26 00:04:53 dnV3ryHz
>>869
アフタヌーンに連載してたやつなら、そのまんまだな。
878:774ワット発電中さん
05/04/26 00:07:57 dnV3ryHz
>>870
BSCHかなんかで回路図書いて、適当なアップローダに、ソースファイルを付けて圧縮してUPしてくれ。
そこまで泥沼だと、断片情報聞いても、さっぱり役に立たない。
879:774ワット発電中さん
05/04/26 00:17:59 tWV3yeZb
液晶を4ビットモードで初期化するのに、冒頭部分ではビジーフラグが
使えなかったように思うけどそのあたりは大丈夫なのでしょうか?
880:774ワット発電中さん
05/04/26 12:17:44 mXAhuy5M
>>879
>>878に同意。
881:774ワット発電中さん
05/04/26 13:35:27 KOnC2Det
>>870
4bitモードで使われないD0-D3は内部プルアップらしいので、
8bitモードのまま4bit送信すると、下位4bit=1111になった文字が2個ずつ出るという
可能性はあるな。下位4bitについては現象に一致するが、1文字送っても
2個ずつ出てくる現象はおこってるかい?
もしくは、下位4bitを送るときRSを1にしていないとか。
いや、これは関係ないかな・・・?
882:774ワット発電中さん
05/04/26 13:36:00 KOnC2Det
>>870
というわけで、回路図とプログラム晒せ。
883:追加
05/04/26 13:37:42 KOnC2Det
>>881
文字データ送信も40usecの待機を要するようなので、
もしかしたら上位だけ(8bit送信として)受け取られ、下位送信の方はタイミングが短すぎて
無視されている可能性はあるな。
884:774ワット発電中さん
05/04/26 16:52:58 8gsJgyJx
piccliteって最適化能力あるんでしょうか?
CでOOPとかするとポインタ渡し周りのコストすら馬鹿にならなさそうで怖いんですが。
885:774ワット発電中さん
05/04/26 19:45:34 FhPEweWc
piccliteはfreeだし,アセンブリソースリストも出力される
16F877なら 4kwステップもできる
というわけで ↑ 自分で判断しる
picの Cとしては,ちゃんと使えて至極まともなほうだと思う
886:774ワット発電中さん
05/04/26 20:32:26 PnVd1iBb
>>818
1キャラ毎でなく、ポートを出力するたびに大きなウェイトを入れてみたらどう?
それで動けば、何らかのタイミングが影響している。
動かなければそもそもシーケンスがおかしい、と切り分けられると思うけど。
>>884
PICCLITEはかしこいよ。おすすめ。
887:818@大馬鹿者
05/04/26 21:00:13 VrzPur8e
大騒がせスマソ。>みなさま
andlw と ioriw の訂正漏れでした。
PORTB だけで LCD を動かすために RB0-RB3 をマスクしたりするのですが、
その際、andlw とすべきところ ioriw となっていました。
開発初期の段階で気付いて直していたのですが、データを書くルーチンは直しておきながら、
インストラクションを書くルーチンを直していませんでした。
PORTBレジスタは電源投入やリセットでクリアされませんから、
先にPORTBレジスタに残っていたデータ次第では上手く初期化されるけど、
大抵は上手く行かないという動きだったようです。
20MHzだろうが、最低限のタイミングだろうが、10kΩが挟まっていようが、
ICSPケーブルを繋ぎっ放しだろうが、チャタリングをわざと起こすように電源スイッチを投入しようが、
あんな事をしようがこんな事をしようが、あらゆる乱暴なことをしても・・・・
L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。
まるで何事もなかったように・・・。
ただし、データシート的には10kは大きすぎるので2.2kにしました。
結局チラシの裏になってしまい、付き合っていただいた方には申し訳ないです。マジスマソ
恥ずかしいので今から穴を掘って入ってきます。w
888:774ワット発電中さん
05/04/26 21:04:20 XC5qT9qJ
ワラタ
動いてよかったっすね。
889:774ワット発電中さん
05/04/26 21:56:22 Rbv8mlTW
やっと気が付いたか
また一回り大きくなったな
上司
890:774ワット発電中さん
05/04/26 22:13:19 MwPFrbe5
わんぱくでもいい,、たくましく育ってほしい。
891:774ワット発電中さん
05/04/26 22:21:29 llIgh4Do
このようにちゃんと結果報告があるとうれしいものです。
がんばってくだされ。
892:774ワット発電中さん
05/04/26 22:56:56 sCYN1fzt
>887
お疲れさまでした、また経験値アップしましたね、ガンガレ!!
893:774ワット発電中さん
05/04/27 00:10:25 q29BsxXE
>>887
おめでと。報告乙。
>L C D 野 郎 は ち ゃ ん と 動 き や が り ま し た 。
大変気持ちがわかるレポートでワラタ。
894:774ワット発電中さん
05/04/27 01:24:47 2dWP1oof
>LCD野郎
そういえばLCDの性別ってどっちなんだろ
895:774ワット発電中さん
05/04/27 10:17:41 934r3jnQ
>>887
ちゃんと回路図とソースを晒しておけば、4.87秒でレスがついただろうに。
それにしても、10kΩは大きすぎ。入れるなら、せめて1kΩ程度でしょう。
896:774ワット発電中さん
05/04/27 10:29:41 q29BsxXE
>>894
俺の持ってるのはコネクタはオスだな。よってLCDとマイコンボードは男性。
仲を取り持つケーブルは女性ね。
ということはPICボードとLCDは○×兄(以下自粛・・・)
897:774ワット発電中さん
05/04/27 16:42:34 OgD6qBzb
仏語のサイトでは"le LCD"と書かれていたりしているので、男性名詞なんでしょうね。
898:774ワット発電中さん
05/04/27 17:50:14 6pQ5Oz5i
あの寸胴体型、でかいツラはどうみても男だろう。
899:818
05/04/27 19:34:59 DLDKD/zX
気難しくて言うこと聞かないから女。
900:774ワット発電中さん
05/04/27 21:08:12 3YSIqaUR
苦労してんな・・・
901:774ワット発電中さん
05/04/27 21:37:26 RrTnVLEf
>>899
いや、融通きかなくて頑固だから男だね。
理屈が通らないデバイスなら女性としても・・・オーヲタ御用達パーツか?
902:元1
05/04/27 21:45:14 Ba/SwECk
そろそろ1000が近いぞな
入れなきゃならんリンクとかデータシートとかスレとか
ちらほら入れておいてくれ。
903:818@本物
05/04/28 19:47:17 fW3Z8TVN
>899
騙り乙
でもオモロイから許す。w
904:774ワット発電中さん
05/04/29 08:37:37 nmIFmZzS
J○_○ あっちこっちに見える白目の変な顔 ウゼー。
905:774ワット発電中さん
05/04/30 03:11:19 BfqRiDh2
質問を読むだけで答えないあなたよりは、ずいぶん まし。
906:774ワット発電中さん
05/04/30 03:45:30 V0tyxcpt
答えることは義務ではない
907:774ワット発電中さん
05/04/30 08:19:43 ke2Mgq64
> J○_○ あっちこっちに見える白目の変な顔
顔文字のHNはやめたほうがいい。
908:767
05/04/30 13:30:34 DRonuvwh
電源をAE-877ICE_Bからでなく、外から取るようにしたら
動いたですよ。
909:774ワット発電中さん
05/04/30 16:45:15 ac63jAC1
>>906
> 答えることは義務ではない
だったら「ウゼー」と言ってはいかんよ >>904
自分では何もしないくせに、言うことだけは一人前は良くない。
910:774ワット発電中さん
05/04/30 22:37:33 v9iPw1lp
質問
プログラムの話ではなく、実際に出来るかどうかです。
プルアップしたポートとタクトスイッチ。
ポート割り込み設定で、
タクトスイッチ押してる時間によってGOTO先を変えたり出来ますか?
911:774ワット発電中さん
05/04/30 23:02:55 RQ8vgJc0
できそうに1票
912:774ワット発電中さん
05/05/01 00:29:29 3zNC5VOg
スイッチオン
割り込み発生でTMRまわして
スイッチオフの割り込みで値を見て
振り分けるんでいけるんであ?
913:774ワット発電中さん
05/05/01 07:05:43 tKi+Wb7x
できそうに1票
スイッチオン
割り込み発生でI2CのRTCの時刻を参照して
スイッチオフの割り込みでもう一度時刻を見て
振り分けるんでいけるんであ?w
あるいはネットに常時接続しておいてNTPを参照するとか。www
50mS以下の短時間ON・OFFは無視するとかの処理も必要だろうね。
チャタリングの問題などもあるしね。
914:774ワット発電中さん
05/05/01 07:44:13 oiwBwvaY
>910 君は何をしたいの?
やりたいことによっては、君の考え自体が間違っていることもあるんだよ。
915:774ワット発電中さん
05/05/01 08:43:38 lzF3vlq1
>>910
スイッチ押している間処理が占有されても良いなら
チャタリング処理終了後、押されている時間を計測し、離す瞬間にその時間で
goto先を振り分けるだけ。
他の処理も同時並行で行いたければ、1msec間隔でスイッチを見に行って、
スイッチが押されていればスイッチ押下時間カウンタ変数をinc、
スイッチが離されたら、スイッチ押下時間を別変数にコピー後クリアし、
スイッチ押下時間<チャタリング時間→無視
それ以外→スイッチ押下時間に応じてgoto先振り分け
916:774ワット発電中さん
05/05/01 14:05:12 nec9dEoN
なぜ>>910は でるか不安に思ったのだろうか?
915程度のことはスグに思いつきそうだが。
917:774ワット発電中さん
05/05/01 16:09:52 lzF3vlq1
>>915
訂正。手で押すスイッチなら20~100msec毎程度でいいな。
2度連続ONの場合のみスイッチONとみなす。
918:774ワット発電中さん
05/05/01 16:10:39 lzF3vlq1
>>913
しかしなんでNTPとかRTCユニットなんだ?
919:774ワット発電中さん
05/05/01 17:14:18 oiwBwvaY
>918 5月病だからさ
920:774ワット発電中さん
05/05/01 17:21:14 lzF3vlq1
>>916
おお、IDがnecだぞ。
921:774ワット発電中さん
05/05/01 18:07:09 Tnii4VIq
GOTO やらCALLやらが沢山で、、もういや~~~
分かりやすく書いたつもりが、、、~~
って状態になったから、、、とりあえず聞いてみた。
そこだけ別にコピーしてテストしま~す。
スレがあれてたから和み計画で、、ってのもある。
922:774ワット発電中さん
05/05/01 18:50:40 hluncjpk
荒れてたのか!
言われて気付いたよ。w
923:774ワット発電中さん
05/05/01 18:58:25 oiwBwvaY
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
>921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー >921 しねしねしねしねしんじまえー
924:774ワット発電中さん
05/05/01 19:00:35 K/N14SEd
Wow!黄金
925:774ワット発電中さん
05/05/01 19:01:46 UbpP4x9e
>>923(oiwBwvaY)
はー大人気ない。つうか、黄金週間だからしょうがないか・・・・
926:774ワット発電中さん
05/05/01 19:09:20 K/N14SEd
マジレスするとアフォみたいだから、黄金を楽しもうよ。
927:774ワット発電中さん
05/05/01 21:07:25 7neT0sgJ
けんかすんなよ
928:774ワット発電中さん
05/05/01 22:37:01 Tnii4VIq
みんな、びろい
MPLAB IDE v7.10
シミュレーションで割り込みテスト出来るんだね~。
知らんかった。
929:774ワット発電中さん
05/05/01 22:42:24 Oz9jI+OD
この板にははじめて書き込みます。
Warning[203] D:\ASMS\LED1.ASM 63 : Found opcode in column 1. (movwf)
Warning[203] D:\ASMS\LED1.ASM 65 : Found opcode in column 1. (nop)
とか、コンパイルするとWarningがたくさん出て書き込んでも動作しません。
Messaggeは無視してよさそうなのですが、"Warning"は何か対策をしないといけないらしく、
何をしたらいいのかわかりません。教えてください。よろしくお願いします。
930:774ワット発電中さん
05/05/01 23:03:10 Tnii4VIq
Warning[203] D:\ASMS\LED1.ASM 63 : Found opcode in column 1. (movwf)
とか↑ダブルクリックしてごらん間違い行が自動指定される。
後はニラメッコシテ間違いを直す
931:774ワット発電中さん
05/05/01 23:13:50 Oz9jI+OD
>>930
ありがとうございました。たくさんニラメッコシマス。
932:774ワット発電中さん
05/05/01 23:18:52 WpXBVMbk
行の先頭に命令があるといってる。
普通は行の先頭から書くのはラベル。
命令は行の先頭を空けてから書く。
ソフトとしては1文字でも空いていればいいだろうけど、
人間がラベルと見分けやすいように8文字分くらい空けるといい。
933:774ワット発電中さん
05/05/01 23:48:29 Oz9jI+OD
>>932
沢山あった"Warning"がほとんど消えました。ありがとうございました。
934:774ワット発電中さん
05/05/02 00:41:13 w7kwMJ+T
Found opcode in column 1. (movwf)
Warningは、もろに答えを教えてくれてるじゃないですか。
直訳では
「1桁目にオペコードが見つかりました。(movwf)」
ですが、意味合いとしては、
「1桁目は他のものを期待していたのに、なんと命令コードが来てしまっているよ。大丈夫?」
と言うことなのです。
もっと英語を読みましょうよ。
読めば解決していた問題だと思いますよ。
935:774ワット発電中さん
05/05/02 00:53:49 iymWHfTh
やっぱわからん
ハードは12F、GP3を外部抵抗でプルアップして、タクトで落とす。
ソフトは(バンクは指定してます。)
& _MCLRE_OFF
BSF IOC,IOC3
BSF INTCON,GPIE
BCF INTCON,GPIF
RETFIE ;GIE
で、
割り込み入ったら
ループウェイトかけて
BTFSC GPIO,3
GOTO 111
ループウェイトかけて
BTFSC GPIO,3
GOTO 222
って判定してるんだけど。
リセットと似た動作になるんだよね。
タクトを離すと割り込み先で動き出す。
押してる間止まってるみたいなんだけど。
なんか、大きな間違いしてる?
(GP3だと駄目とか?)
936:774ワット発電中さん
05/05/02 01:07:29 iymWHfTh
RETFIE ;GIE
気持ち悪く見えるかもしれないけど、これでOKです。
後から他にも別のところで割り込み設定してから
全体割り込み有効にしてる。
ちょっと前にもアセンブラ教えてくれって来た人もいるし。
どんな質問が来てもいいんじゃない?
最初はそんなもんでしょ。
俺も一ヶ月前はNOPで同じことしたよ。1分かからずに解決したけどそれは人ぞれぞれだし。
>>1の上3行も読もうぜw
937:774ワット発電中さん
05/05/02 01:37:50 GwI/DXL5
それが人に物を聞く態度なのっ!?
938:774ワット発電中さん
05/05/02 01:56:30 iymWHfTh
>>937
先生の質問に答えられない奴は黙ってなさい。
「>>1の12行も読もうぜw 」
ってぐらい返してほしいよな。
939:774ワット発電中さん
05/05/02 02:42:47 buvtj3FV
2灯のフルカラーLEDの駆動回路を作りたいのです。
電源ONで、フルカラー点灯開始。
SW1 で、7色点灯に切り替え。
SW2 で、押したときに点灯している色に固定。(フルカラー点灯時の中間色とか・・・)
切り替わる速度を可変にしたい。(ボリュームとかを用いて)
電源電圧 4.5~5.0V で、玩具の照明に使いたいのです。
今までPICを使った回路を自分で組んだ事は有りません。
WEBにはそれらしい文字の羅列が乗ってる所もあるのですが、
どこを弄ると、自分の思うような動作をしてくれるのでしょうか?
ヒントだけでも下さい。お願いします。
940:774ワット発電中さん
05/05/02 02:44:28 GUFv1Mce
>>935
>>659-673
確信>>671
941:774ワット発電中さん
05/05/02 03:35:15 veS0CKsr
>>939
> どこを弄ると、自分の思うような動作をしてくれるのでしょうか?
> ヒントだけでも下さい。お願いします。
珠玉のヒントのみ
SW : GPIOからの入力、チャタリング除去
ボリューム:
VR: AD入力
ロータリーSW: GPIOからの入力(&チャタリング除去)
切り替え速度の変更: タイマ
LED: GPIO出力
中間色の点灯: 点灯デューティの制御、PWMなど
2灯の点灯:ダイナミック点灯 or ソース(シンク)電流の強化
942:774ワット発電中さん
05/05/02 04:01:01 cbW9gPA6
>>939
ソフトウェアだけいじって勉強してもそれだけになる、と言ってみる。
>>941さんのような内容とPIC選びと回路設計が影響する。
あと内部のTMRとかチャタリング除去の回路とか、Etc..Etc.....
943:774ワット発電中さん
05/05/02 06:54:26 GwI/DXL5
>939
フルカラーLEDに飛びつく前に
1.単色LEDのON/OFF点滅
2.SW入力
3.タイマー割込み
4.A/D変換
からやりなさい。
使う石としては16F88をおすすめ
ご参考
URLリンク(cai.cs.shinshu-u.ac.jp)
944:774ワット発電中さん
05/05/02 07:34:29 UBHqr42v
F877もお勧め。
鶏に牛刀という感じもするけど、古い石なので日本語データシートや本やwebなどの資料が豊富。
945:774ワット発電中さん
05/05/02 14:10:29 v0hvnEBq
その仕様だと、PICに搭載されている機能の ほとんどを使うほどの
中級レベルの内容だと思います。
初めてPICをさわるとしたら、結構な時間がかかりそうだよ
他の人のアドバイスのように、単機能の回路を使ってプログラムの練習わするのが吉だと思うよ
がんばって
946:774ワット発電中さん
05/05/02 14:16:43 l3QSJq8p
941も942もそんな設計ならPIC使う必要ナシ
947:774ワット発電中さん
05/05/02 14:29:56 dPwo2Ed1
R8Cマイコンのほうが、ずっといいじゃないか。
PICなんかいらね。
948:774ワット発電中さん
05/05/02 14:44:36 CSwCGqjt
>>946 の設計が楽しみ
949:774ワット発電中さん
05/05/02 16:43:32 72PtvphU
マイクロチップのmplab7.10のパッチって何の為にあるの?
URLリンク(www.microchip.co.jp)
950:774ワット発電中さん
05/05/02 17:07:33 cbW9gPA6
もうすぐ1000かぁ。
951:774ワット発電中さん
05/05/02 17:11:31 8UM8k37N
950を踏んだヤシは次スレを立てる義務があります。
952:774ワット発電中さん
05/05/02 19:39:54 GwI/DXL5
>939 周期(約20s)と色の出現順番も固定だか自動的にじわ~っという感じで色が変化するLEDもある。
953:774ワット発電中さん
05/05/02 22:45:49 iymWHfTh
>>949
パッチとは基本的に、
不具合を直したり、新しい機能を追加したり。
だから、何も考えずにパッチしとけ。
(注:マイクロソフト製だけは注意が必要かもしれん。)
問題が出たらやめればいい。
954:774ワット発電中さん
05/05/02 23:04:51 TnMFgNgs
パッチとパッチ当て済みのバージョン配布すりゃいいのにな
何で別々に配布してるんだろう・・・
955:774ワット発電中さん
05/05/03 01:50:36 MMEZ9VV+
パッチ当て済みバージョン7.1もDLできるけど………。
956:774ワット発電中さん
05/05/03 13:37:21 QDlxnF7Y
>何で別々に配布してるんだろう・・・
どっちもバグだらけで、バグの出方が違うから。
いつものことでしょうが。
957:939
05/05/03 21:16:26 GX5wnj5I
親切にアドバイス有難う御座いました。
そうですよね・・・やっぱし難しいかぁ。
>>952
2個使いたいので、同期か取れない・・・・・・
958:774ワット発電中さん
05/05/03 21:27:39 g2QCneKP
>>957
よくよく考えてみると、3色をジワジワーっと変化させるには
それぞれの色をPWMしないといけない。しかしPICにはPWM出力が
1chしかないですよ。
解決策は、
1. 色のジワジワ変化用にPWM回路を3回路、ハードウェアで製作し、
その回路をPICで制御する。(何をどう制御するかわからんが)
2. PWMをやめて、各色の輝度変化を7段階程度とし、
各色3ビット出力を割り当て。
3bitの出力をOP AMPに入れ、定電流回路をハードウェアで組む。
→ これ結構簡単だよ
この回路が出来てしまえば、4bitで16段階変化にするのも
抵抗1本追加するだけでOK。
3. PWM 3ch入ったマイコンを使用する。
959:774ワット発電中さん
05/05/03 21:31:37 W6qs3ANw
LEDの明るさなら速度はいらないからソフトウエアPWMで十分でしょう。
960:774ワット発電中さん
05/05/03 21:48:43 gaMoeR4o
蛍光灯の下で使用することを考えて120Hz以上のサイクルで
デューティコントロールするとして、8ms周期で8階調を
1ms周期の割り込みで制御とか言う感じかな。
961:774ワット発電中さん
05/05/03 21:54:09 o2/+aflJ
確か・・・・液晶の種類に、時間で分割してRGBを出力するタイプがあったよね。
液晶もそれ用に高速化してウンmsでスイッチ・・・・とかあったような記憶がある。
人間の目がその程度で誤魔化せる時間解像度しかないなら、ソフトで十分だよね。
PWMでLEDを常に駆動、とか考えるとややこしいかもしれないけど、要はRGBの光ってる
時間の比が問題なんだから、そこだけ注目すれば初心者レベルで作れるんじゃない?
962:774ワット発電中さん
05/05/03 22:02:10 u74DxZWQ
>>960
8階調程度だとなめらかと言うわけにはいかないかな。
>>939
よく見ると、じわーっと変化させろとは書いていないがどうなんだろ?
一体何階調くらいが必要なんだ?
各色一桁階調で、変化の段差が分かって良いなら
ソフトウェアで楽勝だと思うが。
963:774ワット発電中さん
05/05/03 22:10:51 gaMoeR4o
>>962
IDがNECの汎用ロジックだな
500usecにすれば16階調になるし、そんなモンで十分と思うけどね。
964:774ワット発電中さん
05/05/03 22:12:00 ePlJpF0B
///////////////
ORG 0X004
~~~
CALL INTR
~~~
///////////////
の後なんだけど
RETFIE
だと駄目で
GOTO START
だと、動くんだけど。
なんか、思い当たるところ無いですかね?
シミュレーションだと問題ないのだが。。
965:774ワット発電中さん
05/05/03 22:21:53 gaMoeR4o
>>964
? これだけの情報で、的確な指摘ができる人いるんだろうか
? ま、成り行きを見守るか、、、
・RETFIEをGOTOに置き換えて正常に動く?
・ORG 0はどのようになっている?
・割り込みに使用している要因は?
966:熱暴走 ◆2SA784NN.A
05/05/03 22:29:01 uaSZ87Mb
>>964
>>965 に胴衣しとくけど、とりあえず定番アドバイスを...
割り込みルーチンの内部で割り込み要因のクリアをし忘れてない?
>>965
IDが。。。 (´д`; )
967:774ワット発電中さん
05/05/03 22:33:50 GvMM7yMi
>>965
すご。
って言ってもこの板に報告しに行くようなスレは無い罠
968:萌え
05/05/03 22:38:32 gaMoeR4o
969:774ワット発電中さん
05/05/03 23:15:37 ePlJpF0B
割り込み要因のクリアって
フラグクリアの事ですよね。
シミュレーションで出た。で、原因が分かったかも、、
BSF IOC,IOC3
ファイルレジスター一覧で
IOC 00001000
割り込みフラグが変化するのはGP3変化だけかと思ったら、
GP0が変化してもフラグ立っちゃって、
即再割り込みされてただけだわ。
こういう場合どうしたらいいのだ?
GP0はパルス状にひっきりなしに変化してる。
割り込み前はGP0が変化すると割り込みフラグが立っても立ったままでも割り込みせず、GP3が変化したら割り込みする。
割り込み後
割り込み先でGP0が変化するとすると割り込みフラグが立つと割り込みから戻るRETFIE後に即再割り込み
BCF INTCON,GPIFしてRETURNしてRETFIEする間に立ってた。
970:774ワット発電中さん
05/05/03 23:56:36 ePlJpF0B
と思ったけど、それだけじゃないような。。
RETFIE
を、↓に変えたらバッチしだから
BCF INTCON,GPIF
BSF INTCON,GIE
GOTO START
もうこれで幾夜。
971:熱暴走 ◆2SA784NN.A
05/05/04 00:23:18 +ODwwL1a
>>970
>>965 でも指摘されてるのに、型番すら晒さないですか。
まぁ、12F 系列だと思うが。 あまり出し惜しみする様なら、
こちらもスルーするだけですが。
ところで、IOC 弄る前にバンクはちゃんと設定したの?
IOC で変化割り込みは個別にマスク出来る筈。
972:774ワット発電中さん
05/05/04 00:31:52 EvFpH1/D
この子、たぶん、上の方で GP3の'L'区間で処理分けしたいって
言っていた子だね。
973:774ワット発電中さん
05/05/04 00:38:34 rxX+UUWP
遅延ループ全部コメントアウトしてやったら動いたのだが。。。。みんなm(__)mスマン!!
974:774ワット発電中さん
05/05/04 00:39:36 EvFpH1/D
間違った判断で間違った結論に至っているに違いないのだが、
患者が患部を見せてくれないので、見殺しにするしかない。
医者として実に残念なことだ。
、、、、医者じゃないし、死にゃしないだろうからいいけどね。
975:774ワット発電中さん
05/05/04 00:50:49 rxX+UUWP
>>972
そうだよ。
ちょっと違うけどね。
ハード上制約があるかどうか聞いたんだよ。
「プログラムの話ではなく」って書いたでしょ。
ソースほい
URLリンク(w.satoweb.net)
なんで、、、おしえてください。
976:774ワット発電中さん
05/05/04 00:57:55 rxX+UUWP
ハードとソフトの説明
ハード;
GP0:信号H/L[負論理]
GP1:
GP2:LED
GP3:タクトスイッチ・プルアップ[負論理]
ソフト:
簡単につまみ食いしたんで読めば一発で分かると思う
977:774ワット発電中さん
05/05/04 01:00:55 rxX+UUWP
現象:
割り込み元に帰ってないみたい。
4箇所の延長をコメントアウトすれば正常に動いた。
スタックオーバーフローで帰れないのかな?
978:774ワット発電中さん
05/05/04 01:33:54 rxX+UUWP
う~ん、反応が無い。
もしかして、割り込み先でCALL使っちゃ駄目とか?w
979:774ワット発電中さん
05/05/04 01:40:52 rxX+UUWP
わかった!
割り込み先でメインルーチンと同じ
WCNT0 EQU 0X72 ; ウェイト用
WCNT1 EQU 0X73 ; ウェイト用
WCNT2 EQU 0X74 ; ウェイト用
WCNT3 EQU 0X75 ; ウェイト用
WCNT4 EQU 0X76 ; ウェイト用
つかってるからだ。。。たぶんそうだろ。。。
ありがとう。
980:774ワット発電中さん
05/05/04 01:42:15 ZeeEWnTw
えーと
wait100msがメインと割り込みで再入しているように思えまつ.
981:774ワット発電中さん
05/05/04 01:44:31 EvFpH1/D
>>977
多重割りにはならないと思うので、スタックオーバーフローはせんと思うが、、、
Waitをコメントするのは、メイン1カ所、割り込み3カ所全てと言うことかな?
まず、なにをもって割り込み元に返ってこないと判断しているのか説明してください。
# TRIS出力のままでもGPIFセットされるのかなぁ。
# あと割り込みハンドラでのステータスのバックアップこれでいいのかなぁ、、、
982:774ワット発電中さん
05/05/04 01:47:12 rxX+UUWP
>>980
>>981
どうもサンクス
>>979
で解決で良いでしょ。
983:774ワット発電中さん
05/05/04 01:47:26 ZeeEWnTw
IDがなんだかカッコイイので 一般的ルールをメモしておきまつ
割り込みルーチンのw,statusセーブは,コモンRAMアドレスに置く.
割り込みルーチンの変数は,メインルーチンとは独立にする.
メインでFSRを使っているなら割り込みルーチンでは,FSRのセーブも行う.
メインがバンク切り替えしているなら割り込みルーチンでワーキングを使うには,バンクのセットが必要.
984:774ワット発電中さん
05/05/04 01:55:00 EvFpH1/D
>>981
GP3は、入力専用か。。。
985:774ワット発電中さん
05/05/04 02:08:19 rxX+UUWP
>>984
ああ、後からタクトつけた時、ソフト直さなくっても大丈夫だ。とか思ってた。
シミュレーション中もファイルレジスタ一覧見て大丈夫だとかおもってたなぁ。
そこも一応、直してからアップするべきだったねスマン
スタックオーバーフローを疑った理由はLEDが点いたままか消えたままでとまることが多かったから、
メイン(メインはループだから)の最初に戻れば消えるはずなのにトカ思ってた。
ループのとこに戻って回ってたのね。
しかしあれだな、問題ない所でばっかり、割り込みシミュレかけてたってことだな。
986:774ワット発電中さん
05/05/04 02:15:34 ZeeEWnTw
>>985 もう少しでも謙虚さがあるといいと思いまつ 低レベルなんだから
987:774ワット発電中さん
05/05/04 02:21:46 EvFpH1/D
おれもそう思うぞ。
、、、、、、、、、、、、かつ、これで、思い通りの動作になるのかかなり疑問
988:774ワット発電中さん
05/05/04 02:55:37 rxX+UUWP
>>986, >>979-980
まあ、そういう事は俺より先に書いてから言うんだな。低レベル
煽るんならちゃんと煽れよ。
>>987
心配ありがとう
このテストソフト自体は、書き直したらちゃんと動いたよ。
メインで作ってる方はノイズ対策とかチャタ対策とボタン反転対策とか
その辺はやってあるんで大丈夫だよ。
まあ、低レベルみたいだから考えられる範囲が狭いかも知れんけどね!!!
飛びまくりの2千行(実質1000ぐらいかな)無駄にならずにすんだよ。一応動いてるみたいだよ。
いままで、300行以下の簡単なテスト3個から大幅なレベルアップw
989:774ワット発電中さん
05/05/04 03:18:15 ZeeEWnTw
>>988 書き込みが先かどうかじゃないでしょ.漏れはソース見て1分しないでわかりますた.
990:774ワット発電中さん
05/05/04 03:21:31 Ln9twc38
そういえば次スレは?
991:774ワット発電中さん
05/05/04 03:22:30 ZeeEWnTw
いや くだらなくてはづかしいや.ROMにもどりまつ.
992:774ワット発電中さん
05/05/04 03:33:53 rxX+UUWP
つーか相手に低レベルとか言って、その低レベルな相手に一蹴されて、
それでも、俺はお前より上なんだよと何度も食い下がってるお前に萌えw
しかもお前低レベルだよとか言われてるの、もう見てられない。
PICしか、無いんだろうか。。。。かわいそうな人だな。
市んじぇばいいのに、、、
993:774ワット発電中さん
05/05/04 03:34:58 PipwGKkA
さて、このスレッドを封印するか。
994:774ワット発電中さん
05/05/04 03:40:15 rxX+UUWP
【お手軽】PIC専用のスレPart4【マイコン】
スレリンク(denki板)l50
995:774ワット発電中さん
05/05/04 03:41:04 rxX+UUWP
>>993
次スレ立てたからいいですよ。お ね が い
996:774ワット発電中さん
05/05/04 03:50:12 ZeeEWnTw
巡回で光っているスレなのでみてしまった...
rxX+UUWP いるんだなおまえのようなヤツが
一蹴されたとは全然思ってないよ(w
ちなみにルネサススレ,FPGAスレにもいるんでよろしく
997:774ワット発電中さん
05/05/04 05:02:03 HBo7LBp8
>>992
とりあえずオマエ自身が「PICは、MS-DOSのBATと50歩100歩だよ。」と言ってるものすら
理解できてない低レベルなヤツだという事はわかった。
998:774ワット発電中さん
05/05/04 11:40:06 axJrK9tF
思い込みが激しい奴は何をやってもダメ
999:774ワット発電中さん
05/05/04 11:53:08 0NUT9zHu
あ
1000:774ワット発電中さん
05/05/04 12:20:33 OUSt/0+E
1000get
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。