(2011-12-31)5年近く前に検証途中で放置したままです。特に技術的に難しい点はなく、このまま検証を進めながら必要な箇所に修正を施せば完動を確認できたと思いますが、キャラクター液晶が安く手に入る中、あまり時間をとる意義がないので途中でやめてしまったのだと思います。
他の参考資料としてはAVRのAppNoteに「AVR241 Direct driving of LCD display using general IO on tinyAVR and megaAVR devices」というのがあります。このAppNote付属ソースのコンパイルには有償の「IAR Embedded Workbench」が必要です。
(2014-1-19)現在、IAR Embedded Workbenchは無料化されているのでAVR241をコンパイルしてみました。さして苦もなくビルドに成功しました。AVR-GCCへのポーティングも簡単そうです。
あと、本ページメインコンテンツの、分圧で中間の電圧を生成する方式が完全に成功しなかった件に関して、上記AVRのAppNoteでは、液晶内部の抵抗や容量成分をうまく利用することで、マイコン・液晶間を直結で済ませています。その代わり駆動パルスは30Hzに合わせる必要があります。

私も試してみようかなと思いましたが、コントローラのないLCDの駆動なので割と面倒です。
一桁だけで検証しようと思い、PIC16F84A用のプログラムを書いてみました。
本プログラムは未検証です(シュミレータで動作させたのみ)。
実際に検証をおこなってみました。今のところ問題ありです。現状、一部の文字は綺麗に表示できていません。2と4の表示が特におかしいです。原因として考えられるのは1.エクセルで作成したデータの誤り、2.配線の誤り、3.不適切なタイミング、4.不適切な分圧抵抗あたりでしょうか?
当初アップしていたプログラムにバグがありましたので修正して検証時に実際に使用しているものを再アップしました。(2007-4-22)
またエクセルファイル内に掲載している接続表にも誤りがありました。こちらはまだ再アップしていません。訂正内容は後述しています。読み替えてご使用下さい。
導電性両面テープ、接着剤などは持っていないので液晶との接続用に配線用の基板を用意しました。
電卓のケースで液晶と配線用の基板を挟みんで固定します。(ケースで挟まなくても軽く接着はされていますが..)
PORTがHighで3V
PORTがLowで0V
PORTを入力にすると、分圧により作られた1.5V
という方法で3値をとることを前提としています。
確か実際に3値がとれることを確認したと思います。分圧抵抗は100KΩくらいだったと思います(うろ覚え)。
現在使用している分圧抵抗は18kΩです。
プログラムは0から9にドットを合わせた合計10文字を約1秒毎に切り替えて順に表示します。
一文字の表示に6つの状態が必要なので、以下の表に示すように合計60の状態をとることになります。
接続表に訂正があります。27ピンはRB0、1ピンはRB1、2ピンはRB2に接続して下さい。
xlsファイル
ソース
MPASM形式 2007-4-22 更新
※ieの場合、直接開けないことがあるようです。
自由にお使い下さい。
ご要望、ご意見、質問を下のフォームにどうぞ
(でもここより、掲示板や書き込みフォームのページに書いて頂いた方が気づき易いと思います。)
- LCDメーターのページリンクが切れてました http://ojisankoubou.web.fc2.com/lc-meter/index.html
-- とおりすがり? 2008-05-02 (金) 04:38:12
- どうもありがとうございます。 -- disklessfun? 2008-05-05 (月) 18:49:48