字符型液晶
顯示模塊原理及應(yīng)用詳解
字符型液晶顯示模塊的基本特點(diǎn)
字符型液晶顯示模塊由字符型液晶顯示屏(LCD),控制驅(qū)動(dòng)主電路HD44780及其擴(kuò)展驅(qū)動(dòng)電路HD44100,少量阻、容元件,結(jié)構(gòu)件等裝配在PCB板上而成。 字符型液晶顯示模塊目前在國(guó)際上已經(jīng)規(guī)范化,無(wú)論顯示屏規(guī)格如何變化,其電特性和接口形式都是統(tǒng)一的。因此只要設(shè)計(jì)出一種型號(hào)的接口電路,在指令設(shè)置上稍加改動(dòng)即可使用各種規(guī)格的字符型液晶顯示模塊。
1、液晶顯示屏是以若干個(gè)5´8或5´11點(diǎn)陣塊組成的顯示字符群。每個(gè)點(diǎn)陣塊為一個(gè)字符位,字符間距和行距都為一個(gè)點(diǎn)的寬度。
2、主控制驅(qū)動(dòng)電路為HD44780(HITACHI)及其他公司全兼容電路,如SED1278(SEIKO EPSON)、KS0066(SAMSUNG)、NJU6408(NER JAPAN RADIO)。
3、具有字符發(fā)生器ROM可顯示192種字符(160個(gè)5´7點(diǎn)陣字符和32個(gè)5´10點(diǎn)陣字符,見(jiàn)附錄一)
4、具有64個(gè)字節(jié)的自定義字符RAM,可自定義8個(gè)5´8點(diǎn)陣字符或四個(gè)5´11點(diǎn)陣字符。
5、具有80個(gè)字節(jié)的RAM。
6、標(biāo)準(zhǔn)的接口特性,適配M6800系列MPU的操作時(shí)序。
7、模塊結(jié)構(gòu)緊湊、輕巧、裝配容易。
8、單+5V
電源供電。
9、低功耗、長(zhǎng)壽命、高可靠性。
HY字符型液晶顯示模塊特性
一、HY系列接口特性及時(shí)序
1、HD44780讀、寫操作(時(shí)序見(jiàn)附錄二)
(1) 寫操作(MPU至HD44780)
項(xiàng)目 |
符號(hào) |
最小值 |
最大值 |
單位 |
使能周期 |
tcycE |
1000 |
- |
ns |
使能脈沖寬度 |
Pweh |
450 |
- |
ns |
使能升、降時(shí)間 |
Ter,Tef |
- |
25 |
ns |
地址建立時(shí)間 |
Tas |
140 |
- |
ns |
地址保持時(shí)間 |
Tah |
10 |
- |
ns |
數(shù)據(jù)建立時(shí)間 |
Tdsw |
195 |
- |
ns |
數(shù)據(jù)保持時(shí)間 |
Th |
10 |
- |
ns |
(2) 讀操作(MPU至HD44780)
項(xiàng)目 |
符號(hào) |
最小值 |
最大值 |
單位 |
使能周期 |
tcycE |
1000 |
- |
ns |
使能脈沖寬度 |
Pweh |
450 |
- |
ns |
使能升、降時(shí)間 |
Ter,Tef |
- |
25 |
ns |
地址建立時(shí)間 |
Tas |
140 |
- |
ns |
地址保持時(shí)間 |
Tah |
10 |
- |
ns |
數(shù)據(jù)延遲時(shí)間 |
Tddr |
- |
320 |
ns |
數(shù)據(jù)保持時(shí)間 |
Tdhr |
10 |
- |
ns |
(3) 信號(hào)真值表
RS |
R/W |
E |
功能 |
0 |
0 |
下降沿 |
寫指令代碼 |
0 |
1 |
高電平 |
讀忙標(biāo)志和AC碼 |
1 |
0 |
下降沿 |
寫數(shù)據(jù) |
1 |
1 |
高電平 |
讀數(shù)據(jù) |
2、接口引腳功能
引腳號(hào) |
符號(hào) |
狀態(tài) |
功 能 |
1 |
Vss |
|
電源地 |
2 |
Vdd |
|
+5V邏輯電源 |
3 |
V0 |
|
液晶驅(qū)動(dòng)電源 |
4 |
RS |
輸入 |
寄存器選擇1:數(shù)據(jù);0:指令 |
5 |
R/W |
輸入 |
讀、寫操作選擇1:讀;0:寫 |
6 |
E |
輸入 |
使能信號(hào) |
7 |
DB0 |
三態(tài) |
數(shù)據(jù)總線(LSB) |
8 |
DB1 |
三態(tài) |
數(shù)據(jù)總線 |
9 |
DB2 |
三態(tài) |
數(shù)據(jù)總線 |
10 |
DB3 |
三態(tài) |
數(shù)據(jù)總線 |
11 |
DB4 |
三態(tài) |
數(shù)據(jù)總線 |
12 |
DB5 |
三態(tài) |
數(shù)據(jù)總線 |
13 |
DB6 |
三態(tài) |
數(shù)據(jù)總線 |
14 |
DB7 |
三態(tài) |
數(shù)據(jù)總線(MSB) |
15 |
LEDA |
輸入 |
背光+5V |
16 |
LEDK |
輸入 |
背光地 |
注:15、16兩管腳用于帶背光模塊,不帶背光的模塊這兩個(gè)管腳懸空不接。
二、HY系列電特性
(1)絕對(duì)最大值范圍
項(xiàng)目 |
符號(hào) |
最小值 |
最大值 |
備注 |
電路邏輯電壓 |
Vdd-Vss |
0 |
7.0V |
|
液晶驅(qū)動(dòng)電壓 |
Vdd-V0 |
0 |
13.5V |
|
輸入電壓 |
VI |
Vss |
Vdd |
|
工作溫度 |
|
0 -20 -30 |
+50 +70 +80 |
常溫型 寬溫型 超寬溫型 |
存儲(chǔ)溫度 |
|
-10 -30 -40 |
+60 +80 +80 |
常溫型 寬溫型 超寬溫型 |
(2)電特性
項(xiàng)目 |
符號(hào) |
條件 |
MIN |
TYP |
MAX |
單位 |
輸入高電壓 |
VIH |
|
2.2 |
- |
- |
V |
輸入低電壓 |
VIL |
|
- |
- |
0.6 |
V |
輸出高電壓 |
VOH |
IOH=0.2mA |
2.4 |
- |
- |
V |
輸出低電壓 |
VOL |
IOL=1.2mA |
- |
- |
0.4 |
V |
電源電流 |
IDD |
|
- |
0.5 |
0.2 |
mA |
三、HY系列供電電路(見(jiàn)附錄三)
HY字符型液晶顯示模塊指令集
一、指令集
1、清屏
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 |
0 0 0 0 0 0 0 1 |
運(yùn)行時(shí)間(250Khz):1.64ms;
功能:清DDRAM和AC值。
2、歸位
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 |
0 0 0 0 0 0 1 * |
運(yùn)行時(shí)間(250Khz):1.64ms;
功能:AC=0,光標(biāo)、畫(huà)面回HOME位。
3、輸入方式設(shè)置
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 |
0 0 0 0 0 1 I/D S |
運(yùn)行時(shí)間(250Khz):40us;
功能:設(shè)置光標(biāo)、畫(huà)面移動(dòng)方式。
其中:I/D=1:數(shù)據(jù)讀、寫操作后,AC自動(dòng)增一;
I/D=0:數(shù)據(jù)讀、寫操作后,AC自動(dòng)減一;
S=1:數(shù)據(jù)讀、寫操作,畫(huà)面平移;
S=0:數(shù)據(jù)讀、寫操作,畫(huà)面不動(dòng);
4、顯示
開(kāi)關(guān)控制
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 |
0 0 0 0 1 D C B |
運(yùn)行時(shí)間(250Khz):40us;
功能:設(shè)置顯示、光標(biāo)及閃爍開(kāi)、關(guān)。
其中:D表示顯示開(kāi)關(guān):D=1為開(kāi),D=0為關(guān);
C表示光標(biāo)開(kāi)關(guān):C=1為開(kāi),C=0為關(guān);
B表示閃爍開(kāi)關(guān):B=1為開(kāi),B=0為關(guān)。
5、光標(biāo)、畫(huà)面位移
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 |
0 0 0 1 S/C R/L * * |
運(yùn)行時(shí)間(250Khz):40us;
功能:光標(biāo)、畫(huà)面移動(dòng),不影響DDRAM。
其中:S/C=1:畫(huà)面平移一個(gè)字符位;
S/C=0:光標(biāo)平移一個(gè)字符位;
R/L=1:右移;R/L=0:左移。
6、功能設(shè)置
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 |
0 0 1 DL N F * * |
運(yùn)行時(shí)間(250Khz):40us;
功能:工作方式設(shè)置(初始化指令)。
其中:DL=1,8位數(shù)據(jù)接口;DL=0,四位數(shù)據(jù)接口;
N=1,兩行顯示;N=0,一行顯示;
F=1,5´10點(diǎn)陣字符;F=0,5´7點(diǎn)陣字符。
7、CGRAM地址設(shè)置
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 |
0 1 A5 A4 A3 A2 A1 A0 |
運(yùn)行時(shí)間(250Khz):40us;
功能:設(shè)置CGRAM地址。A5~A0=0~3FH。
8、DDRAM地址設(shè)置
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 0 |
1 A6 A5 A4 A3 A2 A1 A0 |
運(yùn)行時(shí)間(250Khz):40us;
功能:設(shè)置DDRAM地址。
N=0,一行顯示A6~A0=0~4FH;
N=1,兩行顯示,首行A6~A0=00H~2FH,
次行A6~A0=40H~67H。
9、讀BF及AC值
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
0 1 |
BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 |
功能:讀忙BF值和地址計(jì)數(shù)器AC值。
其中:BF=1:忙;BF=0:準(zhǔn)備好。
此時(shí),AC值意義為最近一次地址設(shè)置(CGRAM或DDRAM)定義。
10、 寫數(shù)據(jù)
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
1 0 |
數(shù) 據(jù) |
運(yùn)行時(shí)間(250Khz):40us;
功能:根據(jù)最近設(shè)置的地址性質(zhì),數(shù)據(jù)寫入DDRAM或CGRAM內(nèi)。
11、 讀數(shù)據(jù)
RS R/W |
DB7 DB6 DB5 DB4 DB3 DB2 DB1 DB0 |
1 1 |
數(shù) 據(jù) |
運(yùn)行時(shí)間(250Khz):40us;
功能:根據(jù)最近設(shè)置的地址性質(zhì),從DDRRAM或CGRAM數(shù)據(jù)讀出。
一、直接訪問(wèn)方式接口電路及驅(qū)動(dòng)程序
直接訪問(wèn)方式的接口電路如下圖所示:

常溫型模塊V0接VSS,如要調(diào)節(jié)對(duì)比度請(qǐng)參考附圖三
直接訪問(wèn)方式的驅(qū)動(dòng)子程序如下:
A15=E的選通信號(hào),A9=R/W,A8=RS
COM EQU 20H ;指令寄存器
DAT EQU 21H ;數(shù)據(jù)寄存器
CW_Add EQU 8000H ;指令口寫地址
CR_Add EQU 8200H ;指令口讀地址
DW_Add EQU 8100H ;數(shù)據(jù)口寫地址
DR_Add EQU 8300H ;數(shù)據(jù)口讀地址
1、讀BF和AC值
PRO: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#CR_Add ;設(shè)置指令口讀地址
MOVX A,@DPTR ;讀BF和AC值
MOV COM,A ;存入COM單元
POP ACC
POP DPL
POP DPH
RET
2、寫指令代碼子程序
PR1: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#CR_Add ;設(shè)置指令口讀地址
PR11: MOVX A,@DPTR
JB ACC.7,PR11 ;判BF=0?是繼續(xù)
MOV A,COM
MOV DPTR,#CW_Add ;設(shè)置指令口寫地址
MOVX @DPTR,A ;寫指令代碼
POP ACC
POP DPL
POP DPH
RET
2、寫顯示數(shù)據(jù)子程序
PR2: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#CR_Add ;設(shè)置指令口讀地址
PR21: MOVX A,@DPTR
JB ACC.7,PR21 ;判BF=0?是繼續(xù)
MOV A,DAT
MOV DPTR,#DW_Add ;設(shè)置數(shù)據(jù)口寫地址
MOVX @DPTR,A ;寫數(shù)據(jù)
POP ACC
POP DPL
POP DPH
RET
4、讀顯示數(shù)據(jù)子程序
PR3: PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#CR_Add ;設(shè)置指令口讀地址
PR31: MOVX A,@DPTR
JB ACC.7,PR31 ;判BF=0?是繼續(xù)
MOV DPTR,#DR_Add ;設(shè)置數(shù)據(jù)口讀地址
MOVX A,@DPTR ;讀數(shù)據(jù)
MOV DAT,A ;存入DAT單元
POP ACC
POP DPL
POP DPH
RET
二、間接控制方式接口電路及驅(qū)動(dòng)程序
間接控制方式(4位總線)是利用HD44780所具有的4位數(shù)據(jù)總線的功能,簡(jiǎn)化電路接口的一種接口方式。實(shí)用電路如下:

常溫型模塊V0接VSS,如要調(diào)節(jié)對(duì)比度請(qǐng)參考附圖三
注:此種接口電路適用4位單片機(jī)或8位單片機(jī)接口不夠用的情況,因4位數(shù)據(jù)傳輸時(shí)需傳輸兩遍,所以比較麻煩,建議在單片機(jī)接口夠用時(shí),還是把8位數(shù)據(jù)口都接上。
間接控制方式的驅(qū)動(dòng)子程序如下:
RS EQU P3.3 ;寄存器選擇信號(hào)
R/W EQU P3.4 ;讀/寫選擇信號(hào)
E EQU P3.5 ;使能信號(hào)
1、讀BF和AC值
PRO : PUSH ACC
MOV P1,#0FFH ;P1置位,準(zhǔn)備讀
CLR RS ;RS=0
SETB R/W ;R/W=1
SETB E ;E=1
MOV COM,P1 ;讀BF和AC6-4值
CLR E ;E=0
MOV P1,#0FFH ;P1置位,準(zhǔn)備讀
SETB E ;E=1
MOV A,P1 ;讀AC3-0值
CLR E ;E=0
SWAP A ;轉(zhuǎn)換成8位數(shù)據(jù)
ANL A,#0FH
ANL COM,#0F0H
ORL A,COM
MOV COM,A ;送入COM單元
POP ACC
RET
2、寫指令代碼子程序
PR1 : PUSH ACC
CLR RS ;RS=0
SETB R/W ;R/W=1
PR11: MOV P1,#0FFH ;P1置位,準(zhǔn)備讀
SETB E ;E=1
MOV A,P1 ;讀BF和AC6-4值
CLR E ;E=0
MOV C,ACC.7 BF->進(jìn)位位C
SETB E ;E=1
CLR E ;E=0(讀AC3-0值)
JC PR11 ;判別BF=1?是轉(zhuǎn)
CLR R/W ;R/W=0
MOV P1,COM ;寫入指令代碼高4位
SETB E ;E=1
CLR E ;E=0
MOV A,COM ;寫入指令代碼低四位
SWAP A
MOV P1,A
SETB E ;E=1
CLR E ;E=0
POP ACC
RET
3、寫顯示數(shù)據(jù)子程序
PR2 : PUSH ACC
CLR RS ;RS=0
SETB R/W ;R/W=1
PR21: MOV P1,#0FFH ;P1置位,準(zhǔn)備讀
SETB E ;E=1
MOV A,P1 ;讀BF和AC6-4值
CLR E ;E=0
MOV C,ACC.7 BF->進(jìn)位位C
SETB E ;E=1
CLR E ;E=0(讀AC3-0值)
JC PR21 ;判別BF=1?是轉(zhuǎn)
SETB RS ;RS=1
CLR R/W ;R/W=0
MOV P1,DAT ;寫入數(shù)據(jù)高4位
SETB E ;E=1
CLR E ;E=0
MOV A,DAT ;寫入數(shù)據(jù)低4位
SWAP A
MOV P1,A
SETB E ;E=1
CLR E ;E=0
POP ACC
RET
4 、讀顯示數(shù)據(jù)子程序
PR3 : PUSH ACC
CLR RS ;RS=0
SETB R/W ;R/W=1
PR31: MOV P1,#0FFH ;P1置位,準(zhǔn)備讀
SETB E ;E=1
MOV A,P1 ;讀BF和AC6-4值
CLR E ;E=0
MOV C,ACC.7 ;BF->進(jìn)位位C
SETB E ;E=1
CLR E ;E=0(讀AC3-0值)
JC PR31 ;判別BF=1?是轉(zhuǎn)
SETB RS ;RS=1
SETB R/W ;R/W=1
MOV P1,#0FFH ;P1置位,準(zhǔn)備讀
SETB E ;E=1
MOV COM,P1 ;讀數(shù)據(jù)高4位
CLR E ;E=0
MOV P1,#0FFH ;P1置位,準(zhǔn)備讀
SETB E ;E=1
MOV A,P1 ;讀數(shù)據(jù)低4位
CLR E ;E=0
SWAP A ;轉(zhuǎn)換成8位
ANL A,#0FH
ANL DAT,#0F0H
ORL A,DAT
MOV DAT,A ;數(shù)據(jù)送入DAT單元
POP ACC
RET
三、應(yīng)用程序
該程序是根據(jù)液晶顯示模塊HY-4002而編制的。其他規(guī)格的字符型液晶顯示模塊都適用,僅是地址的改動(dòng)而已。
示例一 初始化子程序
(1)直接訪問(wèn)方式下的初始化子程序
INT MOV A,#30H ;此循環(huán)必要,不可刪除
MOV DPTR,#CW_Add ;指令口地址設(shè)置
MOV R2,#03H ;循環(huán)量=3
INT1: MOVX @DPTR,A ;寫指令代碼
LCALL DELAY ;調(diào)延時(shí)子程序
DJNZ R2,INT1
MOV COM,#38H ;設(shè)置工作方式*
LCALL PR1 ;
MOV COM,#01H ;清屏
LCALL PR1
MOV COM,#06H ;設(shè)置輸入方式
LCALL PR1
MOV COM,#0FH ;設(shè)置顯示方式
LCALL PR1
RET
(2)間接控制方式下的初始化子程序
INT MOV P1,#30H ;工作方式設(shè)置指令代碼
CLR RS ;RS=0
CLR R/W ;RW=0
MOV R2,#03H ;循環(huán)量=3
INT1 SETB E ;E=1
CLR E ;E=0
LCALL DELAY ;調(diào)延時(shí)子程序
DJNZ R2,INT1
MOV P1,#28H ;設(shè)置工作方式*
SETB E ;E=1
CLR E ;E=0
MOV COM,#01H ;清屏
LCALL PR1
MOV COM,#06H ;設(shè)置輸入方式
LCALL PR1
MOV COM,#0FH ;設(shè)置顯示方式
LCALL PR1
RET
注:*工作方式參數(shù)根據(jù)所使用的字符型液晶顯示模塊的特性而定。
DELAY: MOV R6,#00H ;延時(shí)子程序
MOV R7,#00H
DELAY1: NOP
DJNZ R7,DELAY1
DJNZ R6,DELAY1
RET
初始化演示程序
MAIN: MOV SP,#60H
ANL P3,#0C7H
LCALL INT
示例二 字符的寫入方式
HD44780有五種字符寫入方式。演示程序如下:
(1)逐字依次輸入方式演示程序段
MOV COM,#06H
LCALL PR1
MOV COM,#80H
LCALL PR1
MOV DPTR,#TAB
MOV R2,#12
MOV R3,#00H
WRIN: MOV A,R3
MOVC A,@A+DPTR
MOV DTA,A
LCALL PR2
LCALL DELAY
INC R3
DINZ R2,WRIN
SJMP $
TAB: DB 43H,75H,72H,73H,6FH,72H,20H ;Cursor
DB 57F,72H,69H,74H,65H ;write
(2)光標(biāo)左移輸入方式演示程序段
CL_ENTER: MOV COM,#04H ; 輸入方式設(shè)置
LCALL PR1
MOV COM,#90H ; 設(shè)置DDRAM 地址
LCALL PR1
MOV DPTR,#TABCL ; 設(shè)置字表首地址
MOV R2,#12H ; 循環(huán)量設(shè)置
CL_1 MOV A,R2
DEC A
MOVC A,@A+DPTR ;取字符代碼
MOV DAT,A
LCALL PR2 ;寫數(shù)據(jù)
LCALL DELAY ;演示用延時(shí)
DJNZ R2,CL_1
SJMP $
TABCL: DB 43H, 75H, 72H, 73H, 6FH, 72H, 20H ;Cursor
DB 4CH, 65H, 66H, 74H, 20H ;Left
DB 53H, 63H, 72H, 6FH, 6CH,6CH ;Scroll
(3)光標(biāo)右移輸入方式演示程序段
CR_ENTER: MOV COM,#06H ; 輸入方式設(shè)置
LCALL PR1
MOV COM,#80H ; 設(shè)置DDRAM 地址
LCALL PR1
MOV DPTR,#TABCR ; 設(shè)置字表首地址
MOV R2,#13H ; 循環(huán)量設(shè)置
MOV R3,#00H
CL_1 MOV A,R3
MOVC A,@A+DPTR ;取字符代碼
MOV DAT,A
LCALL PR2 ;寫數(shù)據(jù)
INC R3
LCALL DELAY ;演示用延時(shí)
DJNZ R2,CR_1
SJMP $
TABCR: DB 43H, 75H, 72H, 73H, 6FH, 72H, 20H ;Cursor
DB 52H, 69H, 67H, 68H, 74H,20H ;Right
DB 53H, 63H, 72H, 6FH,6CH,6CH ;Scroll
(4)畫(huà)面左滾動(dòng)輸入方式演示程序段
L_ENTER: MOV COM,#07H ; 輸入方式設(shè)置
LCALL PR1
MOV COM,#90H ; 設(shè)置DDRAM 地址
LCALL PR1
MOV DPTR,#TABL ; 設(shè)置字表首地址
MOV R2,#0BH ; 循環(huán)量設(shè)置
MOV R3,#00H
L_1 MOV A,R3
MOVC A,@A+DPTR ;取字符代碼
MOV DAT,A
LCALL PR2 ;寫數(shù)據(jù)
INC R3
LCALL DELAY ;演示用延時(shí)
DJNZ R2,L_1
SJMP $
TABL: DB 4CH, 65H, 66H, 74H,20H ;Left Scroll
DB 53H, 63H, 72H, 6FH,6CH,6CH
(5) 畫(huà)面右滾動(dòng)輸入方式演示程序段
R_ENTER: MOV COM,#05H ; 輸入方式設(shè)置
LCALL PR1
MOV COM,#90H ; 設(shè)置DDRAM 地址
LCALL PR1
MOV DPTR,#TABR ; 設(shè)置字表首地址
MOV R2,#0CH ; 循環(huán)量設(shè)置
R_1 MOV A,R2
DEC A
MOVC A,@A+DPTR ;取字符代碼
MOV DAT,A
LCALL PR2 ;寫數(shù)據(jù)
LCALL DELAY ;演示用延時(shí)
DJNZ R2,R_1
SJMP $
TABR: DB 52H, 69H, 67H, 68H,74H,20H ;Right Scroll
DB 53H, 63H, 72H, 6FH,6CH,6CH
示例三 建立自定義字符庫(kù)
字符型液晶顯示模塊允許用戶在HD44780片內(nèi)CGRAM內(nèi)(64個(gè)字節(jié)00H-3FH)自建立8個(gè)5×8點(diǎn)陣的字符。建立自定義字符庫(kù)的子程序如下:
CG_WRITE: MOV COM,#40H ;設(shè)置CGRAM地址
LCALL PR1
MOV R2,#64 ;循環(huán)量設(shè)置
MOV R3,#00H
MOV DPTR,#CGTAB ;設(shè)置字模數(shù)據(jù)首地址
CG1: MOV A,R3
MOVC A,@A+DPTR
MOV DAT,A
LCALL PR2
INC R3
DZNJ R2,CG1
RET
CGTAB: DB 08H,0FH,12H,0FH,0AH,1FH,02H,02H ;“年”代碼=00H
DB 0FH,09H,0FH,09H,0FH,09H,11H,00H ;“月”代碼=01H
DB 1FH,11H,11H,1FH,11H,11H,1FH,00H ;“日”代碼=02H
DB 11H,0AH,04H,1FH,04H,1FH,04H,00H ;“$”代碼=03H
DB 0EH,00H,1FH,0AH,0AH,0AH,13H,00H ;“元”代碼=04H
DB 18H,18H,07H,08H,08H,08H,07H,00H ;“℃”代碼=05H
DB 04H,0AH,15H,04H,04H,04H,04H,00H ;“↑”代碼=06H
DB 17H,15H,15H,15H,15H,15H,17H,00H ;“10”代碼=07H
自定義字符顯示演示程序段
LCALL CG_WRITE ;調(diào)建立自定義字符子程序
MOV COM,#80H ;設(shè)置DDRAM地址
LCALL PR1
MOV DPTR,#TABDY ;設(shè)置字表首地址
MOV R2,#18 ;循環(huán)量設(shè)置
MOV R3,#00H
L00P1 MOV A,R3
MOVC A,@A+DPTR ;取字符代碼
MOV DAT,A
LCALL PR2 ;寫數(shù)據(jù)
INC R3
DZNJ R2,L00P1
MOV COM,#0C0H ;設(shè)置DDRAM地址
LCALL PR1
MOV R2,#18 ;循環(huán)量設(shè)置
L00P2 MOV A,R3
MOVC A,@A+DPTR ;取字符代碼
MOV DAT,A
LCALL PR2 ;寫數(shù)據(jù)
INC R3
DZNJ R2,L00P2
SJMP $
TABDY: DB 4DH, 44H, 4CH, 53H,34H,30H,32H,36H,36H
DB 20H, 03H, 32H, 35H,35H,2EH,30H,30H,04H
DB 31H, 39H, 39H, 37H,00H,37H 01H,31H,02H
DB 20H, 54H, 3DH, 33H,35H,05H,06H,20H,07H
功能設(shè)置指令參數(shù)N,F(xiàn)值及顯示RAM地址對(duì)應(yīng)表
規(guī)格 |
型號(hào) |
N F |
行 |
1 2.. 8 9 10..16 17..20 21.. 24 25..40 |
8´1 |
|
0 0 |
1 |
00 01..07 |
16´1 |
|
1 0 |
1 |
00 01..07 40 41..47 |
16´2 |
|
1 0 |
1 2 |
00 01..07 08 09..0F 40 41..47 48 49..4F |
16´4 |
|
1 0 |
1 2 3 4 |
00 01..07 08 09..0F 40 41..47 48 49..4F 10 11..17 18 19..1F 50 51..57 58 59..5F |
20´1 |
|
0 0 |
1 |
00 01..07 08 09..0F 10..13 |
20´2 |
|
1 0 |
1 2 |
00 01..07 08 09..0F 10..13 40 41..47 48 49..4F 50..53 |
20´4 |
|
1 0 |
1 2 3 4 |
00 01..07 08 09..0F 10..13 40 41..47 48 49..4F 50..53 14 15..1B 1C 1D..23 24..27 54 55..5B 5C 5D..63 64..67 |
24´2 |
|
1 0 |
1 2 |
00 01..07 08 09..0F 10..13 14..17 40 41..47 48 49..4F 50..53 54..57 |
40´2 |
|
1 0 |
1 2 |
00 01..07 08 09..0F 10..13 14..17 18..27 40 41..47 48 49..4F 50..53 54..57 58..67 |
40´4 |
這是雙片控制器工作,1、2行和3、4行分別由一個(gè)控制器所控制 |
1 0 |
1 2 3 4 |
00 01..07 08 09..0F 10..13 14..17 18..27 40 41..47 48 49..4F 50..53 54..57 58..67 00 01..07 08 09..0F 10..13 14..17 18..27 40 41..47 48 49..4F 50..53 54..57 58..67 |
附錄一:HD44780的內(nèi)部字符集
提示:點(diǎn)擊查看圖片
附錄二:HY系列產(chǎn)品時(shí)序圖
Flgure1 寫時(shí)序圖(MPU寫數(shù)據(jù)到LCD-II)

Flgure2 讀時(shí)序圖(MPU從LCD-II讀數(shù)據(jù))

附錄三:HY系列產(chǎn)品供電電路