インターバルタイマ
by K.I
Index
内蔵CR発振で、最大約54分の単純なインターバルタイマ。
- 時間を変更するのは、プログラムを変更する必要があります。
- 電源電圧範囲3.0〜5.5V
- 50msの割込みをカウントして、インターバルタイマとしている。
- コンパイラ無しでも修正出来るように、アセンブラで記述した。
[top]
MicroChip社の 12F675を使用。
- TXLをLにしている間、
- HTIMEに指定した時間、TXDをHに、
- LTIMEに指定した時間、TXDをLに、を繰返す。
- ワンショットになっているので、最低限HTIMEの時間H出力される。
- TXLがHでTXDがLの場合は、スリープ状態になる。→TXLがLでウェイクアップ
- プログラムの、LTIME(Lowの時間)、HTIME(Highの時間)を設定する。
LTIME EQU -(4*60+50)*20 ;4分50秒 -(min*60+sec)*20
HTIME EQU -(0*60+10)*20 ; 10秒 -(min*60+sec)*20
- LTIME,HTIMEは、最大65536/20=約3276秒=約54分
注: Default Radixが10進になっていることを確認すること!
[top]
- 簡単なプログラムだが、いろいろ基本的なプログラムが入っている。
- 50msタイマ割込みと、それをカウントしての長時間のタイマ
- タイマ割込みによる、チャタ処理
- GPIOの変化によるスリープからのウェイクアップ
- デフォルトのRadixがHEXになっているのに気が付かず、10進でタイマ値設定して嵌まった。
- Radixの間違いは、意外と気が付かないので注意が必要だ。
[top]
[top]
[電子工作関連に戻る]