Last Updated on 2014年5月19日 by kabekin
製作中のFM-7デバッグパネルにHD44780互換のCLCDコントローラを使ったサブディスプレイを取り付ける為実験してみました。
当初、デバッグパネルには星光電子のTypeEユニットをI/OにしたスイッチとLEDを付けるのみで考えていました。
しかし、FLEXのアセンブラでのデバッグ苦戦で何か文字表示できる小さなサブディスプレイ欲しい・・・
と言うわけで、PICやH8マイコン等で手軽に使われている文字ディスプレイをFM-7に取り付けてデバッグに役立たせたいと思います。
今回は秋月電子で購入したSUNLIKEのSC1602Bを使ってみます。
青背景で白文字のカッコいい文字LCDです^^
色々調べるとHD44780(互換)のコントローラの情報はネットで大量に見つかります。
(LCD付属のデータシートが英語版なので参考サイトが心強いです^^)
ここのサイトが分かりやすいです→ http://miqn.net/periph/12.html
LCDとPICやH8,ARM等にGPIO経由で接続されている例は多いのですが、68系バスに接続している参考例は見つけることができませんでした。
色々調べるとHD44780系のLCDコントローラ68系のMPUに接続するように設計されているようで、
PICやH8で使用する時のように読書きタイミングをソフト上で作成する必要がないようです。
データシートを見ると68系MPUの1MHzと2MHzクロックでのアクセスタイミングが書かれておりE信号の同期で6809のデバイスそのものでした。
と言うことは、読書き信号のプログラム不要で特に何も考えなくても接続できるという訳で、
こんなところにも究極のMPUが見え隠れしております^^
となると、6809搭載のFM-7やS1ではアドレスデコードするだけで接続できるという訳で、早速接続してみました。
手持ち部品の関係とできるだけ配線を少なくしたいという怠慢からI/Oエリアは$FDFE~$FDFFに決定^^;;
これで手持ちの74LS30と74LS00の2個で完結できます。
デバッガ用のI/O基板
左側の空いたスペースにTypeE用のI/Oバッファを入れる予定です。
何も難しいことを考えず$FDFE~$FDFFが選択されたときだけEを通過させて指示開始とデータ確定を与えます。
私のはこんな感じで実験してみました
とにかく簡単に試したかったのでデータバスにバッファを入れていません。
その為、R/#WはLに固定し書込み専用にしています。
(レジスタ読出しを可能にしポーリング式にする場合はデータバスバッファを入れた方が良さそうです)
書込み専用で使っていますので、CLCDへの指示はディレイ式で行います
今回はF-BASICのPOKE命令で簡単に試していますので命令指示後の待ち時間は不要っぽいですがアセンブラで使う場合は命令によってウエイトが必要です。
回路の動作を確認するためF-BASICでテストしてみました。
この手のCLCDを使うには最初にCLCDを初期化して、あとは文字コードを垂れ流しで表示できるようです。
但し、改行コード処理と表示可能文字数とバッファ文字数の違いをソフトで細工する必要があります。
次回、F-BASICで作ったCLCD表示テストプログラムやCLCD使用時のポイントをまとめてみたいと思います(^^)