連載
» 2007年03月19日 00時00分 UPDATE

H8で学ぶマイコン開発入門(7):LCDに文字を表示させるプログラミング (1/3)

マイコンに接続された各種デバイスは、液晶画面でその状態を確認できると便利だ。そこで今回は、LCDの制御について解説しよう

[山本 繁寿 ソフィアシステムズ,@IT MONOist]

 本連載で使用しているターゲットボード(第6回を参照)には、LEDやモータなどが接続されています。これらの装置の状態をLCD(Liquid Crystal Display)に表示させることができます。例えばLEDを点灯させた場合は、LCDに文字列「LED TEST」を表示させるといった処理です。そこで今回は、LCDの制御について解説します。

ターゲットボードに搭載されたLCDの仕様

 ターゲットボードに接続されているLCDは、16けた×2行、5×7ドットマトリクス+カーソルの表示能力があります。LCDの制御信号とデータバスは、下記表のようにH8/3048F-ONEのポート4(P4)に接続されています(表1)。

LCDが接続されるポート 表1 LCDが接続されるポート

 本連載で使用しているターゲットボードでは、7本の信号線でLCDを接続しています(LCDは4ビットモードで動作)。このため、LCDに1文字を出力するためにはプログラムが若干複雑になり、上位4ビットと下位4ビットを2回に分けて出力する必要があります(図1)。

LCD接続の回路図 図1 LCD接続の回路図

LCD処理の流れ

 LCDの操作は、データ信号(DB4〜DB7)、レジスタセレクタ信号(RS)、リードライト信号(R/W)およびイネーブルパルス信号(E)を用いて行います。処理の流れは、以下のとおりです。

ay_h807_03.gif

使用するレジスタ

 ユーザーが使用できるレジスタには、以下の2つがあります(表2)。

LCD使用するレジスタ 表2 LCD使用するレジスタ

 これらのレジスタは、表3のレジスタセレクタ信号(RS)で選択します。

レジスタセレクタ信号(RS) 表3 レジスタセレクタ信号(RS)

ビジーフラグ:BF

 LCDは2枚のガラス板の間に閉じ込めた液晶に電圧を掛けることで液晶分子の方向を変え、光の透過率を加減することで像を表示する仕組みになっています。液晶分子の方向を変えるためには時間がかかります。ビジーフラグ(BF)は、LCDモジュールが次の命令を受け付けられる状態にあるかどうかを示します。

 BF=1のときは命令実行中状態であり、次の命令は受け付けられません。BF=0のときは次の命令を受け付けることができます。よって命令を実行する際にはBFの値をモニタする必要があります。もしBFの状態を確認せずに命令を実行するのであれば、各命令の実行時間以上の待ち時間を設けて次の命令を実行します。

アドレスカウンタ:AC

 アドレスカウンタ(AC)は、DD RAMやCG RAMへデータを書き込む際のアドレスおよびDD RAMやCG RAMに記憶されているデータを読み出す際のアドレスを、アドレスセット命令により7ビットで指定します。アドレスは一度セットされると、以後書き込みや読み出し命令が実行されるたびに、自動的に次のアドレスに再セットされます。

表示データRAM:DD RAM

 DD RAMは80×8ビットの容量を持ち、8ビットの文字コードで表される表示データを80文字分記憶します。DD RAMアドレスと表示けたの対応関係は表4のとおりです。

DD RAMアドレスと表示けたの対応関係 表4 DD RAMアドレスと表示けたの対応関係

 LCDは16けたですので、先頭位置から16けた分が2行表示されます。1行目の最後と2行目の最初のアドレスは連続しません。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.