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

LCDキャラクタディスプレイモジュールを使う、イニシャライズ動作解説編。

前回は、PICからLCD表示機にデータを送るプログラムを作ったので、今回は、これを使ってLCD表示機を初期化(イニシャライズ)する動作の解説をします。

 

下のブロック図は、LCD表示機を4ビットで動作させるのに必要なコマンドを送るものです。

ブロック図の解説。

電源が入るとLCD表示機は安定するまで15mS程かかりますから待機します。

RS信号は、制御レジスタにデータを送るので0にセットします。

R/W信号は、書き込み(PICからLCD表示機へデータを送る)ですから0にセットします。

データはPORTBの上位4ビットから送りますから、PORTBに0x30をセットします。

準備ができたので、E信号(データ取り込み指示)を1にして、すぐに0に戻します。

ここで、4.1mS以上待機。

RSとR/W信号は変える必要がないので操作は無しです。

送るデータは変わりませんから、PORTBの操作は無しです。

準備ができたので、E信号(データ取り込み指示)を1にして、すぐに0に戻します。

ここで、100μS以上待機。

RSとR/W信号は変える必要がないので操作は無しです。

送るデータは変わりませんから、PORTBの操作は無しです。

準備ができたので、E信号(データ取り込み指示)を1にして、すぐに0に戻します。

ここで、100μS以上待機。

この時点で、LCD表示機は8ビットモードになります。

今回は、4ビットモードで使用するので、

RSとR/W信号は変える必要がないので操作は無しです。

送るデータが変わりますから、PORTBに0x20をセットします。

準備ができたので、E信号(データ取り込み指示)を1にして、すぐに0に戻します。

ここで、100μS以上待機。

この時点で、LCD表示機は4ビットモードになります。

 

次に、LCD表示機の初期設定をします。

4ビットモードでは8ビットの命令を、2回に分けて送ります、上位4ビットを送ってからすぐに下位4ビットを送らねばなりません、

データを送信するサブルーチンでは、8ビットのデータを指定してコールすると、後は制限に従って上位4ビットと下位4ビットを送ってくれます。

従って、TXdetaに、0x28を入れてサブルーチンを呼びます。

次に、TXdetaに、0x0Eを入れてサブルーチンを呼びます。

次に、TXdetaに、0x01を入れてサブルーチンを呼びます。

次に、TXdetaに、0x06を入れてサブルーチンを呼びます。

これで、初期設定は終わりで、次から、LCD表示機に表示する文字データを送ると文字が表示されます。

 

今回はここまで、次回は、初期設定の内容と、実際のC言語プログラムを説明します。