圖形LCD在嵌入式應(yīng)用程序中的應(yīng)用
LCD具有廣泛的應(yīng)用,包括便攜式消費設(shè)備如手機,計算器,手表,MP3播放器;國內(nèi)設(shè)備如微波爐,電視機,收音機,音響設(shè)備,視頻播放器,廚具;汽車,飛機,船只用的儀器面板;還有其它方方面面的應(yīng)用。LCD重量輕,攜帶方便,價格低廉,質(zhì)量可靠。他們消耗很小的功率且更容易被眼睛接受。因為LCD不使用熒光粉及與大部分舊的CRT顯示器相關(guān)的老化圖像。彩色圖形LCD(GLCDs)正越來越多地用于便攜式應(yīng)用,如手機,電子游戲,以及工業(yè)控制和監(jiān)控設(shè)備。
基本上,LCD是由許多充滿液晶的像素組成,它們放在光源(或反射源)前以產(chǎn)生彩色或黑白圖像。LCD的每個像素在所謂的銦錫氧化物(ITO)透明電極和偏光過濾器間是均衡的。LCD自身不產(chǎn)生任何光線,他們需要一個外部的光源。大多數(shù)顯示器由放在LCD面板背后的光源提供光。
基于使用的有效尋址機制,我們可以把LCD分為無源矩陣尋址和有源矩陣尋址。無源矩陣尋址用于早期的顯示器,只有M + N個控制信號用于M×N像素顯示屏的尋址。要打開一個像素,一個電荷被下放,相應(yīng)的列和相應(yīng)的行接地。這一行和列交點的像素接收到電壓,解開該像素的液晶。當(dāng)我們禁用一個像素時,液晶就不能從一個狀態(tài)到另一狀態(tài),因為這需要一段時間。此外,因為一個像素相當(dāng)于一個電容器,兩個金屬電極由模具材料分開,當(dāng)要刪除一個電荷時,它需要一定時間給電容放電,從而減緩像素響應(yīng)時間。雖然無源矩陣尋址簡單,但是響應(yīng)時間相當(dāng)緩慢。此外,它也很難準確地控制充電,當(dāng)像素被解開,它周圍的像素也有部分地解開,致使圖像出現(xiàn)模糊。圖1顯示了無源矩陣顯示器的功能結(jié)構(gòu)。
有源矩陣尋址(見圖2)基于薄膜晶體管(TFT)快速使電容放電,從而提高響應(yīng)時間。國內(nèi)大多數(shù)產(chǎn)品,消費設(shè)備和工業(yè)圖形LCD時下都采用了TFT技術(shù)。一個特定的像素通過切換適當(dāng)?shù)男胁⑾路乓粋€電荷到相應(yīng)的列來選擇。
由于所有其它行與此列的交點被關(guān)閉,只有指定的像素的電容接收到電荷。通過控制提供給晶體的電壓值我們可以控制解開的像素量。這樣顯示能加快響應(yīng)時間且能準確地控制像素,從而產(chǎn)生了清晰的圖像。TFT顯示屏的制作是復(fù)雜和昂貴的。像素之間的晶體管在LCD玻璃上被高精度蝕刻。
彩色圖形LCD非常受歡迎,尤其是在消費電子設(shè)備中。彩色LCD中的一個像素由紅,綠和藍三個子像素彩色濾光片組成。通過控制施加電壓我們可以修改每個超過256色調(diào)強度的子像素。因此,有了三個子像素,我們可以生成1680萬色,需要大量在玻璃上蝕刻的晶體管。
現(xiàn)在有各種技術(shù)用于創(chuàng)建黑白和彩色顯示器,這些技術(shù)基于解開的液晶數(shù)量。一些常用的有:TN(Twisted Nematic),HTN(High Twisted Nematic),STN(Super Twisted Nematic),F(xiàn)STN(Film compensated Super Twisted Nematic),DTSN(Double Super Twisted Nematic),CSTN(Colour Super Twisted nematic)和其它一些技術(shù)。GLCD模塊通常連同控制器芯片放置在PCB上,該芯片可以通過串口或并口連接。一些常用的GLCD控制器有T6963C,KS0108,LR35503,HDM6448等。大多嵌入式編譯器為GLCD顯示和處理圖像提供函數(shù)集形式的軟件庫。有了這些庫的幫助,用戶可以顯示位圖圖像,畫圖,畫正方形、矩形、圓形,顯示文本,等等。
本文簡單介紹了GLCD的特點,并展示了基于TFT-彩色圖形LCD項目如何用專用的軟硬件工具輕松設(shè)計的。
GLCD軟件工具的應(yīng)用
一個GLCD項目的開發(fā)需要編程每個GLCD像素來創(chuàng)建圖像。這個過程通常使用GLCD圖像制作軟件工具實現(xiàn),因為手動制作非常繁瑣。該軟件工具使用戶在電腦屏幕上通過描影或著色創(chuàng)建所需的GLCD圖像,或從一個文件中導(dǎo)入圖像。
軟件最后通常會創(chuàng)建許多位圖數(shù)據(jù)來描繪圖像,而這些數(shù)據(jù)可以加載到目標(biāo)GLCD設(shè)備,以顯示所需的圖像?,F(xiàn)在大部分可用的軟件工具都是采用位圖轉(zhuǎn)換格式,可轉(zhuǎn)換一個標(biāo)準圖像文件為一個數(shù)據(jù)文件,這些數(shù)據(jù)文件可以用于高層次的編程語言。以下介紹一些流行的GLCD軟件工具。
bitmap2lcd軟件使用戶能夠?qū)胍粡垬?biāo)準圖形編程格式的黑白圖像到電腦屏幕上,然后創(chuàng)建此圖的GLCD數(shù)據(jù)文件,該數(shù)據(jù)文件可用于嵌入式C,Pascal,Basic或匯編的項目。帶有限制功能的免費版本的程序可以從下載。位圖轉(zhuǎn)換軟件可從GLCD工具下載,它可轉(zhuǎn)換位圖和圖標(biāo)為用于嵌入式圖形LCD顯示的C和C + +程序。此程序的優(yōu)點是黑白和彩色圖像都可以操縱。
mikroElektronika公司的GLCDFont Creator是一個免費軟件,它可為圖形LCD創(chuàng)建字體、符號和圖形圖標(biāo)。這個軟件的優(yōu)點是,它兼容所有的Windows字體以及那些導(dǎo)入和使用的字體。該軟件受mikroElektronika公司所有的嵌入式編譯器支持,且視覺效果如倒置,描繪輪廓和移們都可應(yīng)用來設(shè)計字體。
可視化GLCD軟件是圖形開發(fā)軟件,根據(jù)觸摸屏機制支持大量黑白顯示。用戶可以通過放置可視化組件如標(biāo)簽,方框,圈,圖像等在屏幕上,或者通過啟用或禁用屏幕上的單個像素建立自己的GLCD圖像。
設(shè)計完整的GLCD屏幕可以不用任何編程知識。屏幕上的圖像轉(zhuǎn)換成一個數(shù)據(jù)文件后,可以導(dǎo)入并在程序中用來顯示創(chuàng)建的圖像。可視化GLCD完全受mikroElektronika公司所有的嵌入式編譯器支持,屏幕圖像可以很容易地包含進其編譯器。
mikroElektronika開發(fā)的可視化TFT也許是市場上最先進的嵌入式圖形液晶顯示編程工具之一。由于這個軟件用于文中給出的項目,值得看看這個先進的軟件工具的功能。
可視化TFT是一個基于GUI的彩色圖形LCD開發(fā)軟件,支持觸摸屏設(shè)備,應(yīng)用于現(xiàn)代TFT GLCD的開發(fā)。該軟件可用于創(chuàng)建圖形圖像,通過用戶創(chuàng)建基于觸摸屏的可放置在屏幕上任意位置的事件驅(qū)動對象來創(chuàng)建圖形應(yīng)用程序。例如,用戶可以放置一個按鈕在屏幕上,然后確定按下或點擊按鈕時應(yīng)采取的行動。GLCD圖像代碼和用戶操作模板代碼全部由軟件自動創(chuàng)建。用戶只需要編寫用戶操作的程序代碼,例如當(dāng)按鈕被點擊時的代碼??梢暬疶FT軟件支持mikroElektronika所有的TFT開發(fā)板。這些板被稱為多媒體(或mikromedia)板,其中有些板應(yīng)用于高端的PIC單片機。
多媒體板一側(cè)主要包含一個320×240 TFT彩色顯示屏,另一側(cè)為一個4層PCB,上面有微控制器,觸摸屏硬件,電源,立體聲MP3解碼器,加速器芯片,閃存存儲器,SD卡接口和一個迷你USB接口。[!--empirenews.page--]
單片機的I / O端口被引到板的邊緣,外部設(shè)備(例如傳感器)可以很容易地連接到微控制器。利用可視TFT軟件開發(fā)的代碼可以用嵌入式編譯器(例如mikroC或mikroBASIC)編譯,然后用主板上引導(dǎo)加載程序幫助加載到目標(biāo)多媒體板。
彩色GLCD項目例程
本節(jié)介紹了基于微控制器的彩色圖形項目的設(shè)計。該項目是一個簡單的秒倒數(shù)計時器,利用了Visual TFT圖形開發(fā)軟件。圖3顯示的顯示布局包括:
●一個數(shù)字軟鍵盤,用于輸入倒計時初始值;●START軟按鈕啟動倒計時的過程;●CLR軟按鈕清除倒計時初始值;●一個文本框來顯示倒數(shù)過程中當(dāng)前值。
GLCD屏幕設(shè)計使用Visual TFT(VTFT)圖形開發(fā)軟件。此外, VTFT自動生成圖形處理代碼。
VTFT軟件已用于開發(fā)mikromedia系列智能彩色TFT板。一個例子是應(yīng)用于PIC18系列微控制器的Mikromedia板,如圖4所示。這些電路板適用于各種通用的微控制器。
如上所述,除了帶有觸摸屏硬件的320×240像素的彩色圖形LCD,板還包含PIC18F87J50功能強大的單片機,帶有安裝引導(dǎo)程序軟件的USB接口,MP3音頻處理,SD卡硬件和板載加速度芯片。
一個典型的圖形應(yīng)用是用戶使用VTFT軟件所提供的各種工具創(chuàng)建GUI屏幕。自動生成的圖形和主要點擊的用戶操作代碼通過已經(jīng)加載到目標(biāo)微控制器的bootloader軟件和免費提供的PC端USB接口從PC加載到目標(biāo)微控制器的程序存儲器。
一個項目可以包含多個屏幕和布局,一個應(yīng)用程序可以選擇和顯示任何所需的屏幕。如圖6所示,單片機端口與GLCD板之間的硬件連接,觸摸屏的硬件配置指定使用VTFT的設(shè)置選項。
該項目的框圖如圖7所示。單片機端口J連接到GLCD模塊的數(shù)據(jù)端口。同樣,如圖6所示,端口D,G和H的一些引腳連接到GLCD控制引腳。微控制器使用外部8MHz晶體振。時鐘乘以6倍使工作頻率為48MHz。
圖8在VTFT屏幕顯示了倒數(shù)計時器的顯示布局。鍵盤和START/ CLR按鈕使用圓角框按鈕工具創(chuàng)建。這個工具有這樣的特性:
各種事件驅(qū)動程序子程序如“OnClick” ,“OnDown”,“OnUp”等可附加在上面。實際倒計時值每一秒鐘顯示在圓框上。屏幕左上角一個LOGO格式的圖像描繪了板上圖像的功能。
倒數(shù)計時器的操作是這樣的,用戶最初輸入倒數(shù)計時值并按下啟動按鈕。最初的計數(shù)值通過點擊CLR按鈕清除。
顯示屏幕設(shè)計的代碼由VTFT軟件自動生成。用戶操作代碼如代碼處理關(guān)鍵點擊,通過軟件提供的模板輸入。當(dāng)完成屏幕設(shè)計時且產(chǎn)生所需的代碼時用戶激活編譯器(如mikroBASIC編譯器)。用戶一起編譯所有的程序模塊以生成可以加載到目標(biāo)單片機的程序存儲器的程序hex文件。
實際的程序加載過程可通過提供的引導(dǎo)程序或者一個適用的編程器(例如,mikroProg編程器)完成。圖9顯示用戶程序的操作:處理這個項目的按鍵點擊并顯示屏上倒計時值。這是唯一由用戶開發(fā)的的代碼。
該方案利用MikroBASIC編譯器開發(fā)。mikroBASIC是一種通用集成高層的語言,適用于PIC微控制器的開發(fā)。
該語言提供了大量的庫函數(shù),應(yīng)用于連接外圍設(shè)備,如RS232,RS485的I2C,SD卡,LCD,GLCD,以太網(wǎng)等。用戶點擊鍵盤上的數(shù)字時子程序更新計算總倒計時值。此外,點擊的數(shù)字顯示在屏幕上。子程序strtClick顯示當(dāng)前倒計時值,遞減1計數(shù),在循環(huán)內(nèi)有一秒的延遲。
雖然圖形LCD的例子在這里的展示非常簡單,但實際工程應(yīng)用中圖形LCD領(lǐng)域是無窮無盡的,而且可能十分復(fù)雜,但同時也是使用VTFT軟件的人性化的應(yīng)用。例如,mikromedia板可以連接外部傳感器,執(zhí)行器,或電機和可以很容易監(jiān)測或控制的設(shè)備,通過VTFT軟件的幫助以開發(fā)簡單的,人性化的,基于圖形的應(yīng)用。mikroElektronika包括許多有用的實際應(yīng)用,展示了使用VTFT軟件的mikromedia板。





