LED回路 工作部屋 > キャラクタディスプレイ モジュールの使い方 【最終更新日:2011/2/1】
キャラクタディスプレイ モジュールの使い方
LCDの端子解説
ピン番号 名 称 用 途 説 明
1 Vss GND
2 Vdd 電源 +5V
3 Vo 液晶文字のコントラストの調整
4 RS レジスタ選択(制御データ ="H"または文字データ ="L")
5 R / W Read ="H" または Wright ="L" 選択
※Wrightしか使用しない場合はGNDに接続
6 E ENABLE (通常"L"で、"H"にすることでLCDにデータを送る。L→H→Lでデータ送信。"→"の時間は0.22μsec以上あける)
7 DB0 4ビット制御では不要
接続なし
8 DB1
9 DB2
10 DB3
11 DB4 1バイト(8ビット)のデータを上位・下位の4ビットに2分割してLCDに制御・データ(文字)を送る
【注意】データは上位ビット(4bit〜7bit) → 下位ビット(0bit〜3bit)の順で送る
12 DB5
13 DB6
14 DB7
初期化の手順
↓設定No↓ bit7(DB7) bit6(DB6) bit5(DB5) bit4(DB4) bit3(DB7) bit2(DB6) bit1(DB5) bit0(DB4)
上  位 下  位
wait 電源ON後、15msec以上待つ
@ 0 0 1 1 8bit送信なので不要
初期化するためのキーコード。このコードを3回送信することで初期化することをLCDに知らせる (1回目)
wait 4.1msec以上待つ
@ 0 0 1 1 8bit送信なので不要
初期化するためのキーコード。このコードを3回送信することで初期化することをLCDに知らせる (2回目)
wait 100μsec以上待つ
@ 0 0 1 1 8bit送信なので不要
初期化するためのキーコード。このコードを3回送信することで初期化することをLCDに知らせる (3回目)
wait 40μsec以上待つ
A 0 0 1 0 8bit送信なので不要
制御データ、文字データを4bit送信するためのコード (このコードをもって上位・下位の4bit送信となる)
wait 40μsec以上待つ
B 0 0 1 0 1 0 0 0
bit5 = bit2〜4の、【1】機能設定する、【0】機能設定しない
bit4 = 【1】データ8bit長、【0】データ4bit長
bit3 = 【1】2行表示、【0】1行表示
bit2 = 【1】5 x 7 ドット文字、【0】5 x 10 ドット文字
C 0 0 0 0 1 1 0 0
bit3 = bit0〜2の、【1】機能設定する、【0】機能設定しない
bit2 = 【1】ディスプレイ-ON、【0】ディスプレイ-OFF
bit1 = 【1】カソール-ON、【0】カソール-OFF
bit0 = 【1】ブリンク-ON、【0】ブリンク-OFF
※ブリンクとは表示文字上を反転点滅表示すること
D 0 0 0 0 0 0 0 1
ディスプレイクリア
wait 1.64msec以上待つ
E 0 0 0 0 0 1 1 0
bit2 = bit0〜1の、【1】機能設定する、【0】機能設定しない
bit1 = 【1】左から右へ書込む、【0】右から左へ書込む
bit0 = 【1】表示シフト有、【0】表示シフト無
【↓初期化のプログラム参考↓】
LCD_setup
 call Wait_20ms ;15msec以上待つ(20msec待ち)
 movlw b'00110000' ;設定@を3回送る 1回目
 movwf PORTB
 bsf E ;
 bcf E ;
 call Wait_5ms ;4.1msec以上待つ(5msec待ち)

 movlw b'00110000' ;設定@を3回送る 2回目
 movwf PORTB
 bsf E ;
 bcf E ;
 call Wait_02ms ;100μsec以上待つ(200μsec待ち)

 movlw b'00110000' ;設定@を3回送る 3回目
 movwf PORTB
 bsf E ;
 bcf E ;
 call Wait_01ms ;40μsec以上待つ(100μsec待ち)

;↓4bit入力指定↓
 movlw b'00100000' ;設定A
 movwf PORTB
 bsf E ;
 bcf E ;
 call Wait_01ms ;40μsec以上待つ(200μsec待ち)

;↓各種設定↓
 movlw b'00101000' ;設定B
 call RSS ;制御データ送信

 movlw b'00001100' ;設定C
 call RSS ;制御データ送信

 movlw b'00000001' ;設定D
 call RSS ;制御データ送信

 movlw b'00000110' ;設定E
 call RSS ;制御データ送信



RSS ;制御データセット
 call Wait_01ms
 movwf Lcd
 andlw b'11110000' ;下位bitをマスク
 movwf PORTB
 bcf RS
 bsf E
 bcf E

 swapf Lcd,0 ;上位と下位を入替
 andlw b'11110000'
 bsf E
 bcf E
 return

書込み位置を設定するコード
bit7(DB7) bit6(DB6) bit5(DB5) bit4(DB4) bit3(DB7) bit2(DB6) bit1(DB5) bit0(DB4)
上  位 下  位
E 1 1 0 0 0 1 0 0
bit7 = 位置の設定を、【1】する、【0】しない
bit6 = 【1】2行目から、【0】1行目から
bit0〜3 = 書込み番地の指定
※上記の例では、2行目の4番地から書込みを行う設定となる