LCDキャラクタディスプレイモジュールを使う、イニシャライズプログラム作成編。
回は、今までの資料を基にLCD表示機をイニシャライズするプログラムを作成する。
下がLCD表示機をイニシャライズするC言語プログラムです。
では、プログラムの解説。
65行目;イニシャライズするプログラムの名称です、メインルーチンからLCDinit();で呼び出して、LCD表示機を初期化します。
67行目;LCD表示機に電源が投入されてから、15mS以上の待機が必要ですから、ここでは、余裕をかませて、50mS待機することにしました。
68~70行目;RS及びW/R及びEを0に設定しています。
71行目;データラインに3を出力します(0x03を送っていますが有効なのは上位4ビットなので、3を出力しています)
72~73行目;Eを1にしてから0に戻しています(この時データがLCD表示機に取り込まれる)。
74行目;仕様により4.1mS以上の待機が必要ですから、ここでは、余裕をかませて、5mS待機することにしました。
RS及びW/R及びデータに変更はないので、これにかかる命令は必要はありません。
75~76行目;Eを1にしてから0に戻しています。
77行目;仕様により100μS以上の待機が必要ですから、ここでは、100μS待機することにしました。
RS及びW/R及びデータに変更はないので、これにかかる命令は必要はありません。
78~79行目;Eを1にしてから0に戻しています。
80行目;仕様にはありませんが、ここでは、100μS待機することにしました。
ここで、LCD表示機は8ビットモードで動作しています。
81行目;送るデータが変わりますので、2を出力します。
82~83行目;Eを1にしてから0に戻しています。
84行目;仕様にはありませんが、ここでは、100μS待機することにしました。
ここで、LCD表示機は4ビットモードで動作しています。
ここまでは、上位4ビットのみのデータ送信で、サブルーチンLCDdetaSENDの仕様に馴染みませんから、直接制御しています。
85行目;サブルーチンLCDdetaSENDに、LCD表示機に送るデータ0x28をセットしてコールします。
86行目;サブルーチンLCDdetaSENDに、LCD表示機に送るデータ0x0Eをセットしてコールします。
87行目;サブルーチンLCDdetaSENDに、LCD表示機に送るデータ0x01をセットしてコールします。
88行目;サブルーチンLCDdetaSENDに、LCD表示機に送るデータ0x06をセットしてコールします。
以上で、LCD表示機のイニシャライズ(初期設定)は終わりました。
後は、文字データを送って実際に文字を表示あせますが、それは、次回にします。