0 引言
隨著嵌入式系統(tǒng)的廣泛應(yīng)用,,出現(xiàn)了大量的16位和32位的嵌入式處理器,。而傳統(tǒng)的8位單片機長期用于生產(chǎn)實踐,制造工藝成熟,、性能更加可靠,,仍然占有相當(dāng)大的市場,特別是在汽車電子等對可靠性要求極高的領(lǐng)域,。液晶顯示位模塊具有顯示信息量豐富,、功耗低、體積小,、質(zhì)量輕,、無輻射等優(yōu)點。
觸摸屏作為一種特殊的計算機外設(shè),,是目前最自然,、便利的一種人機交互方式。T32QM 6450液晶顯示模塊是帶有觸摸屏功能TFT 型彩色LCD顯示屏,,分辨率為240×320, 支持2.6 ×105色顯示,。其功能強,使用方便,,接口簡單,,具有豐富的專用控制指令,可方便地實現(xiàn)畫面滾動顯示及觸摸屏等功能,。
1 T32QM6450液晶模塊結(jié)構(gòu)
T32QM 6450是液晶模塊,,主要由TFT - LCD 顯示器、LED背光燈,、觸摸屏,、源極驅(qū)動IC IS2102和柵極驅(qū)動IC IS2202構(gòu)成,其中Source Driver負責(zé)提供列上各色素點的驅(qū)動電壓,,而Ga te Driver控制每行像素的選通狀態(tài),。TFT液晶的每個像素點都是由集成在像素點后面的薄膜晶體管來驅(qū)動,從而可以做到高速度,、高亮度,、高對比度顯示屏幕信息,可以精確控制顯示灰度,,LCD通過總線與處理器連接,,實現(xiàn)數(shù)據(jù)和指令的傳遞,。
2 T32QM6450與W77E58接口電路
硬件連接如圖1所示。處理器芯片選用W77E58.該芯片是一個快速8051兼容微控制器,,其內(nèi)核經(jīng)過重新設(shè)計,,提高了時鐘速度和存儲器訪問周期速度。它的指令集基本與8051相同,,多了一條DEC DPTR指令,。8051每12個時鐘周期為一個機器周期,而W77E58每4個時鐘周期為一個機器周期,,提高了指令執(zhí)行速度,。另外,W77E58 還可調(diào)整MOVX 指令的周期,,范圍為2~ 9個機器周期,,這種設(shè)計使W77E58能夠更有效訪問慢速或快速外部RAM 及外設(shè)。
圖1 液晶屏與W77E58硬件連接電路
因為W77E58是高速8 位單片機,,而該LCD模塊采用16位總線接口,,所以電路中用了2 片鎖存器74HC573, 用P24~P27口分別控制2片鎖存器的鎖存使能和輸出使能引腳LE (下降沿鎖存) 、OE (低電平有效),,先給第一片74HC573的LE一個高電平,,通過P1口傳送低8 位數(shù)據(jù),然后給該片的LE 低電平鎖存當(dāng)前數(shù)據(jù),; 給第二片的LE 高電平,,同樣通過P1口傳送高8位數(shù)據(jù)并鎖存,最后同時給2片74H C573的OE低電平,,即可實現(xiàn)16位數(shù)據(jù)的傳送,。
該系統(tǒng)是混合電壓系統(tǒng),液晶模塊和ADS7843用3.3 V 供電,,而處理器和鎖存器是5 V 供電,,這2部分是不能直接相連的。所以還要處理好電平的轉(zhuǎn)換問題,,電路中用4 片雙向電平轉(zhuǎn)換芯片74LVC4245, 它可以實現(xiàn)3.3 V和5 V的相互轉(zhuǎn)換,。
為實現(xiàn)觸摸屏功能,,電路中用1 片觸摸屏控制器ADS7843.它是電阻式觸摸屏控制芯片,,具備串行12 位A /D轉(zhuǎn)換功能,,在關(guān)閉模式下,,功耗僅為0.5uW, 在12 V,、125 kH z的工作模式下功耗為750 uW3. 文中僅結(jié)合電路對主要功能加以介紹,。CS是芯片選通端,; DCLK 是時鐘輸入端,,由P20 腳軟件模擬時鐘信號輸入,; DIN 是數(shù)據(jù)串行輸入端,,控制數(shù)據(jù)通過該引腳輸入; X+ ,、Y + ,、X- 、Y - 是接觸點坐標(biāo)數(shù)據(jù)輸入端,; INT是中斷引腳,,用于通知MCU 有觸摸事件發(fā)生,DOUT 將轉(zhuǎn)換后的觸摸位置數(shù)據(jù)串行輸出到MCU,。
3 LCD 顯示的程序設(shè)計
3. 1 指令,、數(shù)據(jù)的讀寫
通過對LCD模塊的RS引腳設(shè)置1或0 值,即可實現(xiàn)處理器和LCD之間數(shù)據(jù)或指令的傳送,。當(dāng)設(shè)定RS= 1, 傳遞的是數(shù)據(jù)信號,; 設(shè)定RS= 0, 傳遞的是指令信號,模塊的D8~ D15端口接收到的數(shù)據(jù)(即高8位)代表寄存器號,,D0~ D7接收到的是控制指令,。部分子程序如下:
3. 2 字符、漢字及顏色的顯示
可調(diào)用以上子程序方便地向LCD模塊發(fā)送控制命令和顏色信息,。T32QM 6450模塊共有158 個寄存器,,通過調(diào)用WriCom 函數(shù)可向相關(guān)寄存器寫入控制命令,然后調(diào)用WriData寫入2字節(jié)的顏色信息,,其RGB格式為: 紅色為高5位( B it15~B it11),,綠色為中間6位( B it10~ B it5),藍色為低5位( B it4~B it0),。經(jīng)以上操作,,即可在指定位置或區(qū)域顯示色彩、字符,、圖象等,。如要在屏上坐標(biāo)為(X, Y) 的點以顏色Co lo r顯示一個字符或漢字,只要知道其點陣數(shù)組, 在每個要顯示的點調(diào)用W r iDa ta(Color)即可,。圖片的顯示原理類似,,用轉(zhuǎn)換工具將圖片轉(zhuǎn)換成C格式的數(shù)組文件即可。下例為顯示字符的程序:
3. 3 滾動顯示畫面
要實現(xiàn)指定區(qū)域的畫面的滾動顯示效果,,可以通過設(shè)置寄存器R75~ R80實現(xiàn),,其中寄存器R75、R76用于設(shè)置滾動區(qū)域的起始行,; R77,、R78設(shè)置畫面的范圍,即要滾動顯示的行數(shù),;R79,、R80設(shè)置每次滾動的行數(shù),,即步長。要注意的是,,步長的設(shè)置并不是一勞永逸的,,因為這里的步長是相對于滾屏初始化設(shè)置時的狀態(tài)而言的,并非相對于上一次滾屏動作而言,。圖2舉例說明了滾屏的設(shè)置及演示效果,。
圖2 滾屏的設(shè)置及過程演示
圖2所示過程的C程序如下:
如果按照上述程序調(diào)試,則畫面滾動較快,,效果不明顯,。
實際應(yīng)用時,可以結(jié)合定時器,,每隔一定時間改變一次寄存器R79,、R80的值,一般是按遞增的等差數(shù)列賦值,,可以獲得很好的視覺效果,。所賦最大值不能超過319, 因為屏幕最大只有320行; 當(dāng)所賦值為319, 并且R75,、R76所賦值為0時,,可實現(xiàn)全屏畫面的滾動顯示。
4 結(jié)束語
該顯示系統(tǒng)調(diào)試完成后,,通過串口和GPS 模塊連接,,可以實時顯示經(jīng)度、緯度,、時間等信號,,顯示效果良好。文中給出的子程序的形參多為2 字節(jié)的整型值,,可直接用于16位,、32位單片機,兼容性強,,為其在便攜式系統(tǒng)中的應(yīng)用提供了一種方法,。