1602互換 LCD の使い方 ① 基礎知識

63 LCD

1602互換 LCD (以下 1602) の使い方のまとめです

  • 信号線の種類
    1602 の信号線には RS, R/W, Enable と D0 ~ D7 のデータ用の線があります。
  • 一度に扱うデータのモードについて
    1602 には一度に 4bit を書き込む 4bit モードと一度に 8bit を書き込む 8bit モードがあります。
    4bit モードでは D4 ~ D7 に 4bit ずつに分けて2回、データを送ります。
    1602 を I2C で制御する場合、1602 を 4bit モードにして各種信号 4bit と LCD 用の信号 4bit の計 8bit を I2C のデータとして送ります。
  • 1602 の信号線と I2C に送るデータの対応
    bit 7~ 4: データの D7 ~ D4 (1回目), D3 ~ D0 (2回目)
    bit 3: バックライト、1 で点灯
    bit 2: Enable、この信号を 1 → 0 にするとデータが送られます
    bit 1: R/W、1 で Read、0 で Write
    bit 0: RS (下記 4番参照)
  • 書き込みデータの種類
    書き込みデータには制御コマンドと表示データが有ります
    Register Select (RS) 信号で切り替えます
    RS が 0 ならコマンド、RS が 1 なら表示データです。
  • 制御コマンドの種類
    bit 7 ~ 1 が 0: 画面クリア
    bit 7 ~ 2 が 0: カーソルをホームポジション (左上) へ
    bit 7 ~ 3 が 0: Entry Mode、bit 1 でカーソルの移動方向 (1 = 右)、bit 0 でスクロールの有無 (1 でスクロールあり)
    bit 7 ~ 4 が 0: 画面のオンオフ、bit 2 が 1 で画面オン、bit 1 が 1 でカーソル表示、bit 0 が 1 でカーソル点滅
    bit 7 ~ 6 が 0: 機能設定、bit 4 が 0 で 4bit モード、bit 3 が 1 で 2行表示モード、bit 2 が 0 で 5 x 8 ドットのフォントを使用
    bit 7 が 0: 書き込み位置設定、0x80 で 1行目の先頭、0xC0 で 2行目の先頭

次回は実際のコードを組んでみます

C言語では bit 操作の経験がありますが
Python ではどのようにやるのだろうか、その勉強も兼ねて
まずは I2C を使わずに 4bit モードで LCD の文字表示に挑戦してみます

コメント