HY-240128M-201液晶顯示模塊及其應(yīng)用
摘 要:本文首先從應(yīng)用角度闡述了基于T6963C控制器的HY-240128M-201圖形點陣式液晶顯示模塊(LCM)的組成和工作原理,然后給出了用單片機對模塊進行控制的硬件電路和軟件編程方法,最后介紹了調(diào)試圖形點陣式LCM時的相關(guān)注意事項。
關(guān)鍵詞:T6963C;HY-240128M-201;液晶顯示模塊;模塊調(diào)試
引言
根據(jù)顯示方式和內(nèi)容的不同,常用于儀器儀表上的液晶顯示模塊有筆段型和點陣型兩類。前者可用于顯示有限個簡單符號,控制也較為簡單。后者又可分成兩種:字符型液晶顯示模塊和圖形液晶顯示模塊。點陣液晶顯示模塊顯示的信息多,可顯示字符、漢字,也可以顯示圖形和曲線,且容易與微處理器接口,因此經(jīng)常用在機械設(shè)備控制和自動生產(chǎn)線中顯示設(shè)備的工作參數(shù),或者用圖形方式顯示設(shè)備和生產(chǎn)線的工作過程。
本文從實際應(yīng)用角度出發(fā),在簡單介紹了基于T6963C控制器的HY-240128M-201圖形點陣式液晶顯示模塊的組成和工作原理之后,重點闡述此款液晶顯示模塊的使用方法,給出了用ATmega8535型單片機設(shè)計軟/硬件的思路和設(shè)計要點。
圖1 HY-240128M-201與ATmega8535單片機接口電路圖
液晶顯示模塊簡介
HY-240128M-201是北京博汶迪(BALDWIN)電子技術(shù)有限公司推出的240×128點陣液晶顯示模塊。雖然液晶顯示模塊的內(nèi)部電路工作原理較為復(fù)雜,但是顯示模塊只留一個接口與外部通信,LCM可以通過這個接口接收顯示命令和數(shù)據(jù),并按照命令和數(shù)據(jù)的要求進行顯示;外部電路也是通過這個接口讀出顯示模塊的工作狀態(tài)和顯示數(shù)據(jù)的。使用者只需要了解LCM外部引腳的功能和模塊的顯示原理即可。此款LCM提供兩種接口:并行和串行方式傳輸數(shù)據(jù)命令接口。并行方式采取8位傳輸,即一次傳輸8位命令或數(shù)據(jù);而串行方式采用4位數(shù)據(jù)總線傳輸。為了使液晶顯示模塊有較穩(wěn)定的顯示,在實際應(yīng)用中常常采用并行傳輸方式。
HY-240128M-201液晶顯示模塊主要由1片LCM控制器T6963C、2片行驅(qū)動器T6A40、3片列驅(qū)動器T6A39、1片8kB的顯示存儲器6264和1塊240×128點陣液晶顯示屏組成。6A40是與T6963C相配套的68路行驅(qū)動器,它將來自T6963C的串行信號轉(zhuǎn)換成并行信號,以驅(qū)動液晶顯示屏上相應(yīng)的行。此模塊有128行點陣,因此用了2片T6A40,其中第2片只用了60路。T6A39是與T6963C配套的80路列驅(qū)動器,它將來自T6963C的串行列信號轉(zhuǎn)換成并行信號,以此驅(qū)動液晶顯示屏上相應(yīng)的列。HY-240128M-201有240列點陣,因此用了3片T6A39。
單片機與液晶顯示模塊的接口和控制
由于T6963C接口適用于8080系列和Z80系列MPU,所以可以直接用8031的/RD、/WR作為液晶顯示模塊的讀、寫控制信號,液晶顯示模塊VDD接+5V電壓,/RESET接RC復(fù)位電路。/CE信號可由地址線譯碼產(chǎn)生。C/D信號由地址線中某一個引腳A*提供,A* = 1為指令口地址;A* = 0為數(shù)據(jù)口地址。間接控制方式則是通過MPU的I/O并行接口,按照模擬模塊時序的方式,間接實現(xiàn)對液晶顯示模塊的控制。這種訪問方式不占用CPU的存儲器空間,它的接口電路與時序無關(guān),其時序完全靠軟件編程實現(xiàn)。
LCM與ATmega8535單片機的接口連接
由于ATmega8535的總線讀寫周期為50ns,是51系列單片機的上百倍。對于此種高速MPU來說,采用間接方式較好,即采用模擬液晶控制器時序的方式與液晶控制器通信?;陂g接方法的實用性較強且接口方式簡單,下面給出HY-240128M-201型LCM與AVR系列中ATmega8535型單片機的接口方法,電路如圖1所示。
LCM電源電路
HY-240128M-201需要三種供電電源:邏輯電源、驅(qū)動電源和背光電源。其中邏輯電源通過VSS和VDD兩個引腳來提供;驅(qū)動電源通過V0和VEE提供;背光電源通過LEDA和LEDK提供。
VSS和LEDK可直接接地,VDD和LEDA接+5V;V0通過電位計接地,VEE接滑動端來調(diào)節(jié)驅(qū)動電壓,當驅(qū)動電壓過低時,屏幕無顯示,過高時屏幕全黑。注意電位計的最大阻值應(yīng)該在10KW-20KW之間。
LCM的復(fù)位電路
復(fù)位引腳為16-/RST,高電平時為正常狀態(tài),低電平時為復(fù)位狀態(tài),它將行、列計數(shù)器和顯示寄存器清零。復(fù)位電路部分可通過對+5V接4.7KW電阻,對地接4.7μF電容來實現(xiàn),也可直接與單片機I/O口相連,通過軟件來控制,注意,LCM上電后/RST引腳保持低電平5個時鐘周期才能實現(xiàn)復(fù)位。
LCM指令控制接口
HY-240128M-201型LCM外部面板提供了5個命令接口,15引腳(/CE)為使能信號端,低電平有效;4引腳(C/D)為通道選擇信號,1為指令通道,0為數(shù)據(jù)通道,同時通過控制/RD和/WR的輸入信號可以實現(xiàn)對指令和數(shù)據(jù)的讀寫。
LCM字體選擇
18引腳FS用于選擇字體,T6963C規(guī)定:此引腳為低電平時,字體為8×8點陣形式,反之為8×6點陣形式。注意,此引腳不能懸空,如果所用到的字體是8×8的,則可以將此引腳接地,或者接MPU的I/O引腳并通過軟件來設(shè)置顯示字體。
控制軟件設(shè)計
軟件采用ICCAVR-C語言開發(fā),它具有很強的軟件控制能力,也就是由主控CPU通過接口向液晶模塊寫入指令來實現(xiàn)模塊控制。程序的設(shè)計主要包括兩個部分,一是設(shè)計液晶讀寫指令或數(shù)據(jù)、初始化及清屏等通用子程序,其中,初始化設(shè)置主要包括以下幾方面:設(shè)置文本顯示緩沖區(qū)、圖形顯示緩沖區(qū)和CGRAM區(qū)各自的首地址和區(qū)域?qū)挾龋O(shè)置LCM工作模式和顯示模式以及選擇光標形狀等。另一部分是漢字和圖形的顯示模塊程序,顯示操作就是將欲顯示的字符或圖形的點陣信息寫入顯示緩沖區(qū)中的指定位置。要顯示的內(nèi)容由初始化中顯示方式設(shè)置部分決定,有了通用子程序,就可以構(gòu)造出各種顯示程序。當采用圖形顯示方式時,與字符、漢字和菜單圖形顯示的原理類似,關(guān)鍵在字模庫的建立,在網(wǎng)上可以下載專門的漢字圖形點陣信息提取軟件(如zimo21或Image2Lcd等),它們可以提取8×16或16×16等在匯編或C語言狀態(tài)下的點陣信息,以及各種圖片的點陣數(shù)據(jù)。當采用ATmega8535型單片機控制液晶顯示模塊時,由于是間接訪問方式,所以要對讀/寫操作時序十分了解。
T6963C控制器時序
當數(shù)據(jù)指令設(shè)置位C/D為高,使能位/CE為低,寫狀態(tài)位/WR為高,讀狀態(tài)位/RD為低時,可以從并行數(shù)據(jù)口讀取內(nèi)部控制器的狀態(tài)。
當數(shù)據(jù)指令設(shè)置位C/D為高,使能位/CE為低,寫狀態(tài)位/WR為低,讀狀態(tài)位/RD為高時,可以通過并行數(shù)據(jù)口向內(nèi)部控制器寫指令。
當數(shù)據(jù)指令設(shè)置位C/D為低,使能位/CE為低,寫狀態(tài)位/WR為低,讀狀態(tài)位/RD為高時,可以通過并行數(shù)據(jù)口向內(nèi)部控制器寫數(shù)據(jù)。
設(shè)計液晶讀寫指令或數(shù)據(jù)通用子程序
LCD狀態(tài)檢測子函數(shù)
在寫數(shù)據(jù)或?qū)懨钪埃瑧?yīng)先檢查LCM的狀態(tài),即狀態(tài)寄存器中命令就緒(STA0)和數(shù)據(jù)就緒(STA1)需要同時檢查,只有這兩位同時為“1”(LCM空閑狀態(tài))時,才可以進行數(shù)據(jù)和命令的寫操作,通常情況下,可以設(shè)計一個讀狀態(tài)子函數(shù),用以判斷兩個標志位的空/忙狀態(tài)。
顯示字符和圖形的子函數(shù)
液晶顯示屏的顯示方式包括文本和圖形顯示。采用圖形顯示方式時,液晶屏顯示信息的管理單位是8×1點陣,稱為一個圖形顯示單位。T6963C按此單位把液晶屏在水平方向上分成20列,垂直方向上分成128行,共20×128個圖形顯示單位,每個圖形顯示單位對應(yīng)圖形顯示緩沖區(qū)中的一個存儲單元。將點陣狀態(tài)信息寫入這個存儲單元,則在對應(yīng)的位置顯示出圖形。采用文本顯示方式時,寫入文本顯示緩沖區(qū)的不是點陣狀態(tài)信息,而是字符代碼,其點陣狀態(tài)信息(8×8) ,即字模存放在CGRAM中。將字符代碼寫入文本顯示緩沖區(qū)后,T6963C從CGRAM中取出該字符代碼所對應(yīng)字符的點陣狀態(tài)信息,通過行列驅(qū)動器驅(qū)動液晶屏顯示該字符。
清屏子函數(shù)
在顯示數(shù)據(jù)前,首先要清除屏幕上次顯示的內(nèi)容,為此要用到清屏函數(shù),只需向整個屏幕寫入“0”即可實現(xiàn),具體過程從略。
液晶顯示模塊的調(diào)試注意事項
設(shè)計電路時的注意事項
HY-240128M-201的液晶驅(qū)動電壓高達-19V,一旦錯接在其他引腳上,液晶模塊內(nèi)的驅(qū)動、控制芯片將在短時間內(nèi)燒毀,所以,在上電前要反復(fù)確認各電源線連接正確,最好將驅(qū)動電源與液晶模塊通過電位器連接。
要注意復(fù)位線電平狀態(tài)的正確性。當產(chǎn)品使用環(huán)境比較好時,可以直接采用在管腳定義里提供的RC復(fù)位電路;但當產(chǎn)品用在比較惡劣的環(huán)境時,最好將/RST接到MPU的端口上。
調(diào)試注意事項
初次上電前,應(yīng)慢慢調(diào)節(jié)電位器,使驅(qū)動電源端的輸出調(diào)節(jié)在0V左右,觀察顯示情況,同時監(jiān)視液晶驅(qū)動電壓,然后慢慢調(diào)整至正常工作點。在調(diào)節(jié)過程中,不要使液晶模塊承受超出最大值的驅(qū)動電壓,否則會造成液晶模塊的損壞。如果在低于或大致等于典型驅(qū)動電壓時,觀察到了顯示屏上有色調(diào)的變化,即顯示域的底色略深于邊緣的顏色,表明液晶模塊電源連接正確,可以進人下一步工作。如果在室溫條件下,調(diào)節(jié)到超出典型值2-3V時,仍未觀察到顯示屏上有色調(diào)的變化,就不必繼續(xù)調(diào)節(jié)了。
HY-240128M-201在虛擬仿真機器人控制系統(tǒng)中的應(yīng)用
虛擬仿真控制系統(tǒng)用3D-MAX建立排爆機器人和虛擬環(huán)境模型,OpenGL繪制仿真環(huán)境。通過控制面板上的控件控制仿真環(huán)境中的排爆機器人完成各種訓(xùn)練動作。整個系統(tǒng)集成在一個控制箱內(nèi),控制箱包括控制面板、顯示器和集成PC,系統(tǒng)下位機中的主機首先采集控制面板上的模擬數(shù)據(jù)和數(shù)字數(shù)據(jù),以將操作面板按鈕的操作轉(zhuǎn)化為控制指令,然后每50ms通過串口向上位機發(fā)送一次命令,上位機收到數(shù)據(jù)后控制虛擬仿真機器人,最后,上位機收集虛擬機器人的姿態(tài)參數(shù),再通過串口傳送到下位機的主機部分,主機通過SPI把數(shù)據(jù)傳送到從機,從機則用來控制液晶顯示模塊。通過液晶顯示模塊,操作者可以觀測到虛擬機器人的真實姿態(tài)值,以此來準確控制機器人的動作,完成預(yù)期的任務(wù)。
結(jié)語
HY-240128M-201型LCM是一款性價比較高的液晶顯示模塊, 該模塊與單片機的接口十分方便,且能進行大信息量的字符顯示,還可以實現(xiàn)圖形及曲線的顯示,這就使人機接口更友好。當然,不同型號的液晶模塊的內(nèi)置控制器有很多種,各套指令也有一定差異, 但其設(shè)計思路和流程基本相同。