nobcha23の日記

PICマイコンやArduinoを使う電子回路遊びを紹介します

PIC12F683 ニッケル水素電池2本で動く LCD表示周波数カウンタのまとめ

http://chitose6thplant.web.fc2.com/index.htm

左側セレクタ
「PIC12F683・・」
→「PIC12F683電池駆動簡易カウンタの実験(TC4040B)」です。

去年にPICを始めたころに8ピンPICでLCD表示をど
うするかと言う課題への回答がこのバイナリーカ
ウンタ4040Bを使用した、シフトレジスタテクニッ
クでのIFです。
ロジックICのリストから選ぶとシフトレジスタ
ら164ぐらいが候補に挙がります。そこをちょっと
ひねって、PICのプログラムも連携して4ビットIF
LCDモジュールに与える、4ビットデータとRS選
択信号をラッチ出力するにはどうするかと言う方
法論で攻めたのがこの方式の特徴です。
1という信号をレジスタでバケツリレーをするのか、
バイナリーカウンタでカウント値として伝えるの
か、PICがLCDに伝えようとするニブル値は1ディジッ
トごとの信号の積み重ねでもあるし、バイナリー
カウンタへのカウント値でもあります。カウント
値をカウンタに与えるとカウンタは計数結果とし
て、PICが指定したニブル値をレジスタに残します。
そこをすかさず、EN信号でLCDモジュールさんにお
伝えすると言うのがこの方式です。



この方式の延長で、7セグメントLEDも駆動しますが、
それはそれで、セグメントをバイナリー値として
定義するという禊を経由します。ただしそっちは
ダイナミック点灯と言う条件が重なり、ちらつきの
制限が出てきます。詳しくはまた・・・。