マイコンに接続された各種デバイスは、液晶画面でその状態を確認できると便利だ。そこで今回は、LCDの制御について解説しよう。
本連載で使用しているターゲットボード(第6回を参照)には、LEDやモータなどが接続されています。これらの装置の状態をLCD(Liquid Crystal Display)に表示させることができます。例えばLEDを点灯させた場合は、LCDに文字列「LED TEST」を表示させるといった処理です。そこで今回は、LCDの制御について解説します。
ターゲットボードに接続されているLCDは、16けた×2行、5×7ドットマトリクス+カーソルの表示能力があります。LCDの制御信号とデータバスは、下記表のようにH8/3048F-ONEのポート4(P4)に接続されています(表1)。
本連載で使用しているターゲットボードでは、7本の信号線でLCDを接続しています(LCDは4ビットモードで動作)。このため、LCDに1文字を出力するためにはプログラムが若干複雑になり、上位4ビットと下位4ビットを2回に分けて出力する必要があります(図1)。
LCDの操作は、データ信号(DB4〜DB7)、レジスタセレクタ信号(RS)、リードライト信号(R/W)およびイネーブルパルス信号(E)を用いて行います。処理の流れは、以下のとおりです。
ユーザーが使用できるレジスタには、以下の2つがあります(表2)。
これらのレジスタは、表3のレジスタセレクタ信号(RS)で選択します。
LCDは2枚のガラス板の間に閉じ込めた液晶に電圧を掛けることで液晶分子の方向を変え、光の透過率を加減することで像を表示する仕組みになっています。液晶分子の方向を変えるためには時間がかかります。ビジーフラグ(BF)は、LCDモジュールが次の命令を受け付けられる状態にあるかどうかを示します。
BF=1のときは命令実行中状態であり、次の命令は受け付けられません。BF=0のときは次の命令を受け付けることができます。よって命令を実行する際にはBFの値をモニタする必要があります。もしBFの状態を確認せずに命令を実行するのであれば、各命令の実行時間以上の待ち時間を設けて次の命令を実行します。
アドレスカウンタ(AC)は、DD RAMやCG RAMへデータを書き込む際のアドレスおよびDD RAMやCG RAMに記憶されているデータを読み出す際のアドレスを、アドレスセット命令により7ビットで指定します。アドレスは一度セットされると、以後書き込みや読み出し命令が実行されるたびに、自動的に次のアドレスに再セットされます。
DD RAMは80×8ビットの容量を持ち、8ビットの文字コードで表される表示データを80文字分記憶します。DD RAMアドレスと表示けたの対応関係は表4のとおりです。
LCDは16けたですので、先頭位置から16けた分が2行表示されます。1行目の最後と2行目の最初のアドレスは連続しません。
Copyright © ITmedia, Inc. All Rights Reserved.