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番地から書込みを行う設定となる |