隨著圖形點(diǎn)陣LCD液晶顯示模塊在各行各業(yè)的逐步使用,使得人機(jī)界面變得越來(lái)越直觀,尤其對(duì)于國(guó)內(nèi)大多數(shù)需要有漢字和圖形顯示的用戶來(lái)說(shuō),顯示界面的友好與否,將直接影響到其產(chǎn)品的形象和市場(chǎng)競(jìng)爭(zhēng)力,但一般涉及有關(guān)圖形點(diǎn)陣液晶模塊顯示界面開發(fā)的技術(shù)人員由于缺乏經(jīng)驗(yàn)而往往感到力不從心,尤其當(dāng)用戶的控制電路資源非常缺乏的條件下(如家用電器),圖形點(diǎn)陣液晶模塊則更是望塵莫及,而市面上所能見(jiàn)到的仍是那些“不顧客戶死活而又自認(rèn)清高”的傳統(tǒng)型液晶顯示模塊,雖然其成本已經(jīng)降到普遍能接受的地步,但還是因其控制方法的特殊性和復(fù)雜性嚴(yán)重阻礙液晶顯示器的推廣應(yīng)用。
針對(duì)目前的這種狀況,深圳聯(lián)合電子有限公司開發(fā)出一種圖形點(diǎn)陣液晶模塊,將LCD所有的底層操作集成于模塊內(nèi)的MCU中,這樣其控制就變得極為容易,占用戶資源最少,并且所有顯示界面的編輯及調(diào)試全部在電腦上獨(dú)立完程,整個(gè)過(guò)程一目了然,極大地方便用戶編寫顯示界面的控制軟件,從而也提高了LCD液晶顯示模塊在產(chǎn)品中的附加值。
可視化編程LCD模組技術(shù)特性:
1.模塊顯示點(diǎn)陣數(shù)(分辨率)128X64,192X64,256X64三種可選;
2.內(nèi)含高速M(fèi)CU及64KB用戶顯示資料現(xiàn)場(chǎng)可編程FLASH;
3.標(biāo)準(zhǔn)RS232串行通訊控制,只占用戶兩根口線,小馬拉大車成為可能;
4.配備仿真調(diào)試軟件,在電腦上獨(dú)立完成顯示界面的編輯,資料下載,仿真調(diào)試;
5.簡(jiǎn)單又豐富的控制命令使模塊顯示的控制易如控制一只LED;
6.用戶可隨時(shí)改寫顯示資料,現(xiàn)場(chǎng)編程易如反掌,顯示界面無(wú)限升級(jí);
7.模塊提供忙信號(hào)輸出,以檢測(cè)模塊狀態(tài);
用戶首先在電腦上完成LCD顯示界面的編輯,資料下載及仿真調(diào)試工作,所配仿真調(diào)試軟件可使用戶方便的進(jìn)行上述工作,在硬件上除可視化編程LCD模組之外還配有一塊電腦RS232電平轉(zhuǎn)換轉(zhuǎn)接板,此板負(fù)責(zé)模塊與電腦聯(lián)接和對(duì)模塊的供電,模塊與電腦聯(lián)接圖示如下。
圖1 模塊與電腦的聯(lián)接
將所配仿真調(diào)試軟件Visual LCM1.0安裝在電腦上(運(yùn)行附帶軟盤中INSTALL.BAT),安裝前注意要先將電腦里正在運(yùn)行且占用串口的程序關(guān)閉,安裝完畢屏幕上即出現(xiàn)如下軟件主界面:
圖2 仿真調(diào)試軟件主畫面
當(dāng)鼠標(biāo)移動(dòng)到某可操作對(duì)象上停留一會(huì)兒,就會(huì)有相應(yīng)的操作提示,建議操作前請(qǐng)先將各功能瀏覽一遍,以便先對(duì)操作有個(gè)感性認(rèn)識(shí)。
在模塊與電腦聯(lián)接之前,用“圖文編輯”將LCD預(yù)顯示位圖畫好存檔,注意所作位圖必需是黑白的單色位圖且需旋轉(zhuǎn)270度,將畫好的位圖通過(guò)“添加”一一列入“下載位圖排序”中,把模塊設(shè)為編程模式(JP1選擇)與電腦由RS232轉(zhuǎn)換板相接并通電,在“串口選擇”中選好模塊所接串口,用“狀態(tài)測(cè)試”檢查連線和串口號(hào)及電源是否正常,若聯(lián)機(jī)成功,模塊資料下載界面則顯示“聯(lián)機(jī)測(cè)試OK!”,同時(shí)主畫面中“下載資料”激活,點(diǎn)擊后電腦將排序列表中的位圖按序號(hào)由小到大一一下載到模塊內(nèi)FLASH中,下載時(shí)間與列表中位圖總和大小成正比,結(jié)束時(shí)模塊顯示“下載資料OK!”,此時(shí)將模塊斷電
, 設(shè)其為正常模式再加電,用“狀態(tài)測(cè)試”告電腦模塊此時(shí)已為正常模式,通過(guò)點(diǎn)擊“瀏覽資料”可在LCD屏上以點(diǎn)(00,00)為頂點(diǎn)一一觀察剛剛下載的所有位圖,且順序與排序列表中的相同,也可直接點(diǎn)擊排序列表中的位圖進(jìn)行瀏覽,所有位圖無(wú)誤后,可進(jìn)行LCD顯示界面的仿真調(diào)試。
LCD顯示界面的生成用六種命令來(lái)實(shí)現(xiàn),在主畫面的“發(fā)送命令”下邊的命令列表框中羅列出這六種命令的含義及語(yǔ)法規(guī)則,若輸入錯(cuò)誤的命令將會(huì)提示錯(cuò)誤信息,命令及各參數(shù)說(shuō)明如下:
以下是針對(duì)圖三以及相應(yīng)程序的參數(shù)定義和說(shuō)明:
命 令 格 式 功 能 說(shuō) 明 :
1 BMPnxy 在以點(diǎn)(x,y)為頂點(diǎn)處顯示位圖n
2 CLR 清除屏上所有顯示
3 CLSxywh 清除以點(diǎn)(x,y)為頂點(diǎn),寬w高h(yuǎn)的距形
4 INVxywh 反色以點(diǎn)(x,y)為頂點(diǎn),寬w高h(yuǎn)的距形
5 SDTxy (CDTxy) 在點(diǎn)(x,y)處畫點(diǎn)(在點(diǎn)(x,y)處滅點(diǎn))
n 0=x 0=y 0=w 0h 0各參數(shù)在128X64LCD顯示屏上圖示如下:
圖3 命令參數(shù)在128X64模塊顯示屏上示意
在主畫面的“發(fā)送命令”左邊的命令輸入框中輸入正確的命令后點(diǎn)擊“發(fā)送命令”,此時(shí)LCD屏上會(huì)有相應(yīng)的顯示動(dòng)作,若在調(diào)試過(guò)程中發(fā)現(xiàn)要修改某位圖時(shí)可以用“圖文編輯”
重新修改后按前述步驟再一次下載位圖,直到對(duì)顯示界面滿意為止。
最終要將模塊脫離電腦通過(guò)模塊上的SIO接入用戶控制電路中運(yùn)行,SIO定義如下:
PIN1:模塊背光電極1(LED背光時(shí)為負(fù)極,EL背光時(shí)為交流驅(qū)動(dòng)電極1);
PIN2:模塊背光電極2(LED背光時(shí)為直流正5伏,EL背光時(shí)為交流驅(qū)動(dòng)電極2);
PIN3,PIN5:模塊邏輯電源地;
PIN4:模塊邏輯電源直流正5伏;
PIN6:模塊內(nèi)MCU外部復(fù)位,高有效,防死機(jī)時(shí)用;
PIN7:模塊忙信號(hào),低為忙,高為閑;
PIN8:模塊顯示控制命令串行輸入,通訊協(xié)議為(9600,n,8,1),即9600波特率,無(wú)校驗(yàn)位,8個(gè)數(shù)據(jù)位,1個(gè)停止位。
現(xiàn)舉例說(shuō)明模塊如何與單片機(jī)AT89C2051接口,為保證波特率的準(zhǔn)確,建議AT89C2051用11.0592MHz的晶體,聯(lián)接圖示如下:
圖4 單片機(jī)AT89C2051與模塊128X64的聯(lián)接
; 在編寫單片機(jī)AT89C2051的控制軟件時(shí)需注意以下事項(xiàng):
1.串行口模式設(shè)為模式1(1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位);
2.波特率設(shè)為9600(TH1=TL1=0FDH,SMOD=0;TH1=TL1=0FAH,SMOD=1);
3.在發(fā)送命令之前需檢測(cè)模塊為閑態(tài)(PIN7=1),否則所發(fā)的命令可能失效;
4.串口發(fā)送的必須是完整命令的ASCII碼,如命令“BMP0B0C0D”,實(shí)際由串口發(fā)送的內(nèi)容是“424D50304230433044”,順序?yàn)?“B->M->P->0->B->0-&g