PIC初心者用掲示板

★★ 質問する前に下記をチェック ★★
(PICに関する疑問は必ず解決するはず)
←←←「電子工作の実験室」へ
←←←← 

■最新ツリー一覧

□このツリー付近のツリー一覧

★新規ツリー作成

◆ 9953. TMR0とINTEDGの使用方法と同時使用 [まちゃき2006/03/17 21:04
    ┗ 9954. Re: TMR0とINTEDGの使用方法と同時使用 [初心者?2006/03/17 21:39
        ┗ 9959. Re: TMR0とINTEDGの使用方法と同時使用 [まちゃき2006/03/18 09:22
            ┗ 9960. Re: TMR0とINTEDGの使用方法と同時使用 [ 2006/03/18 09:31
    ┗ 9962. 投稿者削除 [ ] 2006/03/18 11:24


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