1 模塊簡介
液晶顯示模塊是一種將液晶顯示器件、連接件、集成電路、PCB線路板、背光源、結(jié)構(gòu)件裝配在一起的組件。英文名稱叫“LCD Module”,簡稱“LCM”,中文一般稱為“液晶顯示模塊”。實(shí)際上它是一種商品化的部件。根據(jù)我國有關(guān)國家標(biāo)準(zhǔn)的規(guī)定:只有不可拆分的一體化部件才稱為“模塊”,可拆分的叫作“組件”。所以規(guī)范的叫法應(yīng)稱為“液晶顯示組件”。但是由于長期以來人們都已習(xí)慣稱其為“模塊”。
圖形點(diǎn)陣式液晶顯示模塊具有尺寸小、功耗小、可靠性高、成本低等優(yōu)點(diǎn),可顯示各種圖像與文本信息,因此在電子儀器中得到廣泛的應(yīng)用。
LCD240128A是熱致液晶STN型圖形點(diǎn)陣式顯示模塊,它由STN型液晶板、液晶顯示控制器、液晶驅(qū)動(dòng)器、背光板等組成,圖1所示是LCD240128A模塊的結(jié)構(gòu)框圖。它的整屏尺寸為114×104mm,有240×128點(diǎn),可顯示16點(diǎn)陣漢字15×8個(gè),亦可顯示各種圖形。因此,在智能式電子儀器中,LCD240128A可用來作為顯示器,以顯示各種圖形和文本信息。LCD240128A液晶模塊內(nèi)有T6963A液晶驅(qū)動(dòng)控制器,該模塊的外部接口引腳定義如表1所列。
表1 LCD240128A的引腳定義
T6863A內(nèi)部含有共128字節(jié)的字符發(fā)生器CGROM,可外接8k(最大為128k)字節(jié)的RAM作為外部的顯示緩沖區(qū)及字符發(fā)生器CGRAM,并允許MPU訪問顯示緩沖區(qū),甚至還可進(jìn)行位操作。
根據(jù)T6963A的特性設(shè)計(jì)出的LCD240128A模塊與AT89S58單片機(jī)的接口電路如圖2所示。
在圖2中,AT89S58單片機(jī)作為控制液晶模塊MPU,擴(kuò)展在16k字節(jié)EPROM27128用于存放16點(diǎn)陣漢字的字模數(shù)據(jù),AT89S58與外部數(shù)據(jù)及指令的效換采和8255作為I/O通道。
從圖2可以看出,液晶模塊的控制指令端口為4FFFH,數(shù)據(jù)端口為4FFEH,可通過電位器P1來調(diào)整液晶的顯示效果。
點(diǎn)陣圖形液晶模塊的特點(diǎn)是點(diǎn)陣像素連續(xù)排列,行和列在排布中均沒有空隔。因此可以顯示了連續(xù)、完整的圖形。由于它也是有X-Y矩陣像素構(gòu)成的,所以除顯示圖形外,也可以顯示字符。
2 控制命令
為了更好地闡述LCD240128A的控制方法,這里先介紹T6963A的指令。
T6963A的指令格式為:數(shù)據(jù)1+數(shù)據(jù)2+指令字節(jié),但是,有的指令只含有一個(gè)數(shù)據(jù)或根本就沒有數(shù)據(jù)。而LCD240128A模塊選擇的是單屏結(jié)構(gòu)、每行最大為80個(gè)字節(jié)、總行數(shù)為16的顯示模式。
為了確保每條指令的正確執(zhí)行,有必要在執(zhí)行指令前,先分析一下模塊的狀態(tài)字:
2.1 地址指令設(shè)置命令
地址指令設(shè)置命令主要包括如下三種設(shè)置:
(1)設(shè)置光標(biāo)位置:D1+D2+21H;
其中D1為光標(biāo)離液晶屏左上角的橫向字符數(shù);D2為光標(biāo)離液晶屏左上角的縱向字符數(shù)。
(2_設(shè)置CGRAM的位置:D1+00H+22H;
此指令中D1的有效位為低5位,用于設(shè)置2kCGRAM在8k顯示RAM中的高5位地址,中間8位為字符代碼,低3位為字符8×8點(diǎn)陣行計(jì)數(shù)值。
(3)設(shè)置當(dāng)前要操作的單元:D1+D2+24H
其中D1為地址的低字節(jié),D2為高字節(jié)。
2.2 顯示區(qū)域設(shè)置命令
顯示區(qū)域設(shè)置命令主要是對文本區(qū)首址和每行字符數(shù)以及圖形區(qū)的首址和每行字符數(shù)進(jìn)行設(shè)置。
(1)設(shè)置文本顯示區(qū)的首址:D1+D2+40H
其中D1為低字節(jié),D2為高字節(jié),地址對應(yīng)于顯示屏左上角的字符位。
(2)設(shè)置文本區(qū)的每行字符數(shù):D1+00H+41H
(3)設(shè)置圖形區(qū)首址:D1+D2+42H
其中D1為地址的低字節(jié),D2為高字節(jié)。
(4)設(shè)置圖形區(qū)每行字符數(shù):D1+00H+43H
2.3 設(shè)置顯示方式
設(shè)置顯示方式的格式為:1 0 0 0 N3 N2 N1 N0
各位的意義如下:
N3-字符發(fā)生器選擇位,當(dāng)N3=1時(shí),選擇CGRAM,字符代碼為00H~FFH,字節(jié)空間為2k;當(dāng)N3=0時(shí),選擇CGROM,字符代碼為00H~7FH.
通過N2、N1和N0的不同組合可對合成顯示方式進(jìn)行選擇,選擇方式如表2所列。只有當(dāng)文本方式和圖形方式均打開時(shí),上述合成顯示方式的設(shè)置才有效。
表2 合成顯示方式選擇
2.4 設(shè)置顯示狀態(tài)
顯示狀態(tài)指令模式為:1 0 0 1 N3 N2 N1 N0
其中:N0為光標(biāo)閃爍位,1為可以,0為禁止;
N1為為光標(biāo)顯示,1為可以,0為禁止;
N2為文本顯示,1為可以,0為禁止;
N3為圖形顯示,1為可以,0為禁止。
2.5 光標(biāo)形狀選擇
光標(biāo)形狀選擇指令格式為:1 0 1 0 0 N2 N1 N0
光標(biāo)形狀為8點(diǎn)(列)×N點(diǎn)(行),其中N的值由N0~N2決定。
2.6 設(shè)置數(shù)據(jù)自動(dòng)讀/寫方式
該指令包括B0H,B1H和B2H(B3H)等。其中:
B0H表示自動(dòng)寫;B1H表示自動(dòng)讀;B2H為結(jié)束自動(dòng)方式。
該指令的格式為:D1+指令字節(jié),意義如下:
D1+C0H:表示數(shù)據(jù)寫,地址加1;
C1H:表示數(shù)據(jù)讀,地址加1;
D1+C2H:表示數(shù)據(jù)寫,地址減1;
C3H:表示數(shù)據(jù)讀,地址減1;
D1+C4H:表示數(shù)據(jù)寫,地址不變;
C5H:表示數(shù)據(jù)讀,地址不變。
有了上述指令,我們就可開始下一步的軟件設(shè)計(jì),至于T6963A的更詳細(xì)說明,請參考文獻(xiàn)[1]。
3 控制軟件
該控制軟件主要討論液晶模塊的初始化、CGROM中字符的顯示、CGRAM的設(shè)置以及漢字與圖形的顯示等。
3.1 初始化與準(zhǔn)備工作
以下為狀態(tài)檢測程序:
STA1:LCALL STATE
JNB ACC.0,STA1 ;指令讀寫狀態(tài)
JNB ACC.1,STA1 ;數(shù)據(jù)讀寫狀態(tài)
RET
STA2:LCALL STATE
JNB ACC.2,STA2 ;數(shù)據(jù)自動(dòng)讀狀態(tài)
RET
STA3:LCALL STATE
JNB ACC.3,STA3 ;數(shù)據(jù)自動(dòng)寫狀態(tài)
RET
STA6:LCALL STATE
JB ACC.6,ERR ;屏讀/拷貝狀態(tài)
RET
;- - - - - - - - - - - - - - - - - - - - - -
ERR_;LJMP ERR ;出錯(cuò)處理程序
;- - - - - - - - - - - - - - - - - - - - - -
;
STATE:MOV DPTR,#4001H
MOVX A,@DPTR
RET
在下面的寫指令與數(shù)據(jù)程序中,R2為數(shù)據(jù)D1,R3為數(shù)據(jù)D2,R4為指令字節(jié);
;
WR2:LCALL STA1 ;有D1與D2
MOV A,R2
LCALL WRD
WR1:LCALL STA1 ;無D1,
MOV A,R3
LCALL WRD
WR0:LCALL STA1 ;無D1與D2,
MOV A,R4
AJMP WR00
WRD:MOV DPTR,#4000H
WR00:MOVX @DPTR,A
RET
;
以下是讀數(shù)程序:
;
RD_:LCALL STA1
MOV DPTR,#4000H
MOVX A,@DPTR
RET
;
有關(guān)硬件的初始化,LCD240128A在模塊制造時(shí)就已做了如下選擇:
FS=0,用于選擇8×8點(diǎn)陣;
MD2=0,MD3=0確定了每行最大字符數(shù)為80;
MDS=1,MD0=0,MD1=0,確定了總行數(shù)為16;
下面為軟件的初始化程序:
INITATION:LCALL CLR_
MOV R2,#0 ;建立文本區(qū)首址
MOV R3,#0 ;為00H
MOV R4,#40H
LCALL WR2
MOV R2,#1EH ;設(shè)置文本區(qū)寬度
MOV R3,#0 ;為30
MOV R4,#41H
LCALL WR2
;
MOV R2,#00H ;設(shè)置圖形區(qū)首址
MOV R3,#00H
MOV R4,#42H
LCALL WR2
MOV R2,#1EH ;設(shè)置圖形區(qū)寬度
MOV R3,#0
MOV R4,#43H
LCALL WR2
MOV R4,#0A0H
LCALL WR0 ;設(shè)置光標(biāo)形狀
MOV R4,#98H ;打開文本與圖形方式
LCALL WR0
MOV R4,#80H ;采用邏輯“或”
LCALL WR0
RET
;
CLR_; MOV R2,#0 ;清RAM單元
MOV R3,#0
MOV R4,#24H
LCALL WR2
MOV R4,#0B0H ;設(shè)置自動(dòng)寫
LCALL WR0
MOV R2,#1FH
;
CLR1: MOV R3,#0FFH
CLR2: LCALL STA3
CLR A ;寫入0
LCALL WRD
DJNZ R3,CLR2
DJNZ R2,CLR1
MOV R4,#0B3H ;結(jié)束自動(dòng)寫
LCALL WR0
RET
;
CLR_:MOV R2,#0 ;清RAM單元
MOV R3,#0
MOV R4,#24H
LCALL WR2
MOV R4,#0B0H ;設(shè)置自動(dòng)寫
LCALL WR0
MOV R2,#1FH
;
CLR1: MOV R3,#0FFH
CLR2: LCALL STA3
CLR A ;寫入0
LCALL WRD
DJNZ R3,CLR2
DJNZ R2,CLR1
MOV R4,#0B3H ;結(jié)束自動(dòng)寫
LCALL WR0
RET
;
3.2 CGROM中的字符顯示
在1k字節(jié)的CGROM中,含有以下00H~7FH為字符代碼的常用字母與符號(hào)。并于它們的顯示程序可以描述如下,這里以顯示:“OK!”為例:
3.3 圖形方式下顯示漢字
可以很方便地從計(jì)算機(jī)中提取點(diǎn)陣式的漢字字模,并按左上,左下,右上,右下的順序,把字模保存在程序ROM中,下面以占用32個(gè)字節(jié)的漢字16點(diǎn)陣“交”字為例如以說明:
下面這個(gè)子程序,可以顯示一個(gè)漢字“交”,通過調(diào)用該子程序,即可顯示一組語句,具體說明如下:
;R2,R3,R4,R5,A
HZDISP:MOV DPTR,#HK0
MOV B,#20H
MUL AB
ADD A,DPL
MOV DPL,A
MOV A,B
MDDC A,DPH
MOV DPH,A
push dph
push dp1
MOV R2,#10H
MOV A,#00H ;指向字模的左半部地址
HZD1:pop dp1
Pop dph
MOV R5,A
MOVC A,@A+DPTR
Push dph
Push dp1
MOV R3,A
MOV R4,#0C0H
LCALL WR1
pop dp1
pop dph
MOV A,R5
ADD,A,#10H ;指向字模的右半部地址
MOVC A,@A+DPTR
PUSH DPH
PUSH DPL
;
MOV R3,A
LCALL WR1
MOV A,R2
MOV R3,A
;改變顯示指針,
MOV R2,#1CH
MOV R4,#0C1H
HZD2:LCALL WR0
DJNZ R2,HZD2
;
MOV A,R3
MOV R2,A
MOV A,R5
INC A
DJNZ R2,HZD1
pop dp1
pop dph
RET
在TA6963A的控制指令中,有一個(gè)位操作指令,格式為:1 1 1 1 D3 D2 D1 D0
格式中的D2D1D0用于確定要操作的是0~7位某一位,D3確定該位為1或0.該指令可對當(dāng)前顯示地址指針?biāo)傅娘@示單元中的數(shù)據(jù)的任一位寫“0”或?qū)憽?”。有了這個(gè)指令,欠就可以很方便地設(shè)置點(diǎn)或清除點(diǎn),從而達(dá)到顯示任意曲線或圖案的目的。
4 結(jié)語
利用LCD240128A液晶模塊可以增加系統(tǒng)的可讀性。本文就其基本的控制軟件與電路作為分析。當(dāng)然,液晶模塊的控制集成電路有很多種,各套指令也有一定的差異,但其基本思想都有很多相似的地址。
-
集成電路
+關(guān)注
關(guān)注
5377文章
11311瀏覽量
360386 -
pcb
+關(guān)注
關(guān)注
4315文章
22939瀏覽量
395586 -
液晶顯示
+關(guān)注
關(guān)注
6文章
582瀏覽量
40241
發(fā)布評(píng)論請先 登錄
相關(guān)推薦
評(píng)論