PIC内蔵タイマについて
2012-01-01
LCメータ作成難航の裏で、タイマの使い勝手が色々と解ってきました。備忘録としてまとめておきます。
・タイマ#0
T0CKIからカウントしたい信号を入れることができるが、
内蔵バッファがシュミットトリガのものもあるため、カウンタ
入力としては好都合。
但し、プリスケーラは周波数カウンタ用途にはちょっと
使いづらく、結果的にプリスケーラは使わずに256カウント
毎のオーバフローをルックインするソフト処理が必要。
・タイマ#1
T1CKIを用いたカウンタの構成以外に、CCPモジュール
との連携(コンペアモード)で逆に「プリセットした時間が
経過した後のポート出力(ON/OFF)」ができ、これで外部の
ゲートをコントロールすると正確なゲートが作れるが、
出力状態がラッチされるため、この解除には「CCPリセット」
が必要。
・タイマ#2
USARTなどを使わないと活躍の場が無さそうだが、単純な
タイミング生成などには有効。LCDの初期化/表示時の
msオーダの時間生成は比較的簡単であり、使い方次第。
また、PWMモードでデューティ比50%の波形出力を上手く
使うと、周波数カウンタの外部ゲートコントロールが可能。
また、もっと新しいPIC16Fシリーズ・・・例えばPIC16F1823などのタイマ#1には、お誂え向きにタイマ#0のタイムアウトによるゲートコントロールが付いています。LCメータや周波数カウンタの作成にはこちらの方が便利そうですね
・タイマ#0
T0CKIからカウントしたい信号を入れることができるが、
内蔵バッファがシュミットトリガのものもあるため、カウンタ
入力としては好都合。
但し、プリスケーラは周波数カウンタ用途にはちょっと
使いづらく、結果的にプリスケーラは使わずに256カウント
毎のオーバフローをルックインするソフト処理が必要。
・タイマ#1
T1CKIを用いたカウンタの構成以外に、CCPモジュール
との連携(コンペアモード)で逆に「プリセットした時間が
経過した後のポート出力(ON/OFF)」ができ、これで外部の
ゲートをコントロールすると正確なゲートが作れるが、
出力状態がラッチされるため、この解除には「CCPリセット」
が必要。
・タイマ#2
USARTなどを使わないと活躍の場が無さそうだが、単純な
タイミング生成などには有効。LCDの初期化/表示時の
msオーダの時間生成は比較的簡単であり、使い方次第。
また、PWMモードでデューティ比50%の波形出力を上手く
使うと、周波数カウンタの外部ゲートコントロールが可能。
また、もっと新しいPIC16Fシリーズ・・・例えばPIC16F1823などのタイマ#1には、お誂え向きにタイマ#0のタイムアウトによるゲートコントロールが付いています。LCメータや周波数カウンタの作成にはこちらの方が便利そうですね

- 関連記事
-
- 寄る年波には勝てぬ・・・でもC言語は便利(^^;
- PIC16F拡張版の思い出し
- PIC内蔵タイマについて
- PICの演算ライブラリ
- A/D変換も制圧!!