章明喆 李小波
摘 要 目前,液晶顯示器已經(jīng)在工業(yè)生產(chǎn)的控制系統(tǒng)當(dāng)中得到了較為廣泛的應(yīng)用。而比較常用的液晶顯示器可以分成字符液晶顯示器以及圖像液晶顯示器這兩個類別。本文主要就液晶顯示的應(yīng)用控制系統(tǒng)在硬件以及軟件設(shè)計方面進(jìn)行了簡要的探討。
關(guān)鍵詞 液晶顯示器;控制系統(tǒng);圖像液晶顯示器
1 液晶顯示應(yīng)用控制系統(tǒng)硬件設(shè)計
1.1 硬件結(jié)構(gòu)設(shè)計
為了顯示當(dāng)前溫度值和繪制實(shí)時溫度曲線,系統(tǒng)硬件主要采用單片機(jī)、字符液晶顯示器、圖形液晶顯示器和A/D轉(zhuǎn)換器等組成一個單片機(jī)控制系統(tǒng)。當(dāng)調(diào)整滑動變阻器(模擬溫度的變化)時,字符液晶顯示器能夠顯示溫度的當(dāng)前值及變化過程,而圖形液晶顯示器能夠自動以打點(diǎn)方式繪出溫度曲線并顯示漢字等。
1.2 Proteus電路原理圖設(shè)計
8255A的PA、PB和PC口分別接LCDl602和LCDl2864的數(shù)據(jù)總線及控制端。單片機(jī)的P0、P2口接8255A的數(shù)據(jù)總線,因Po口驅(qū)動負(fù)載能力較弱,故必須接上拉排阻;P0口作為8255A的低八位地址數(shù)據(jù)線,P2口作為8255A的高八位地址。P1口接ADl674的高8位數(shù)據(jù)線DB4-DBll,ADl674的低4位數(shù)據(jù)線DBO~DB3接單片機(jī)的P1.4~P1.7。P3口用來控制A/D轉(zhuǎn)換器和液晶顯示器。其中,P3.0接ADl674的轉(zhuǎn)換結(jié)束標(biāo)志位STS,當(dāng)STS輸出為高電平時表明轉(zhuǎn)換正在進(jìn)行,當(dāng)STS輸出為低電平時表明轉(zhuǎn)換結(jié)束;P3.1~P3.2分別接ADl674的位尋址/短周期轉(zhuǎn)換選擇輸入端A0和ADl674的操作使能端CE;P3.3接ADl674的讀/轉(zhuǎn)換狀態(tài)輸入端R/C;P3.4~P3.5接LCDl2864左、右半屏的片選信號/CSl、/CS2,選中左半屏?xí)r,/CSl為低電平,/cs2為高電平;選中右半屏?xí)r,/cs2為低電平,/CSl為高電平;P3.6~P3.7分別接8255A的寫入信號WR和讀信號線RD?;瑒幼冏杵饔脕砟M變化的溫度量,通過電壓跟隨緩沖器接至模/數(shù)轉(zhuǎn)換器ADl674。8255A的PA口接字符液晶顯示器(Proteus中為LM01 6L)的8位并行總線,PB口接圖形液晶顯示器(Proteus中為LGMl2641BSlR)的8位并行總線。PC0~PC2接圖形液晶顯示器的控制端,PC5~PC7接字符液晶顯示器的控制端。LCDl2864的GND接地,VCC接+5 V電源,VO通過10KΩ變阻器接+5 V電源,調(diào)節(jié)滑動變阻器可以調(diào)節(jié)液晶屏亮度。RST為復(fù)位端,低電平有效。LCDl602的VD。接+5 V電源,VSS接地,VEE通過10KΩ變阻器接+5V電源,調(diào)節(jié)滑動變阻器可以調(diào)節(jié)液晶屏亮度[1]。
2 液晶顯示應(yīng)用控制系統(tǒng)軟件設(shè)計與實(shí)現(xiàn)
2.1 主程序流程
在系統(tǒng)上電之后,先要對液晶顯示器加以初始化,其中包含顯示的方式、首地址以及字體的格式等。繼而啟動十二位的A/D轉(zhuǎn)換器,利用單片機(jī)針對轉(zhuǎn)換的結(jié)果加以處理,對字符式的液晶顯示器(LCD1602)以及圖像式的液晶顯示器(LCD12864)加以控制,繼而分別對目前的溫度加以顯示,并且構(gòu)成溫度的曲線圖。
2.2 子程序
A/D轉(zhuǎn)換程序,該程序包含數(shù)據(jù)的采集以及轉(zhuǎn)換這兩個部分。AD1674的STS主要是A/D轉(zhuǎn)換器工作狀態(tài)的一個指示信號,如果對A/D
轉(zhuǎn)換加以啟動,STS就會變成高電平,而在轉(zhuǎn)換結(jié)束之后,STS就會變成低電平。單片機(jī)不光能夠利用中斷的形式,還能夠利用查詢的形式對AD1674所處的工作狀態(tài)加以確認(rèn)。因?yàn)锳D1674是一種高速A/D的轉(zhuǎn)換器,它從啟動轉(zhuǎn)換指導(dǎo)對轉(zhuǎn)換結(jié)果加以獲取的這段時間不會超過十微秒,所以利用查詢方式不會對程序執(zhí)行的效率產(chǎn)生影響。而數(shù)據(jù)轉(zhuǎn)換是將所采集到的那些二進(jìn)制數(shù)據(jù)一一轉(zhuǎn)換成為十進(jìn)制的數(shù)據(jù),需要保留到一位小數(shù),繼而分別供給給字符以及圖形式的液晶顯示器加以調(diào)用和顯示。
2.3 液晶顯示程序液晶顯示程序主要包含LCD1602以及LCD12864顯示程序
其中LCD1062型的夜景顯示控制器當(dāng)中的CGROM已然存儲了一百九十多個不同點(diǎn)陣字符的圖形(大多數(shù)都是8*8的點(diǎn)陣)。每個字符都具備固定顯示代碼,在顯示的時候,單片機(jī)主要將相互對應(yīng)的顯示代碼傳送給液晶顯示的控制器當(dāng)中的顯存就可以了。同樣的道理,在對實(shí)時溫度加以顯示的時候,將A/D轉(zhuǎn)換的結(jié)果從單片機(jī)內(nèi)存當(dāng)中取出,然后直接利用數(shù)據(jù)的接口傳送到LCD顯存當(dāng)中也就可以了。LCD12864顯示程序主要包含實(shí)時溫度的曲線顯示、圖形顯示以及漢字顯示。LCD12864所對應(yīng)的溫度曲線顯示呈現(xiàn)出了動態(tài)的顯示過程,要對溫度的變化加以實(shí)時的呈現(xiàn)。其中包含兩個關(guān)鍵點(diǎn):①單片機(jī)當(dāng)中A/D轉(zhuǎn)換的數(shù)據(jù)要按照相應(yīng)的順序存放,也就是依據(jù)轉(zhuǎn)換時間向存儲器當(dāng)中進(jìn)行連續(xù)的存儲。②在單片機(jī)朝著LCD12864按照次序傳輸數(shù)據(jù)的時候,主要是根據(jù)所顯示數(shù)據(jù)大小確定LCD縱坐標(biāo)的實(shí)際位置,而且橫坐標(biāo)會自動加一。這樣一來,實(shí)時的電壓數(shù)據(jù)就能夠點(diǎn)亮LCD當(dāng)中的坐標(biāo)點(diǎn),一群連續(xù)的點(diǎn)也就能夠顯示出實(shí)施溫度的變化,繼而形成曲線。LCD12864當(dāng)中所顯示的漢字是三個字——曲線圖,每個漢字都是16*16的點(diǎn)陣漢字。一般可以將16*16的點(diǎn)陣漢字劃分成為四個部分,只要是確定了顯示的頁、起始列以及行的地址,就能夠在程序的字模數(shù)據(jù)塊當(dāng)中連續(xù)獲得十六個字節(jié)顯示數(shù)據(jù),也就是顯示出一個字的上半部分。而要是在這個時候繼續(xù)從數(shù)據(jù)塊當(dāng)中取出十六個字節(jié),不過部隊(duì)顯示地址加以變更,這個字下半部分也就會顯示在上半部右側(cè),也就是說列地址會自動加一。在對所顯示的數(shù)據(jù)加以顯示的時候,必須要對頁地址以及起始列地質(zhì)加以重新設(shè)置。這樣,完整的漢字也就呈現(xiàn)了出來。
讓兩種較為常用的液晶顯示的控制器相互配合,利用A/D轉(zhuǎn)換器以及單片機(jī)I/O口的擴(kuò)展單元,針對系統(tǒng)的硬件以及軟件進(jìn)行了系統(tǒng)性的分析、設(shè)計以及仿真,對液晶顯示器的圖片、文字以及實(shí)施數(shù)據(jù)顯示等各個方面的功能進(jìn)行了綜合性的應(yīng)用。利用Proteus仿真以及電路加以實(shí)現(xiàn),證明系統(tǒng)設(shè)計所具備的正確性以及可實(shí)現(xiàn)性。
參考文獻(xiàn)
[1] 張友德.單片微型機(jī)原理、應(yīng)用與實(shí)驗(yàn)[M].上海:復(fù)旦大學(xué)出版社,1992:201.