当ブログをご覧いただき、ありがとうございます。
ご注意事項:
記載内容には、十分注意しておりますが、勘違い、記憶違い、理解不足、思い込み等が無いとは限りませんので、申し訳ありませんが、 記載内容の正確性は保障致しません(出来ません)。
従いまして、このブログの内容を参考にする事に起因して生じる、または 生じた、いかなる事態にも、当方は何の責任も取れませんので、 参考にされる場合は、自己責任にてお願い致します。
このブログのC言語に関する説明には、PICで電子工作するのに必要な事柄以外(私のレベルで)は出てきません、出てこないことの方が多いと思いますので、ご了承願います。

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表示機のイニシャライズ(初期設定)は終わりました。

後は、文字データを送って実際に文字を表示あせますが、それは、次回にします。