《電子技術應用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 彩色液晶智能控制系統(tǒng)的設計與實現(xiàn)

彩色液晶智能控制系統(tǒng)的設計與實現(xiàn)

2008-09-05
作者:張華敏 黎 莉

  摘? 要: 介紹了一種彩色液晶智能控制系統(tǒng)" title="智能控制系統(tǒng)">智能控制系統(tǒng)的實現(xiàn)方案,該系統(tǒng)封裝了彩色液晶的所有外圍電路,增加了智能控制功能。它通過通信端口" title="通信端口">通信端口和外設" title="外設">外設相連,使對液晶的各種繁瑣控制過程簡化為接收外設指令的過程;還可通過配套軟件和微機通信,實現(xiàn)漢字庫更新和預置畫面等功能。

  關鍵詞: 智能控制 彩色液晶?通信端口?微處理器

?

  彩色液晶顯示器是現(xiàn)代高新技術產(chǎn)品,它具有體積小、功耗低、無輻射、壽命長、超薄、防震防爆等特點。彩色液晶顯示器的出現(xiàn),有力地推動了工控儀表、系統(tǒng)設備的微型化、節(jié)能化進程,為單片機等微處理器系統(tǒng)提供了完善的人機對話界面,具有LED和CRT顯示器所無法比擬的優(yōu)點。但在開發(fā)帶有液晶顯示設備的系統(tǒng)的過程中,用點陣操作顯示漢字和圖形圖像是非常繁瑣的工作,工作量很大、周期較長。為了減輕開發(fā)人員的負擔,提高開發(fā)效率,設計了彩色液晶智能控制系統(tǒng),把繁瑣的顯示操作封裝起來,簡化為一套簡單易用的指令系統(tǒng),只需通過接口向本系統(tǒng)發(fā)送簡單的指令,就可控制液晶顯示器的顯示,如畫曲線、顯示漢字和圖形圖像等。本系統(tǒng)為全數(shù)字化設計,顯示穩(wěn)定可靠,抗強電磁干擾,可用于機電、冶金、船舶、航空、鐵路、電力、通訊導航等領域的系統(tǒng)設備和智能儀表中。

1 系統(tǒng)硬件組成及工作原理

  系統(tǒng)采用工業(yè)級AVR高速微處理器,內(nèi)置二級字庫,通過串口" title="串口">串口或三態(tài)數(shù)據(jù)總線口接收控制命令數(shù)據(jù), 自行對接收的命令和數(shù)據(jù)進行處理,實時顯示所需的各種曲線、中西文" title="西文">西文和圖形圖像。硬件原理框圖如圖1所示。

?

1.1 微處理器系統(tǒng)

  微處理器是實現(xiàn)智能控制功能的核心部分,為了有效控制液晶顯示圖像的失真度,微處理器采用高速單片機AT90S8515(如果對顯示速度要求很高,例如顯示動畫等,可采用DSP芯片)。單片機系統(tǒng)上電后便處于實時接收命令狀態(tài),可完成和外設通信、對外設發(fā)送的命令進行解釋并執(zhí)行命令(如從漢字庫中取字模并在相應的位置顯示出來)、在適當位置畫線、顯示預置圖形和畫面等。

1.2 電源部分

  外部+12V電源由電源接口引入,分為兩路,一路經(jīng)過DC/DC變換后,產(chǎn)生直流偏置電源,為彩色液晶模塊提供所需電源;另一路經(jīng)DC/AC變換后,產(chǎn)生高壓交流電,為液晶屏背光燈CCFL供電。

1.3 通信端口

  通信端口包括總線口和串行口,外部設備通過通信端口和本控制系統(tǒng)進行電氣溝通,并發(fā)送相關指令,從而達到對液晶顯示的各種控制??偩€口是一個并行口;串行口采用RS232電平標準,單片機的串行TTL電平經(jīng)過SIO轉(zhuǎn)換后,變?yōu)镽S232標準電平(負邏輯),這里高電平變?yōu)?8V,低電平變?yōu)?V。它可以和微機等標準串口直接相連,進行串行通信。如果其它控制系統(tǒng)通過串行口和本系統(tǒng)相連,只需三條線就可控制液晶的顯示。

1.4 FLASH閃存

  閃存由4片Am29F040B組成,每片Am29F040B包括512K字節(jié),共2M字節(jié)。第一片Am29F040B用來存儲漢字點陣和圖形數(shù)據(jù),后三片共1.5M字節(jié)用來存儲圖像數(shù)據(jù)。液晶采用320×240分辨率的16位數(shù)字彩色液晶,RGB分量各包含5位,每點占用兩個字節(jié),1.5M可以存儲的滿屏圖像約10幅。由于Am29F040B的地址線多于微處理器的地址線,因此采用分頁技術進行處理,即把多出的地址線通過鎖存器與數(shù)據(jù)線相連,讀取數(shù)據(jù)前先向鎖存器寫入頁面地址數(shù)據(jù),即選中該地址對應的頁,然后讀取該頁。用同樣的方法可以讀取其它頁,不同片子之間可以利用微處理器的空閑端口,通過控制Am29F040B的片選信號加以區(qū)分。應用這種方法可以擴充FLASH閃存達數(shù)G之多。

1.5 液晶驅(qū)動電路及顯存

  液晶驅(qū)動電路主要對液晶點陣完成讀寫操作,并產(chǎn)生液晶接口所需要的行場掃描信號、時鐘信號及其它控制信號。由于時序邏輯關系相當復雜,這里采用了復雜可編程邏輯芯片CPLD進行編程控制。外部總線對顯存進行讀寫操作,就可以對屏幕相應象素的顏色與亮度進行控制。

2 系統(tǒng)軟件

  軟件實質(zhì)上是一個通信程序,實時接收和執(zhí)行串口和總線口發(fā)來的命令。接收程序用匯編語言編寫。串口通信采用一位起始位、一位停止位、8位數(shù)據(jù)位、無較驗位的異步串行通信方式;總線口為并行口,數(shù)據(jù)發(fā)來時,引起中斷,在中斷子程序中,讀取總線口數(shù)據(jù)。主程序和中斷程序流程圖如圖2所示。

?

  系統(tǒng)上電后,首先進行初始化,接著循環(huán)讀取緩沖區(qū)指針。若有數(shù)據(jù),則讀取緩沖區(qū)數(shù)據(jù),并對數(shù)據(jù)進行分析;若為命令就讀取完整的命令信息,并執(zhí)行命令。否則,就將讀取內(nèi)容作為中西文字符顯示。命令主要有:畫線、畫矩形、畫橢圓、畫曲線、畫填充區(qū)域、中西文切換、光標跳轉(zhuǎn)、字庫更新及圖形圖像下載及顯示等。若有中斷發(fā)生,就進行中斷處理。外設引起的中斷共有兩個:串行中斷和總線口中斷,當有一個串行數(shù)據(jù)或總線口數(shù)據(jù)到達時,就會引發(fā)相應的中斷。這兩種中斷雖然入口地址不同,但它們實現(xiàn)的功能是完全一樣的,都是讀取外設傳來的數(shù)據(jù),并將其放入緩沖區(qū)中。

  從微機下載字庫或圖像文件時,數(shù)據(jù)量較大,在對板載接收程序編程時應注意對128字節(jié)緩沖區(qū)的操作要合理,否則會導致軟件系統(tǒng)的崩潰。緩沖區(qū)是作為環(huán)形隊列來使用的,主要應注意兩點:一是不要等緩沖區(qū)滿時才置DTR(見圖3)為“忙”狀態(tài),因為這樣正在傳輸?shù)淖止?jié)會丟失;二是當DTR出現(xiàn)一次“忙”后,緩沖區(qū)有較多空閑時,應使DTR信號變?yōu)椤伴e”,否則會因DTR信號變化太頻繁而使程序失控。這里的算法是,當緩沖區(qū)還有6個字節(jié)空閑時,置DTR有效(CPU“忙”),暫停通信;之后,當緩沖區(qū)降到64字節(jié)的閑余時,置DTR為“閑”,恢復通信。這樣,雖然下載速度稍微受點影響,但通信的可靠性大大增強了;另一方面,下載完數(shù)據(jù)后,本系統(tǒng)要脫機和其它微處理器連接使用,下載速度對本系統(tǒng)的使用無任何影響。

?

3 預置功能的實現(xiàn)

  預置功能主要是通過微機的通訊程序,為液晶顯示器預先儲存漢字字庫、圖形或圖像,并可隨時更新漢字字庫、圖形或圖像,以便系統(tǒng)脫機和其它微處理器連用時,可以利用這些資源。當其它微處理器系統(tǒng)發(fā)送顯示預置資源命令時,本系統(tǒng)就會控制液晶顯示器來顯示相應的漢字點陣、圖形或圖像。存儲器采用非易失FLASH閃存,分為字庫、圖形和圖像三個區(qū)域。字庫存儲的是漢字字模的點陣,圖形存儲的是液晶圖形方式下的一些命令,圖像存儲的是BMP位圖點陣數(shù)據(jù)。

  預置軟件是智能控制系統(tǒng)的配套軟件,用來下載PC機的圖形圖像到智能控制系統(tǒng)中,實現(xiàn)預置功能。它基于MSComm通信控件,采用VC++的MFC類庫編程,控件工作方式為查詢方式,可運行于Windows的所有操作系統(tǒng)中,通過微機串行口和本系統(tǒng)通信。連接關系如圖3所示。

  由于通信距離較近,采用串行口直接相連方式。微機通信端口選擇COM1或COM2,它們是標準的RS232異步通訊接口。微機向智能控制系統(tǒng)發(fā)送數(shù)據(jù),進行單工串行通信,在智能界面板載128字節(jié)的緩沖區(qū),采用了DSR硬件握手程序。在通訊過程中,如果智能控制系統(tǒng)的微處理器忙,它就會置DTR(微機的DSR)為RS232標準的低電平,微機暫停發(fā)送;等智能控制系統(tǒng)的微處理器閑時,它又置DSR為高,微機繼續(xù)發(fā)送數(shù)據(jù)。

  字庫預置是把漢字字庫點陣下載到FLSH的字庫區(qū);圖形預置時,軟件會根據(jù)選擇的液晶屏型號,使預置視區(qū)和液晶屏分辨率相同。此時菜單項包括畫線、畫矩形、畫橢圓、畫曲線、畫填充區(qū)域及寫漢字等。用戶可選擇在視區(qū)繪制圖形或?qū)憹h字的命令,然后按下發(fā)送命令,程序會在后臺把用戶繪制的圖形轉(zhuǎn)換為相應的智能控制系統(tǒng)能識別的命令傳送出去,之后智能控制系統(tǒng)的接收程序會把這些命令存儲到FLASH的圖形區(qū)內(nèi);圖像預置時,程序可以打開一副BMP無壓縮圖像,在圖像上有一個大小和位置可改變的矩形框,用來選定傳送圖像的區(qū)域,按下發(fā)送命令后,程序提取矩形框內(nèi)圖像的寬高和點陣數(shù)據(jù),傳送出去。

  在對BMP圖像數(shù)據(jù)進行提取時,應注意以下幾點:第一,大多數(shù)BMP圖像點陣都是倒置的,起始點在左下角。第二,現(xiàn)在Windows操作系統(tǒng)下的位圖多為與設備無關的位圖,256色及以下位圖都帶有調(diào)色板,調(diào)色板每個顏色表示的三字節(jié)RGB分量按相反的順序排列,要注意調(diào)色板與位圖數(shù)據(jù)的正確對應關系。第三,要把顏色信息轉(zhuǎn)化為本系統(tǒng)能識別的信息。系統(tǒng)采用的液晶屏為16位色(用兩字節(jié)表示),對于24位真彩色,要把RGB分量由256個等級轉(zhuǎn)化為32個等級,即把每點的RGB分量分別除以8,再合為兩個字節(jié);對于256色及以下位圖,要先找到每點對應的調(diào)色板顏色表示的信息,然后按上面介紹的方法處理即可。這種方法雖然引入一些失真,但失真不大,完全滿足應用要求。

?

參考文獻

1 宋萬杰.CPLD技術及其應用.西安:西安電子科技大學出版社,1999.9

2 北京理工大學ASIC研究所.VHDL語言100例祥解.北京:清華大學大學出版社,2001.3

3 李現(xiàn)勇.Visual C++串口通信與工程實踐.VHDL語言100例祥解.北京:人民郵電出版社,2002.5

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。