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

LCDキャラクタディスプレイモジュールを使う、セットCGRAMアドレス命令

今回も、LCD表示器、SD1602VBWB-XAの制御命令(コマンド)を説明します。

今回は、セットCGRAMアドレス命令です。

命令コード;RS=0、R/W=0、DB7-0=01******

       *;アドレスを示す値を入れる、入れることのできる値は、0x40~0x7F(*に入れる値は、0x00~0x3Fだが、

        7ビット目が1であるから加算してこのようになる)である。

命令実行時間;39μS

この命令は、ユーザー文字表示データを、CGRAMに書き込む時に、書き込むアドレスを指定する。

 

CGRAMアドレス下位3ビット位置図

CGRAM用データの作り方の図

 

CGRAM用データの、ライトRAMデータ命令のデータは、8ビットであるので、上位3ビットは、必ず000にしてから送る。

例;上から2番目のラインのCGRAM用データは、000 10001で、0x11を送る。

キャラクターパターン表

セットCGRAMアドレスは、次にように指定します。
アドレスの有効ビット数は、6ビットで、上位3ビットでキャラクターコードのCGRAM位置により000(CGRAM(1))~111(CGRAM(8))となり(上図キャラクターパターン表参照)、下位3ビットは、キャラクタパターンのラインの位置をにより000(一番上のライン)~111(一番下のライン)(CGRAMアドレス下位3ビット位置図)となります、

例;CGRAMアドレスは、CGRAM(3)の上から5番目は、上位3ビットが010、下位3ビットが、100となり、セットCGRAMアドレス命令で送るアドレスは,0x14(コマンドとしては0x54)になります。

なお、1文字分のデータを送る時は、CGRAMアドレス上位3ビットでCGRAMの位置を指示し、下位3ビットは000を指定して、セットCGRAMアドレス命令を送り、続けて、8個のCGRAMデータを上のラインの分から送ればよい(エントリーモード命令0x06が先に実行されていること)。