- 9953. TMR0とINTEDGの使用方法と同時使用 [まちゃき] 2006/03/17 21:04
- はじめまして。
自動車の車速パルスに応じた処理と、リバース(後退)に応じた処理を16F84A(アセンブラ)のワンチップでやろうとしているのですが。
初心者でよくわからないのですが、私なりに調べたところ、
メイン処理で
1秒間の車速パルスをカウント数を計るために、TMR0で1秒の割り込みをかけて、カウント数に応じて分岐させ、その後リセットさせ、戻す。
その間に、リバースの信号がINTEDG(RB0/INT)に入った時、割り込みをさせて、そのための処理をさせようと考えました。
上のような考えは、フローチャート的に可能ですか?
あと、
「RA4/T0CK1端子の立下りタイミングでインクリメント」という機能を見つけたのですが、
これを使って、1秒間のカウント数を調べたいのですが、
その場合の、1秒間という時間は、他の割り込みやら、WDTとTMR0やら使わないいけないんですよね。
わかる範囲でいいので、効率がいいアドバイスをいただけますでしょうか?
- 9954. Re: TMR0とINTEDGの使用方法と同時使用 [初心者?] 2006/03/17 21:39
- >「RA4/T0CK1端子の立下りタイミングでインクリメント」という機能を見つけたのですが、
>これを使って、1秒間のカウント数を調べたいのですが、
>その場合の、1秒間という時間は、他の割り込みやら、WDTとTMR0やら使わないいけないんですよね。
まず T0CK1じゃなくT0CKI、これはTimer0の外部カウント入力なので
同時にTimer0で1秒間というインターバルを得ることは出来ません。
Timer0しか無い16F84Aなんか見限って16F648Aや16F88等を使う方が効率的だと思います。
- 9959. Re: TMR0とINTEDGの使用方法と同時使用 [まちゃき] 2006/03/18 09:22
- ありがとうございます。
>Timer0しか無い16F84Aなんか見限って16F648Aや16F88等を使う方が効率的だと思います。
なるほど・・・。勘違いしてました。
これで、OPTION_REGレジスタのT0CSとT0SEの意味がはっきりしました。
16F648Aや16F88は
秋月のライタ(v3.5)では焼けないと思ったのですが。
勉強のために、いろいろ使ってみたいです。
ありがとうございました。
- 9960. Re: TMR0とINTEDGの使用方法と同時使用 [ ] 2006/03/18 09:31
-
>16F648Aや16F88は
>秋月のライタ(v3.5)では焼けないと思ったのですが。
16F648Aや16F88は
秋月のライタ v3.5は対応していないと思います。v4への
バージョンアップが必要だと思います。
秋月ライタ v4対応PIC一覧
http://akizukidenshi.com/down/tk/picpgm_v4/index.htm#supportdevice
秋月ライタ v3.5対応PIC一覧
http://akizukidenshi.com/catalog/items2.php?q=K-00038&s=score&p=1&r=1&page=#K-00038
- 9962. 投稿者削除 [ ] 2006/03/18 11:24
-