昨日、今日はハムフェアで、ビッグサイトは賑あっていることでしょう。
今年は、自作品も出せず、本業も忙しくていけませんでしたが、今日は、夏休みから検討していた¥100で購入したMiniLCDの表示プログラムがほぼ出来上がりましたので日記で紹介することにしました。
このLCD自体はジャンク的に売っているもので、仕様が全く不明のものですが、ありがたいことにしっかり解析いただいた方がおられ、サイトで公開されています。当局もこれを参考にBASCOM−AVRで制御してみました。
nyaninyaさん、ありがとうございます。
http://blogs.yahoo.co.jp/nyaninya/40704212.html
LCDの表示制御は、160ビットのシフトレジスタに各セグメントデータを書き込むことによって行います。
セグメント番号とレジスタの160ビットの関係は、上記サイトで紹介されている通りですが、例えば、8桁の英数字を表示するのに、各桁データを各セグメントデータに変換するのに、あ〜でもない、こ〜でもないと、悩みながらやっとのことでそれらしく表示できるようになりました。
プログラムの概要は以下の通りです。
(1)8桁データの入力
まず、8桁のデータをアスキーコード(8bit)でシリアル入力します。
従って、トータルで64ビットのデータを取り込みます。
これらは、桁ごとに8個の8ビットデータとして配列格納します。
(2)桁データの分析とセグメントデータへの変換
次に、桁ごとに表示されるデータを分析し、そのデータに必要な桁ごとのセグメントを確定します。
(3)セグメントデータから送信データへの変換
何桁目のどのセグメントを表示するか確定しましたので、LCDに送信する160ビットのどのデータに相当するのか1セグメント毎に変換します。
(4)8桁分の変換が完了したら、LCDに160ビットデータとして送信します。これで表示が完了です。
詳細はプログラムを参照ください。
回路図
プログラム
MiniLCD0800824.bas
データ送信からのデータで表示動作中の動画
MOV00823.MPG


このLCD、私もお裾分けにあずかったのですが、資料はないかと探したら辿り着きました。(笑) シフトレジスタ式なのですね。 どうりでピン数が少ない訳です。 何か旨く使えそうですか?
加藤さんのBLOGの方で先に書いてしまいましたけど、小型のTRXの表示用としてATTiny2313をLCDの基板の後ろに抱かせて周波数表示と簡易Sメーター位には使えると思います。
次の日記で書きましたが、これに外付けぶ分周器で99MHzまでの周波数カウンタを作りました。分周器無しだと6MHz位までですね!