《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 彩色液晶模塊的圖文與曲線顯示方法
彩色液晶模塊的圖文與曲線顯示方法
來源:電子技術(shù)應(yīng)用2012年第3期
秦 剛,段晨東,李 磊,代 杰
長安大學(xué) 電子與控制工程學(xué)院,陜西 西安710061
摘要: 為了使低端MCU獲取高性能的實(shí)時(shí)監(jiān)視界面,研究了基于彩色液晶模塊的字符串、靜態(tài)與動(dòng)態(tài)圖像的顯示方法。以微控制器為核心,采用8 bit總線方式開發(fā)了彩色TFT液晶模塊的智能儀表界面。在論述圖像轉(zhuǎn)換像素矩陣原理的基礎(chǔ)上,研究了圖文混合顯示的方法和實(shí)現(xiàn)步驟,建立了測量參數(shù)與顯示模塊像素之間的坐標(biāo)轉(zhuǎn)換關(guān)系,并且利用滾屏刷新的方法實(shí)現(xiàn)實(shí)時(shí)曲線的動(dòng)態(tài)顯示。用實(shí)例驗(yàn)證了文本、圖形和實(shí)時(shí)曲線顯示方法的可行性。
中圖分類號(hào): TP391.8;TH865
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)03-0054-03
Text-image and curve display methods using color LCD module
Qin Gang,Duan Chendong,Li Lei,Dai Jie
School of Electronic & Control Engineering, Chang′an University, Xi′an 710061,China
Abstract: In order to obtain a high performance interface for realtime monitoring by using a low-end MCU, some text-image and curve display methods using a color LCD module(LCM) are introduced in this paper. By using a microcontroller as a core to build an intelligent meter, an operation interface of the meter is developed with 8-bits data bus based on a TFT LCM. Then a text-image mixed display method and its implement procedures are described on the basis of the principle of image to LCM pixel-matrix conversion. To display realtime data with curves dynamically, some coordinate transformation equations are found for the conversion of measured parameter values to LCM pixels, and as the curves displaying a scrolling display window refresh approach is applied. The display methods for text, image and realtime curve are shown to be feasible by some engineering examples in the paper.
Key words : intelligent meter;microcontroller;color LCM;text-image mixed display;realtime curve

    傳統(tǒng)的單色智能儀表升級成彩色界面顯示時(shí),彩色顯示字符和圖像的方法與單色不同,且單色顯示時(shí)所用的8 bit數(shù)據(jù)總線與低端MCU難以完成彩色液晶顯示,以至于有時(shí)必須重新設(shè)計(jì)電路,嚴(yán)重增加了升級產(chǎn)品的成本。另外,智能儀表工作時(shí),往往要求實(shí)時(shí)曲線動(dòng)態(tài)顯示以便監(jiān)視設(shè)備的工作情況。因此,如何設(shè)計(jì)友好的人機(jī)交互界面的問題日漸突出。

    本文以微控制器STC12C5A16S2為核心,使用OCM480272T430液晶模塊開發(fā)了基于彩色TFT液晶模塊的智能儀表界面。在研究彩色圖像轉(zhuǎn)換像素矩陣的原理基礎(chǔ)上,采用8 bit總線方式實(shí)現(xiàn)了靜態(tài)與動(dòng)態(tài)圖像的顯示,可以達(dá)到16 bit真彩色的圖像顯示效果。另外還研究了中西文混合字符串的顯示方法。為了更有效地對數(shù)據(jù)實(shí)時(shí)性監(jiān)控,研究了實(shí)時(shí)曲線的動(dòng)態(tài)顯示和刷新方法。并用實(shí)例驗(yàn)證了方法的可行性。
1 MCU與彩色液晶顯示器的接口設(shè)計(jì)
1.1 MCU的選擇

    STC12C5A16S2是宏晶公司推出的一款高性能增強(qiáng)型51系列微控制器,它以單時(shí)鐘/機(jī)器周期(1T)模式運(yùn)行,指令系統(tǒng)與傳統(tǒng)8051完全兼容,但運(yùn)行速度是8051的8~12倍。其I/O口兼容傳統(tǒng)8051的準(zhǔn)雙向口/弱上拉模式,同時(shí)增加了強(qiáng)推挽/強(qiáng)上拉、單輸入/高阻、開漏等模式,系統(tǒng)設(shè)計(jì)時(shí),用戶可以根據(jù)需要對I/O模式設(shè)定[1]。傳統(tǒng)的智能儀表中MCU主要以C51系列單片機(jī)為主,STC12C5A16S2豐富的硬件資源、高速運(yùn)算性能,向下可以兼容傳統(tǒng)低端51系列單片機(jī),向上可以支持智能儀表功能擴(kuò)展。其良好的性價(jià)比,可以滿足各種智能儀表核心升級的要求。
1.2 OCM480272T430-1B彩屏顯示模塊
    OCM480272T430-1B是一款480×272的TFT彩屏LCM,采用RA8870控制器,支持2D引擎與幾何圖形加速的文字、圖像以及圖文混合模式,僅對寄存器操作就可以繪制直線、矩形以及圓。該模塊內(nèi)置有CGROM可顯示ISO8859-1/2/3/4字形,外掛字庫可顯示中文繁、簡字體。OCM480272T430提供GB-2312及BIG-5編碼的16×16點(diǎn)陣字庫,內(nèi)嵌多種文本顯示效果處理,例如:1~4倍的水平和垂直方向的獨(dú)立放大,90°、180°、270°文字旋轉(zhuǎn)顯示功能。另外,該模塊提供文字光標(biāo)和32×32像素的圖形光標(biāo)功能[2]。在OCM480272T430 LCM內(nèi)部,RA8870控制器直接通過DMA方式[3],不需要MCU讀取顯存資料,顯示速度快、畫面流暢,不會(huì)產(chǎn)生拖影、“瀑布”等現(xiàn)象干擾,為實(shí)時(shí)數(shù)據(jù)顯示提供了實(shí)時(shí)刷新速度,圖像可靠。此外,模塊本身的文字、圖形處理功能可以有效地簡化代碼,使在應(yīng)用系統(tǒng)中選擇小容量的MCU實(shí)現(xiàn)圖文混合的實(shí)時(shí)數(shù)據(jù)顯示成為可能。因此,OCM480272T430-1B適合用于儀表數(shù)值監(jiān)視和曲線顯示。
1.3 MCU與LCM的接口設(shè)計(jì)
    MCU與LCM的接口電路如圖1所示。LCM以8 bit數(shù)據(jù)總線模式與MCU的P0口相連,此時(shí),P0口作為傳輸數(shù)據(jù)的輸入/輸出口,P2.0~P2.5以及P3.2、P3.3作為MCU與LCM的聯(lián)絡(luò)控制信號(hào)。在系統(tǒng)中,P0口設(shè)置為準(zhǔn)雙向口模式。

 

 


2 字符串的顯示
    在智能儀器儀表中,字符顯示(包括漢字和西文字符)常被用于參數(shù)顯示、操作提示、報(bào)警、菜單以及幫助信息。LCM提供了漢字和4種西文字庫,支持多種字體及處理效果,西文字型點(diǎn)陣為8×16半型字,漢字為16×16宋體全型字,其顯示流程如圖2所示。

    不同于單色顯示,彩色LCM在顯示時(shí),首先要開辟顯示區(qū)域,顯示區(qū)域的大小可以根據(jù)顯示內(nèi)容多少確定,其范圍不可超過480×272;然后,在已設(shè)定的顯示區(qū)域內(nèi)定位字符的顯示位置。
    LCM被復(fù)位后,默認(rèn)為圖形模式,在字符顯示之前,須開啟文本模式,它由LCM內(nèi)存寫入控制寄存器0(MWCR0)設(shè)定[3]。LCM背景色設(shè)定有2種形式:一種是BET背景色(64 K色),另一種是文本背景色(256色)。一般情況下使用文本背景色。LCM嵌入了多種文本顯示效果處理方式,通過字型控制寄存器1(FNCR1)的設(shè)定來實(shí)現(xiàn)[3],擬定文本顯示效果一旦設(shè)定完畢,LCM自動(dòng)實(shí)現(xiàn)顯示效果處理。
    由于在文本模式下,LCM對西文采用ASCII碼方式提取字符編碼,而對漢字字符采用GB-2312內(nèi)碼方式提取漢字字型編碼。因此,字符串顯示時(shí),須檢查被寫入數(shù)據(jù)的第一個(gè)字節(jié),如果此字節(jié)小于80 H時(shí),則把這次數(shù)據(jù)當(dāng)成半型字(ASCII碼)來譯碼;如果此字大于80 H時(shí),則當(dāng)成全型字(漢字)來譯碼,顯示漢字時(shí),需要設(shè)定關(guān)閉ASCII碼模式。
3 圖形及曲線的顯示
    智能儀器儀表參數(shù)常采用曲線方式顯示,以便觀察參數(shù)的變化軌跡。另外,在系統(tǒng)啟動(dòng)初始化時(shí),常常采用一個(gè)引導(dǎo)界面,如廠家名稱和徽記。前一種模式需要根據(jù)參數(shù)值的大小實(shí)時(shí)修正顯示位置,是一種動(dòng)態(tài)圖形顯示。而后一種只是把事先準(zhǔn)備的圖形映射到顯示模塊上,是一種靜態(tài)顯示。
3.1 圖形靜態(tài)顯示
    圖1所示的MCU與LCM連接采用8 bit數(shù)據(jù)總線方式。LCM在8 bit數(shù)據(jù)總線模式下,若以256色格式輸出,像素點(diǎn)的色彩信息可在一個(gè)發(fā)送周期內(nèi)完成,如果以多于256色格式輸出,則需分2個(gè)周期發(fā)送[3]。在圖片顯示之前必須把圖片轉(zhuǎn)換成像素信息,即把圖片中每一個(gè)像素點(diǎn)轉(zhuǎn)換成用RGB表示的色彩編碼信息。以16 bit真彩色80×80像素的圖片為例:1個(gè)像素用2 B表示,經(jīng)過轉(zhuǎn)換后的編碼矩陣為160×80維的單字節(jié)矩陣。在LCM顯示時(shí),從用戶指定存儲(chǔ)位置開始,依次提取矩陣元素至顯示存儲(chǔ)區(qū)。
    與字符顯示的文本模式不同,圖像顯示需要使用圖形模式。在圖形模式中,控制器將輸入源開放,即將設(shè)置存儲(chǔ)位置與代碼長度的權(quán)限交給用戶自行設(shè)定。顯示靜態(tài)圖像時(shí),首先開辟顯示區(qū)域,開啟圖形模式,選定顯示的起始坐標(biāo),再將編碼矩陣按行方式寫入到選定的工作窗口中顯示。使用靜態(tài)圖文混合方式顯示靜態(tài)畫面的程序流程圖如圖3所示。

    在應(yīng)用程序運(yùn)行之前要對LCM進(jìn)行初始化,以保證LCM能處在正常工作中。LCM復(fù)位是對LCM內(nèi)部控制器進(jìn)行一次重啟,使其內(nèi)部寄存器處于缺省的狀態(tài)。初始化液晶是對LCM內(nèi)系統(tǒng)時(shí)鐘以及相關(guān)內(nèi)部寄存器進(jìn)行設(shè)置。另外,液晶的屏幕亮度可以在PWM背光設(shè)定。設(shè)定背景色時(shí),把全屏作為一個(gè)顯示區(qū)域創(chuàng)建,然后以設(shè)定需要的背景色清除顯存。否則,顯示時(shí)會(huì)出現(xiàn)屏幕背景花屏的現(xiàn)象。
    文字處理有2種實(shí)現(xiàn)方法:(1)如果開啟文本模式,可不用開啟工作窗口,直接設(shè)定起始坐標(biāo),給定文本的輸入位置。圖3采用此方法。(2)如果不開啟文本模式,則必須指定顯示區(qū)域,以顯示放大后的字體,同時(shí)設(shè)定起始坐標(biāo)、給定文本的輸入位置。此外,對于單圖層與其他窗口無相交面積的情況可以不開背景穿透。
3.2 圖形動(dòng)態(tài)顯示(實(shí)時(shí)數(shù)據(jù)的曲線顯示)
    在智能儀表中,利用曲線動(dòng)態(tài)顯示更能方便地對數(shù)據(jù)實(shí)時(shí)性監(jiān)視、突出樣本曲線的變化規(guī)律。

    顯示區(qū)域刷新方法有2種:(1)清屏刷新。當(dāng)數(shù)據(jù)顯示到達(dá)曲線顯示區(qū)域最大邊界時(shí),將顯示區(qū)域內(nèi)的像素全部清除,用于載入新的像素顯示;(2)滾動(dòng)刷新。將顯示刷新的時(shí)間設(shè)置成滾動(dòng)時(shí)間,當(dāng)?shù)竭_(dá)滾動(dòng)時(shí)間時(shí),在滾動(dòng)區(qū)域內(nèi)將原像素按一定的偏移值移動(dòng),將滾動(dòng)后的像素清除同時(shí)載入新的像素。這樣,顯示區(qū)域可以逐步得到新的數(shù)據(jù)顯示。與清屏刷新相比,滾動(dòng)刷新更有利于觀察新舊數(shù)據(jù)的聯(lián)系和對比,因此選取滾動(dòng)刷新實(shí)現(xiàn)曲線的實(shí)時(shí)顯示。
    實(shí)現(xiàn)滾動(dòng)刷新需要設(shè)定滾動(dòng)區(qū)域、滾動(dòng)偏移值與滾動(dòng)時(shí)間。滾動(dòng)區(qū)域用于指定滾動(dòng)的范圍,避免影響其他屏幕信息。滾動(dòng)的偏移值用于指定滾動(dòng)的幅度和方向(水平方向和垂直方向)。滾動(dòng)時(shí)間可由定時(shí)器定時(shí)中斷,或者在滾動(dòng)區(qū)域內(nèi)設(shè)定一個(gè)滿幅值,當(dāng)像素到達(dá)該值時(shí),區(qū)域開始滾動(dòng)刷新。
    根據(jù)實(shí)際采樣時(shí)間,可以設(shè)計(jì)出對應(yīng)數(shù)值的網(wǎng)格線以方便對數(shù)據(jù)的監(jiān)測。更改相應(yīng)的參數(shù)就可以得到任意寬度的網(wǎng)格反映采樣時(shí)間的變化。實(shí)時(shí)曲線顯示的程序流程如圖5所示。圖6為實(shí)時(shí)數(shù)據(jù)曲線顯示界面,白色為主界面顏色,藍(lán)色為顯示區(qū)域工作窗口,滾動(dòng)區(qū)域與工作窗口大小一致。滾動(dòng)偏移值為滾動(dòng)區(qū)域水平方向的一半。    本文以微控制器STC12C5A16S2為智能儀表核心,利用OCM480272T430模塊開發(fā)了基于彩色TFT液晶模塊的智能儀表界面。采用8 bit總線方式實(shí)現(xiàn)了基于彩色液晶模塊的靜態(tài)與動(dòng)態(tài)圖像的顯示方法實(shí)現(xiàn)16 bit真彩色圖像的顯示,滿足了傳統(tǒng)智能儀表升級的需要。

    字符串顯示時(shí),通過調(diào)用字符庫,可根據(jù)需要添加文本處理功能,實(shí)現(xiàn)顯示字符的放大、旋轉(zhuǎn)等;曲線顯示時(shí),通過建立測量參數(shù)與顯示模塊像素之間的坐標(biāo)轉(zhuǎn)換關(guān)系,不斷更新曲線末端坐標(biāo),用繪制直線命令實(shí)現(xiàn)實(shí)時(shí)曲線的顯示。另外,利用滾屏方法可實(shí)現(xiàn)實(shí)時(shí)曲線的動(dòng)態(tài)刷新,為基于彩屏LCM的智能儀表人機(jī)交互界面設(shè)計(jì)提供了有效的實(shí)現(xiàn)方法。
參考文獻(xiàn)
[1] STC12C5A60S2系列單片機(jī)器件手冊[DB/OL].URL:http: //www.stcmcu.com/datasheet/stc/STC-AD-PDF/STC12C5A-60S2.pdf, 2011-10-17.
[2] OCM480272T430-1B彩屏帶觸摸屏說明書[DB/OL].URL:http://www.gptlcm.cn/CN/list.asp?proname=OCM480272-T430-1B,2011-10-17.
[3] RA8870文字/圖形 TFT LCD控制器規(guī)格書[DB/OL]. URL:http://www.raio.com.tw/S%20version/s_product.8870. htm,2011-10-17.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。