<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > 圖形點(diǎn)陣LCD液晶模塊顯示界面的可視化編程方案與實(shí)踐

圖形點(diǎn)陣LCD液晶模塊顯示界面的可視化編程方案與實(shí)踐

作者:深圳聯(lián)合電子有限公司 時(shí)間:2003-02-20 來(lái)源:電子設計應用 收藏
關(guān)鍵詞:,,,

隨著(zhù)圖形點(diǎn)陣LCD液晶顯示在各行各業(yè)的逐步使用,使得人機界面變得越來(lái)越直觀(guān),尤其對于國內大多數需要有漢字和圖形顯示的用戶(hù)來(lái)說(shuō),顯示界面的友好與否,將直接影響到其產(chǎn)品的形象和市場(chǎng)競爭力,但一般涉及有關(guān)圖形點(diǎn)陣液晶顯示界面開(kāi)發(fā)的技術(shù)人員由于缺乏經(jīng)驗而往往感到力不從心,尤其當用戶(hù)的控制電路資源非常缺乏的條件下(如家用電器),圖形點(diǎn)陣液晶模塊則更是望塵莫及,而市面上所能見(jiàn)到的仍是那些“不顧客戶(hù)死活而又自認清高”的傳統型液晶顯示模塊,雖然其成本已經(jīng)降到普遍能接受的地步,但還是因其控制方法的特殊性和復雜性嚴重阻礙液晶顯示器的推廣應用。
針對目前的這種狀況,深圳聯(lián)合電子有限公司開(kāi)發(fā)出一種圖形點(diǎn)陣液晶模塊,將LCD所有的底層操作集成于模塊內的MCU中,這樣其控制就變得極為容易,占用戶(hù)資源最少,并且所有顯示界面的編輯及調試全部在電腦上獨立完程,整個(gè)過(guò)程一目了然,極大地方便用戶(hù)編寫(xiě)顯示界面的控制軟件,從而也提高了LCD液晶顯示模塊在產(chǎn)品中的附加值。
LCD模組技術(shù)特性:
1.模塊顯示點(diǎn)陣數(分辨率)128X64,192X64,256X64三種可選;
2.內含高速MCU及64KB用戶(hù)顯示資料現場(chǎng)可編程FLASH;
3.標準控制,只占用戶(hù)兩根口線(xiàn),小馬拉大車(chē)成為可能;
4.配備仿真調試軟件,在電腦上獨立完成顯示界面的編輯,資料下載,仿真調試;
5.簡(jiǎn)單又豐富的控制命令使模塊顯示的控制易如控制一只LED;
6.用戶(hù)可隨時(shí)改寫(xiě)顯示資料,現場(chǎng)編程易如反掌,顯示界面無(wú)限升級;
7.模塊提供忙信號輸出,以檢測模塊狀態(tài);
用戶(hù)首先在電腦上完成LCD顯示界面的編輯,資料下載及仿真調試工作,所配仿真調試軟件可使用戶(hù)方便的進(jìn)行上述工作,在硬件上除LCD模組之外還配有一塊電腦RS232電平轉換轉接板,此板負責模塊與電腦聯(lián)接和對模塊的供電,模塊與電腦聯(lián)接圖示如下。

圖1 模塊與電腦的聯(lián)接
將所配仿真調試軟件Visual LCM1.0安裝在電腦上(運行附帶軟盤(pán)中INSTALL.BAT),安裝前注意要先將電腦里正在運行且占用串口的程序關(guān)閉,安裝完畢屏幕上即出現如下軟件主界面:

圖2 仿真調試軟件主畫(huà)面
當鼠標移動(dòng)到某可操作對象上停留一會(huì )兒,就會(huì )有相應的操作提示,建議操作前請先將各功能瀏覽一遍,以便先對操作有個(gè)感性認識。
在模塊與電腦聯(lián)接之前,用“圖文編輯”將LCD預顯示位圖畫(huà)好存檔,注意所作位圖必需是黑白的單色位圖且需旋轉270度,將畫(huà)好的位圖通過(guò)“添加”一一列入“下載位圖排序”中,把模塊設為編程模式(JP1選擇)與電腦由RS232轉換板相接并通電,在“串口選擇”中選好模塊所接串口,用“狀態(tài)測試”檢查連線(xiàn)和串口號及電源是否正常,若聯(lián)機成功,模塊資料下載界面則顯示“聯(lián)機測試OK!”,同時(shí)主畫(huà)面中“下載資料”激活,點(diǎn)擊后電腦將排序列表中的位圖按序號由小到大一一下載到模塊內FLASH中,下載時(shí)間與列表中位圖總和大小成正比,結束時(shí)模塊顯示“下載資料OK!”,此時(shí)將模塊斷電,設其為正常模式再加電,用“狀態(tài)測試”告電腦模塊此時(shí)已為正常模式,通過(guò)點(diǎn)擊“瀏覽資料”可在LCD屏上以點(diǎn)(00,00)為頂點(diǎn)一一觀(guān)察剛剛下載的所有位圖,且順序與排序列表中的相同,也可直接點(diǎn)擊排序列表中的位圖進(jìn)行瀏覽,所有位圖無(wú)誤后,可進(jìn)行LCD顯示界面的仿真調試。
LCD顯示界面的生成用六種命令來(lái)實(shí)現,在主畫(huà)面的“發(fā)送命令”下邊的命令列表框中羅列出這六種命令的含義及語(yǔ)法規則,若輸入錯誤的命令將會(huì )提示錯誤信息,命令及各參數說(shuō)明如下:
表1 命令功能說(shuō)明
命 令 格 式 功 能 說(shuō) 明
BMPnxy 在以點(diǎn)(x,y)為頂點(diǎn)處顯示位圖n
CLR 清除屏上所有顯示
CLSxywh 清除以點(diǎn)(x,y)為頂點(diǎn),寬w高h的距形
INVxywh 反色以點(diǎn)(x,y)為頂點(diǎn),寬w高h的距形
SDTxy (CDTxy) 在點(diǎn)(x,y)處畫(huà)點(diǎn)(在點(diǎn)(x,y)處滅點(diǎn))

表2 命令參數說(shuō)明
參數 取值范圍 含義 進(jìn)制 舉例
n 0=x 0=y 0=w 0h 0各參數在128X64LCD顯示屏上圖示如下:

圖3 命令參數在128X64模塊顯示屏上示意
在主畫(huà)面的“發(fā)送命令”左邊的命令輸入框中輸入正確的命令后點(diǎn)擊“發(fā)送命令”,此時(shí)LCD屏上會(huì )有相應的顯示動(dòng)作,若在調試過(guò)程中發(fā)現要修改某位圖時(shí)可以用“圖文編輯”
重新修改后按前述步驟再一次下載位圖,直到對顯示界面滿(mǎn)意為止。
最終要將模塊脫離電腦通過(guò)模塊上的SIO接入用戶(hù)控制電路中運行,SIO定義如下:
PIN1:模塊背光電極1(LED背光時(shí)為負極,EL背光時(shí)為交流驅動(dòng)電極1);
PIN2:模塊背光電極2(LED背光時(shí)為直流正5伏,EL背光時(shí)為交流驅動(dòng)電極2);
PIN3,PIN5:模塊邏輯電源地;
PIN4:模塊邏輯電源直流正5伏;
PIN6:模塊內MCU外部復位,高有效,防死機時(shí)用;
PIN7:模塊忙信號,低為忙,高為閑;
PIN8:模塊顯示控制命令串行輸入,通訊協(xié)議為(9600,n,8,1),即9600波特率,無(wú)校驗位,8個(gè)數據位,1個(gè)停止位。
現舉例說(shuō)明模塊如何與AT89C2051接口,為保證波特率的準確,建議AT89C2051用11.0592MHz的晶體,聯(lián)接圖示如下:



圖4 AT89C2051與模塊128X64的聯(lián)接
在編寫(xiě)單片機AT89C2051的控制軟件時(shí)需注意以下事項:
1.串行口模式設為模式1(1個(gè)起始位,8個(gè)數據位,1個(gè)停止位);
2.波特率設為9600(TH1=TL1=0FDH,SMOD=0;TH1=TL1=0FAH,SMOD=1);
3.在發(fā)送命令之前需檢測模塊為閑態(tài)(PIN7=1),否則所發(fā)的命令可能失效;
4.串口發(fā)送的必須是完整命令的ASCII碼,如命令“BMP0B0C0D”,實(shí)際由串口發(fā)送的內容是“424D50304230433044”,順序為“B->M->P->0->B->0->C->0->D”;
5.在每條命令末尾還要加上命令結束碼“0D”,以表明命令結束。
6.若單片機AT89C2051的串口已被占為他用,那么用一根口線(xiàn)來(lái)摸擬生成一個(gè)軟串口即可。
7.模塊SIO接口中PIN6的作用是當模塊內MCU由于干擾死機時(shí),用戶(hù)控制電路可強行外部復位,使模塊脫離死機狀態(tài),判斷模塊是否死機可通過(guò)向其發(fā)送正確的顯示命令后,PIN7電平是否有變化來(lái)得知,實(shí)際上模塊在完成每條命令內部操作后即進(jìn)入睡眠狀態(tài),死機的機率是極低的。在下面的軟件中未考慮死機的情況。

用MCS-51匯編語(yǔ)言編寫(xiě)簡(jiǎn)單的顯示控制源程序如下(實(shí)際運行已通過(guò)):
BUSY BIT P3.0 ;定義忙信號口線(xiàn),當然也可定義為其他口線(xiàn)
X_V EQU 30H ;定義各參數單元
Y_V EQU 31H
NUBER EQU 32H
WIDTH EQU 33H
HIGHT EQU 34H
REG_ASC_XH EQU 35H ;定義參數x高位ASCII碼單元
REG_ASC_XL EQU 36H ;定義參數x低位ASCII碼單元
REG_ASC_YH EQU 37H ;定義參數y高位ASCII碼單元
REG_ASC_YL EQU 38H ;定義參數y低位ASCII碼單元
REG_ASC_NH EQU 39H ;定義參數n高位ASCII碼單元
REG_ASC_NL EQU 3AH ;定義參數n低位ASCII碼單元
REG_ASC_WH EQU 3BH ;定義參數w高位ASCII碼單元
REG_ASC_WL EQU 3CH ;定義參數w低位ASCII碼單元
REG_ASC_HH EQU 3DH ;定義參數h高位ASCII碼單元
REG_ASC_HL EQU 3EH ;定義參數h低位ASCII碼單元
ORG 00H ;程序開(kāi)始
AJMP MAIN
ORG 30H
MAIN:
MOV SP,#60H ;設堆棧指針
LCALL INIT_SIO ;初始化串口
MOV X_V, #0CH ;在x=12,y=13為頂點(diǎn)處顯示位圖11
MOV Y_V, #0DH
MOV NUBER, #0BH
LCALL ORDER_BMP ;發(fā)送位圖顯示子程,其它命令類(lèi)似
AJMP $ ;觀(guān)察LCD顯示屏
INIT_SIO:
MOV SCON,#50H ;串行口:方式1
MOV TMOD,#21H ;定時(shí)器T1為波特率發(fā)生器,方式2
MOV TH1,#0FDH ;波特率=9600, Fosc=11.0592MHz
MOV TL1,#0FDH ;SMOD=0
SETB TR1 ;啟動(dòng)T1
RET
ORDER_BMP: MOV A,X_V
MOV R0, #REG_ASC_XH
LCALL H_ASC ;將參數x轉換為兩個(gè)字節的ASCII碼
MOV A,Y_V
MOV R0, #REG_ASC_YH
LCALL H_ASC ;將參數y轉換為兩個(gè)字節的ASCII碼
MOV A,NUBER
MOV R0, #REG_ASC_NH
LCALL H_ASC ;將參數n轉換為兩個(gè)字節的ASCII碼
LCALL BUSY_CK ;檢測模塊狀態(tài)
MOV A, #“B” ;先發(fā)送命令碼BMP的ASCII碼
MOV SBUF, A
JNB TI, $
CLR TI
MOV A,#“M”
MOV SBUF, A
JNB TI, $
CLR TI
MOV A, #“P”
MOV SBUF, A
JNB TI, $
CLR TI
MOV R0, #REG_ASC_NH
LCALL SEND_CS ;發(fā)參數n的ASCII碼
MOV R0, #REG_ASC_XH
LCALL SEND_CS ;發(fā)參數x的ASCII碼
MOV R0, #REG_ASC_YH
LCALL SEND_CS ;發(fā)參數y的ASCII碼
MOV A,#0DH
MOV SBUF, A ;發(fā)送命令結束標志“0DH”
JNB TI, $
CLR TI
RET
BUSY_CK: JNB BUSY, $ ;等待模塊為閑狀態(tài)
RET
SEND_CS: MOV A,@R0
MOV SBUF, A
JNB TI, $
CLR TI
INC R0
MOV SBUF, A
JNB TI, $
CLR TI
RET
H_ASC: MOV B, A ;將一字節的十六進(jìn)制數轉換為兩字節的ASCII碼
ANL A, #0F0H
SWAP A
CJNE A, #9, PD_G
XY9: ADD A, #30H
TURN_LOW: MOV @R0, A
INC R0
AJMP LOW_BIT
PD_G: JC XY9
ADD A, #37H
AJMP TURN_LOW
LOW_BIT: MOV A, B
ANL A, #0FH
CJNE A, #9, PD_G1
XY_9: ADD A, #30H
TURN_LOW1: MOV @R0, A
RET
PD_G1: JC XY_9
ADD A, #37H
AJMP TURN_LOW1
END

結束語(yǔ):對那些正準備用圖形點(diǎn)陣LCD模塊來(lái)完善人機界面和提高產(chǎn)品檔次的廣大用戶(hù)來(lái)說(shuō),我們真誠盼望您的產(chǎn)品構思能迅速變成實(shí)物,其實(shí)這也正是您所希望的,可視化編
程LCD模塊必然能助您一臂之力。為便于用戶(hù)了解更加詳細,特在深圳華強電子世界設有現場(chǎng)演示及用戶(hù)親自操作,歡迎來(lái)看看。技術(shù)支持:0755-3290123 張工,現場(chǎng)演示:深圳華強電子世界21B110。





評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>