- 相關推薦
可視化編程串行控制中文字庫液晶顯示模塊VLCM320240
摘要:VLCM320240是一款具有可視化編程圖形界面、采用串行控制、內含GB2312簡體中文字庫及64kB自造圖庫的液晶圖形顯示模塊。該模塊采用臺灣EDT公司的藍膜負顯EW32F10BCW?具有320×240的點陣分辨率和CCFT背光源。文中介紹了該模塊的性能特點、接口管腳說明、用戶命令及主要參數,同時給出了VLCM320240與單片機的接口電路及相應顯示程序。關鍵詞:可視化編程;串行控制;中文字庫;單片機
1引言
圖形點陣液晶顯示模塊由于具有顯示信息豐富、功耗低、體積小、重量輕、壽命長、不產生電磁輻射污染等優點而成為單片機系統中理想的顯示器件,并被廣泛應用于單片機控制的智能儀器儀表、工業控制領域、通信器材和家用電器中。但普通圖形點陣液晶顯示模塊用于顯示圖形界面時是非常困難的,首先圖形顯示要占用大量的用戶ROM空間。以320×240點陣液晶模塊為例,顯示一幅圖片(全屏幕)占用的ROM空間為?320×240?/8=9.6kByte,這對片內僅有幾k字節的FLASH閃存單片機來說是不可能的;其次,顯示圖片過程極其復雜,應根據待顯示的圖形計算好各點陣的位置,再以字節為單位寫入數據來控制各點陣的亮滅。如果顯示多幅圖片,復雜程度更加令人生畏。
另外,圖形點陣液晶顯示模塊在顯示漢字時也存在著占用ROM容量大、與單片機的硬件接口電路復雜以及接口時序復雜,軟件編程繁復等問題。
正是由于上述幾點不足限制了圖形點陣液晶顯示模塊在生成復雜精美的中文人機界面時的應用。而中文界面及圖形顯示又是電子產品人機界面發展的必然趨勢。實際上任何一種顯示界面本質上都是由若干像素排列組合生成,若能將圖形點陣液晶模塊顯示控制的底層操作集成在模塊內的單片機中,并將生成顯示界面中所用到的各種圖形界面和標準漢字庫預先存入模塊中,用戶使用時就可以僅通過串口向其發送簡單的控制命令以生成圖文顯示界面,從而使得復雜的圖形界面生成變得簡單容易,最終解決電子產品開發過程中難以生成精美的人機界面的難題。
VLCM320240即是一款具有上述功能的圖形點陣液晶模塊。該模塊是由深圳研安佳公司推出的。
2VLCM320240性能特點
VLCM320240圖形點陣液晶顯示模塊具有如下主要特點:
●該液晶顯示模塊采用臺灣EDT公司的藍膜負顯EW32F10BCW?它具有320×240的點陣分辨率和CCFT背光源;
●內部含有臺灣華邦公司生產的高速單片機W78E516BP;
●內含GB231216×16點陣國標一級、二級簡體字庫,字庫中的漢字可顯示在液晶屏的任意位置;
●內含ASCⅡ8×16點陣英文字庫;
●內含64kB自造圖庫或美術字庫、顯示資料現場可在線編程FLASH;
●內含SED1330FLCD控制器及32kB顯示緩沖區;
●配套VisualLCM仿真調試軟件可在電腦上獨立完成顯示界面的編輯、資料下載及界面生成;
●具有標準RS232串行通信控制,可方便地由上位計算機或單片機進行控制;
●具有最小的硬件資源占用,使用單片機做上位機時,可使用兩根I/O口線模擬串口,而使用TTL電平控制時,僅需一根I/O口線。
VLCM320240留給用戶的接口有兩個,即電源口POWER和RS232通信口。
其中電源口包括以下幾個端口:
●+9V電源:穩壓后供給單片機;
●GND:模塊電源地;
●+5V電源:供逆變器使用。
RS232口定義如下:
●BUSY:忙標志輸出,低電平時為忙;
●RX:控制命令輸入,其中有8位數據位,1個起始位,一個停止位;
●GND:信號地。
3用戶命令
在具體使用時,可通過上位機的用戶命令來控制VLCM320240的顯示.
漢字或ASCII字符顯示命令中的參數為所顯示漢字的兩個字節國標碼或ASCII字符代碼。
4具體應用
VLCM320240可視化
編程液晶顯示模塊可廣泛應用于顯示信息內容豐富或顯示信息容量巨大的應用場合,如信息家電,通信器材、工業控制、智能儀器儀表等領域,模塊在使用時可分為顯示界面生成及實時顯示兩個步驟。
4.1顯示界面的模擬生成
顯示界面的生成在上位計算機上完成,利用可視化編程軟件VisualLCM可將系統設計中用到的各種圖形或文字進行歸納并編輯成圖案,但圖案的大小不得超過320×240像素,同時圖案必須選為黑白兩色。然后將編輯好的圖案下載到模塊ISPFLASH存儲器中,圖案的數量應小于256幅。對于顯示較多的文字信息,也應盡量生成美觀的藝術字體并保存為圖案。這樣可大大加快文字信息的顯示速度。圖案下載到模塊后,可通過串口發送BMP命令以便將任意一張圖片在液晶模塊的任意位置上顯示。
4.2實時信息顯示
由上位計算機生成的各種圖形信息最終要在單片機的控制下實現相應信息的顯示。圖1所示是以AT89C52為例給出的單片機與VLCM320240的接口電路。
在圖1所示的電路中,AT89C52的RXD端與VLCM320240RS232通信口的BUSY端相連,而將單片機TXD端與模塊RX端相連,為保證波特率的準確性,應將AT89C52的晶振選取為11.0592MHz。此外,在編制相應的顯示控制軟件時,還應注意以下幾點:
●串行口模式應設為模式1(1個起始位,8個數據位,1個停止位);
●波特率設應當為19200(TH1=TL1=0FDH,SMOD=1);
●在發送命令之前應檢測模塊為閑態(BUSY=1)?否則所發的命令可能失效;
●串口發送的必須是完整命令的ASCII碼(漢字為其機內碼,ASCII字符為其ASCII碼),如命令“BMP0B000C0D”,實際由串口發送的內容是“424D503042303030433044”,順序為:
“B→M→P→0→B→0→0→0→C→0→D”;
●在每條命令的首末還要加上命令結束碼“回車鍵"的ASCII碼“0DH”,以表明該命令的結束。
●若單片機AT89C52的串口已被占為它用,那么用一根口線來摸擬生成一個通訊協議為(19200,N,8,1)的軟串口發送命令即可。
下面給出與上述電路配套的顯示控制子程序:
;位定義
BUSYBITP3;定義忙信號線
;數據字節定義
XVEQU30H;定義參數x
XHVEQU31H;定義參數xH
YVEQU32H;定義參數y
NUBEREQU33H;定義參數n
WIDTHEQU34H;定義參數w
HIGHTEQU35H;定義參數h
ASCXHEQU36H;定義參數x高四位
ASCXLEQU37H;定義參數x低四位
ASCXHHEQU38H;定義參數xH高四位
ASCXHLEQU39H;定義參數xH低四位
ASCYHEQU3AH;定義參數y高四位
ASCYLEQU3BH;定義參數y低四位
ASCNHEQU3CH;定義參數n高四位
ASCNLEQU3DH;定義參數n低四位
ASCWHEQU3EH;定義參數w高四位
ASCWLEQU3FH;定義參數w低四位
ASCHHEQU40H;定義參數h高四位
ASCHLEQU41H;定義參數h低四位
;初始化子程序
INITSIO:MOVSCON,#50H;串行口方式1
MOVTMOD,#21H
MOVTH1,#0FDH;波特率=19200?
MOVTL1?#0FDH
ORLPCON?#80H;SMOD=1
SETBTR1;啟動T1
RET
;設置漢字或ASCII字符顯示首地址命令
ORDERHZA:MOVA?XV
MOVR0?#REGASCXH
LCALLHASC;將參數x轉換為
兩個字節的ASCII碼
MOVA?XHV
MOVR0?#REGASCXHH
LCALLHASC;將參數xH轉換為
兩個字節的ASCII碼
MOVA?YV
MOVR0?#REGASCYH
LCALLHASC;將參數y轉換為
兩個字節的ASCII碼
LCALLBUSYCK
MOVA?#“H”;發送命令碼HZA
的ASCII碼
LCALLSENDBYTE
MOVA?#“Z”
LCALLSENDBYTE
MOVA?#“A”
LCALLSENDBYTE
MOVR0?#REGASCXHH
LCALLSENDCS;發參數H的ASCII碼
MOVR0?#REGASCXH
LCALLSENDCS;發參數x的ASCII碼
MOVR0?#REGASCYH
LCALLSENDCS;發參數y的ASCII碼
LJMPORDEREND
;顯示漢字串子程序
ORDERHZ?LCALLBUSYCK;檢測模塊閑狀態
MOVA?#“H”
LCALLSENDBYTE
MOVA?#“Z”
LCALLSENDBYTE
MOVA?#“D”
LCALLSENDBYTE
NEXTHZ:CLRA;取漢字的高八位內碼
MOVCA,@A+DPTR
INCDPTR;調整內碼指針
LCALLSENDBYTE
CLRA;取漢字的低八位內碼
MOVCA,@A+DPTR
INCDPTR;調整內碼指針
LCALLSENDBYTE
DJNZR7,NEXTHZ
MOVA,#0DH;命令結束
LCALLSENDBYTE
RET
;顯示ASCII字符串子程序
ORDERASCII:
LCALLBUSYCK
MOVA,#“H”;
LCALLSENDBYTE
MOVA,#“Z”
LCALLSENDBYTE
MOVA?#“D”
LCA
LLSENDBYTE
NEXTASCII?CLRA?取ASCII碼
MOVCA?@A+DPTR
INCDPTR
LCALLSENDBYTE
DJNZR7?NEXTASCII
MOVA?#0DH
LCALLSENDBYTE
RET
;清屏子程序
ORDERCLR:LCALLBUSYCK
MOVA,#“C”
LCALLSENDBYTE
MOVA?#“L”
LCALLSENDBYTE
MOVA?#“R”
LCALLSENDBYTE
LJMPORDEREND
;顯示下載到模塊內圖形子程序
ORDERBMP:MOVA,XV
MOVR0,#REGASCXH
LCALLHASC;將參數x轉換為兩個
字節的ASCII碼
MOVA,XHV
MOVR0?#REGASCXHH
LCALLHASC;將參數xH轉換為兩
個字節的ASCII碼
MOVA,YV
MOVR0,#REGASCYH
LCALLHASC;將參數y轉換為兩個
字節的ASCII碼
MOVA,NUBER
MOVR0?#REGASCNH
LCALLHASC;將參數n轉換為兩
個字節的ASCII碼
LCALLBUSYCK;檢測模塊閑狀態
MOVA,#“B”;先發送命令碼
BMP的ASCII碼
LCALLSENDBYTE
MOVA,#“M”
LCALLSENDBYTE
MOVA?#“P”
LCALLSENDBYTE
MOVR0,#REGASCNH
LCALLSENDCS;發參數n的ASCII碼
MOVR0,#REGASCXHH
LCALLSENDCS;發參數xH的ASCII碼MOVR0,#REGASCXH
LCALLSENDCS;發參數x的ASCII碼
MOVR0,#REGASCYH
LCALLSENDCS;發參數y的ASCII碼
ORDEREND:MOVA,#0DH;發送命令結標
志“0DH”
MOVSBUF,A
JNBTI,$
CLRTI
RET
;結束上次命令子程序
BUSYCK:MOVA,#0DH
MOVSBUF,A
JNBTI,$
CLRTI
JNBBUSY?$
RET
;發送參數子程序
SENDCS:MOVA,@R0
LCALLSENDBYTE
INCR0
MOVA,@R0
LCALLSENDBYTE
RET
;發送字節數據子程序
SENDBYTE:MOVSBUF,A
JNBTI,$
CLRTI
RET
TABHZ:DB“漢字內碼表”
TABASCII:DB“ASCII字符表”
5結束語
VLCM320240可視化編程液晶顯示模塊由于可將系統中用到的畫面預置到液晶顯示模塊內部,因而使得圖形界面與中文界面的生成變得非常容易,因此,該模塊無疑將是顯示信息要求較高的應用領域中理想的顯示器件選擇之一。
【可視化編程串行控制中文字庫液晶顯示模塊VLCM30】相關文章:
串行接口中文圖形點陣液晶顯示模塊的應用08-06
MSP430與液晶顯示器的串行接口方案08-06
液晶顯示模塊MGLS240128在圖形顯示中的應用08-06
數字式智能電機控制模塊08-06
圖形點陣式液晶顯示模塊在沖擊力監測系統中08-06
液晶顯示模塊DMF-50081在單片機系統中的應用08-06
NOKIA移動電話液晶顯示模塊LPH7366原理及其應用08-06
串行通信控制器85C30及其應用08-06