新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 可視化編程串行控制中文字庫液晶顯示模塊VLCM320240

可視化編程串行控制中文字庫液晶顯示模塊VLCM320240

作者: 時(shí)間:2004-12-08 來源:網(wǎng)絡(luò) 收藏
摘要:VLCM320240是一款具有可視化圖形界面、采用、內(nèi)含GB2312簡體及64kB自造圖庫的液晶圖形顯示。該采用臺(tái)灣EDT公司的藍(lán)膜負(fù)顯EW32F10BCW?具有320240的點(diǎn)陣分辨率和CCFT背光源。文中介紹了該的性能特點(diǎn)、接口管腳說明、用戶命令及主要參數(shù),同時(shí)給出了VLCM320240與單片機(jī)的接口電路及相應(yīng)顯示程序。

關(guān)鍵詞:可視化;;;單片機(jī)

1 引言

圖形點(diǎn)陣模塊由于具有顯示信息豐富、功耗低、體積小、重量輕、壽命長、不產(chǎn)生電磁輻射污染等優(yōu)點(diǎn)而成為單片機(jī)系統(tǒng)中理想的顯示器件,并被廣泛應(yīng)用于單片機(jī)的智能儀器儀表、工業(yè)控制領(lǐng)域、通信器材和家用電器中。但普通圖形點(diǎn)陣模塊用于顯示圖形界面時(shí)是非常困難的,首先圖形顯示要占用大量的用戶ROM空間。以320240點(diǎn)陣液晶模塊為例,顯示一幅圖片(全屏幕)占用的ROM空間為?320240?/8=9.6k Byte,這對(duì)片內(nèi)僅有幾k字節(jié)的FLASH閃存單片機(jī)來說是不可能的;其次,顯示圖片過程極其復(fù)雜,應(yīng)根據(jù)待顯示的圖形計(jì)算好各點(diǎn)陣的位置,再以字節(jié)為單位寫入數(shù)據(jù)來控制各點(diǎn)陣的亮滅。如果顯示多幅圖片,復(fù)雜程度更加令人生畏。

另外,圖形點(diǎn)陣模塊在顯示漢字時(shí)也存在著占用ROM容量大、與單片機(jī)的硬件接口電路復(fù)雜以及接口時(shí)序復(fù)雜,軟件繁復(fù)等問題。

正是由于上述幾點(diǎn)不足限制了圖形點(diǎn)陣液晶顯示模塊在生成復(fù)雜精美的人機(jī)界面時(shí)的應(yīng)用。而中文界面及圖形顯示又是電子產(chǎn)品人機(jī)界面發(fā)展的必然趨勢。實(shí)際上任何一種顯示界面本質(zhì)上都是由若干像素排列組合生成,若能將圖形點(diǎn)陣液晶模塊顯示控制的底層操作集成在模塊內(nèi)的單片機(jī)中,并將生成顯示界面中所用到的各種圖形界面和標(biāo)準(zhǔn)漢預(yù)先存入模塊中,用戶使用時(shí)就可以僅通過串口向其發(fā)送簡單的控制命令以生成圖文顯示界面,從而使得復(fù)雜的圖形界面生成變得簡單容易,最終解決電子產(chǎn)品開發(fā)過程中難以生成精美的人機(jī)界面的難題。

VLCM320240即是一款具有上述功能的圖形點(diǎn)陣液晶模塊。該模塊是由深圳研安佳公司推出的。

2?。郑蹋茫停常玻埃玻矗靶阅芴攸c(diǎn)

VLCM320240圖形點(diǎn)陣液晶顯示模塊具有如下主要特點(diǎn):

● 該液晶顯示模塊采用臺(tái)灣EDT公司的藍(lán)膜負(fù)顯EW32F10BCW?它具有320240的點(diǎn)陣分辨率和CCFT背光源;

● 內(nèi)部含有臺(tái)灣華邦公司生產(chǎn)的高速單片機(jī)W78E516BP;

● 內(nèi)含GB2312 1616點(diǎn)陣國標(biāo)一級(jí)、二級(jí)簡體字庫,字庫中的漢字可顯示在液晶屏的任意位置;

● 內(nèi)含ASCⅡ 816點(diǎn)陣英文字庫;

● 內(nèi)含64kB自造圖庫或美術(shù)字庫、顯示資料現(xiàn)場可在線編程FLASH;

● 內(nèi)含SED1330F LCD控制器及32kB顯示緩沖區(qū);

● 配套Visual LCM仿真調(diào)試軟件可在電腦上獨(dú)立完成顯示界面的編輯、資料下載及界面生成;

● 具有標(biāo)準(zhǔn)RS232通信控制,可方便地由上位計(jì)算機(jī)或單片機(jī)進(jìn)行控制;

● 具有最小的硬件資源占用,使用單片機(jī)做上位機(jī)時(shí),可使用兩根I/O口線模擬串口,而使用TTL電平控制時(shí),僅需一根I/O口線。

VLCM320240留給用戶的接口有兩個(gè),即電源口POWER和RS232通信口。

其中電源口包括以下幾個(gè)端口:

●+9V電源:穩(wěn)壓后供給單片機(jī);

●GND:模塊電源地;

●+5V電源:供逆變器使用。

RS232口定義如下:

●BUSY:忙標(biāo)志輸出,低電平時(shí)為忙;

●RX:控制命令輸入,其中有8位數(shù)據(jù)位,1個(gè)起始位,一個(gè)停止位;

●GND:信號(hào)地。

3 用戶命令

在具體使用時(shí),可通過上位機(jī)的用戶命令來控制VLCM320240的顯示.

漢字或ASCII字符顯示命令中的參數(shù)為所顯示漢字的兩個(gè)字節(jié)國標(biāo)碼或ASCII字符代碼。

4 具體應(yīng)用

VLCM320240可視化編程液晶顯示模塊可廣泛應(yīng)用于顯示信息內(nèi)容豐富或顯示信息容量巨大的應(yīng)用場合,如信息家電,通信器材、工業(yè)控制、智能儀器儀表等領(lǐng)域,模塊在使用時(shí)可分為顯示界面生成及實(shí)時(shí)顯示兩個(gè)步驟。

4.1 顯示界面的模擬生成

顯示界面的生成在上位計(jì)算機(jī)上完成,利用可視化編程軟件Visual LCM可將系統(tǒng)設(shè)計(jì)中用到的各種圖形或文字進(jìn)行歸納并編輯成圖案,但圖案的大小不得超過320240像素,同時(shí)圖案必須選為黑白兩色。然后將編輯好的圖案下載到模塊ISP FLASH存儲(chǔ)器中,圖案的數(shù)量應(yīng)小于256幅。對(duì)于顯示較多的文字信息,也應(yīng)盡量生成美觀的藝術(shù)字體并保存為圖案。這樣可大大加快文字信息的顯示速度。圖案下載到模塊后,可通過串口發(fā)送BMP命令以便將任意一張圖片在液晶模塊的任意位置上顯示。

4.2 實(shí)時(shí)信息顯示

由上位計(jì)算機(jī)生成的各種圖形信息最終要在單片機(jī)的控制下實(shí)現(xiàn)相應(yīng)信息的顯示。圖1所示是以AT89C52為例給出的單片機(jī)與VLCM320240的接口電路。

在圖1所示的電路中,AT89C52的RXD端與VLCM320240RS232通信口的BUSY端相連,而將單片機(jī)TXD端與模塊RX端相連,為保證波特率的準(zhǔn)確性,應(yīng)將AT89C52的晶振選取為11.0592MHz。此外,在編制相應(yīng)的顯示控制軟件時(shí),還應(yīng)注意以下幾點(diǎn):

●串行口模式應(yīng)設(shè)為模式1(1個(gè)起始位,8個(gè)數(shù)據(jù)位,1個(gè)停止位);

●波特率設(shè)應(yīng)當(dāng)為19200(TH1=TL1=0FDH,SMOD=1);

●在發(fā)送命令之前應(yīng)檢測模塊為閑態(tài)(BUSY=1)?否則所發(fā)的命令可能失效;

●串口發(fā)送的必須是完整命令的ASCII碼(漢字為其機(jī)內(nèi)碼,ASCII字符為其ASCII碼),如命令“BMP0B000C0D”,實(shí)際由串口發(fā)送的內(nèi)容是“424D503042303030433044”,順序?yàn)椋?/P>

“B→M→P→0→B→0→0→0→C→0→D”;

●在每條命令的首末還要加上命令結(jié)束碼“回車鍵"的ASCII碼“0DH”,以表明該命令的結(jié)束。

●若單片機(jī)AT89C52的串口已被占為它用,那么用一根口線來摸擬生成一個(gè)通訊協(xié)議為(19200,N,8,1)的軟串口發(fā)送命令即可。

下面給出與上述電路配套的顯示控制子程序:

; 位定義

BUSY BIT P3 ; 定義忙信號(hào)線

; 數(shù)據(jù)字節(jié)定義

X V EQU 30H; 定義參數(shù)x

XH V EQU 31H; 定義參數(shù)xH

Y V EQU 32H; 定義參數(shù)y

NUBER EQU 33H; 定義參數(shù)n

WIDTH EQU 34H; 定義參數(shù)w

HIGHT EQU 35H; 定義參數(shù)h

ASC XH EQU 36H; 定義參數(shù)x高四位

ASC XL EQU 37H; 定義參數(shù)x低四位

ASC XHH EQU 38H; 定義參數(shù)xH高四位

ASC XHL EQU 39H; 定義參數(shù)xH低四位

ASC YH EQU 3AH; 定義參數(shù)y高四位

ASC YL EQU 3BH; 定義參數(shù)y低四位

ASC NH EQU 3CH; 定義參數(shù)n高四位

ASC NL EQU 3DH; 定義參數(shù)n低四位

ASC WH EQU 3EH; 定義參數(shù)w高四位

ASC WL EQU 3FH; 定義參數(shù)w低四位

ASC HH EQU 40H; 定義參數(shù)h高四位

ASC HL EQU 41H; 定義參數(shù)h低四位

;初始化子程序

INIT SIO:MOV SCON,#50H;串行口方式1

MOV TMOD,#21H

MOV TH1,#0FDH;波特率=19200?

MOV TL1?#0FDH

ORL PCON?#80H;SMOD=1

SETB TR1 ; 啟動(dòng)T1

RET

;設(shè)置漢字或ASCII字符顯示首地址命令

ORDER HZA:MOV A? X V

MOV R0? #REG ASC XH

LCALL H ASC ;將參數(shù)x轉(zhuǎn)換為

兩個(gè)字節(jié)的ASCII碼

MOV A?XH V

MOV R0? #REG ASC XHH

LCALL H ASC ; 將參數(shù)xH轉(zhuǎn)換為

兩個(gè)字節(jié)的ASCII碼

MOV A?Y V

MOV R0? #REG ASC YH

LCALL H ASC ;將參數(shù)y轉(zhuǎn)換為

兩個(gè)字節(jié)的ASCII碼

LCALL BUSY CK

MOV A? ?!埃取?;發(fā)送命令碼HZA

的ASCII碼

LCALL SEND BYTE

MOV A??!埃凇?/P>

LCALL SEND BYTE

MOV A? #“A”

LCALL SEND BYTE

MOV R0? #REG ASC XHH

LCALL SEND CS;發(fā)參數(shù)H的ASCII碼

MOV R0? #REG ASC XH

LCALL SEND CS;發(fā)參數(shù)x的ASCII碼

MOV R0? #REG ASC YH

LCALL SEND CS;發(fā)參數(shù)y的ASCII碼

LJMP ORDER END

;顯示漢字串子程序

ORDER HZ? LCALL BUSY CK;檢測模塊閑狀態(tài)

MOV A? ?!埃取?/P>

LCALL SEND BYTE

MOV A?#“Z”

LCALL SEND BYTE

MOV A? ?!埃摹?/P>

LCALL SEND BYTE

NEXT HZ: CLR A; 取漢字的高八位內(nèi)碼

MOVC A,@A+DPTR

INC DPTR;調(diào)整內(nèi)碼指針

LCALL SEND BYTE

CLR A; 取漢字的低八位內(nèi)碼

MOVC A,@A+DPTR

INC DPTR;調(diào)整內(nèi)碼指針

LCALL SEND BYTE

DJNZ R7,NEXT HZ

MOV A,#0DH;命令結(jié)束

LCALL SEND BYTE

RET

;顯示ASCII字符串子程序

ORDER ASCII:

LCALL BUSY CK

MOV A,#“H”;

LCALL SEND BYTE

MOV A,?!埃凇?/P>

LCALL SEND BYTE

MOV A??!埃摹?/P>

LCALL SEND BYTE

NEXT ASCII? CLR A ?取ASCII碼

MOVC A?@A+DPTR

INC DPTR

LCALL SEND BYTE

DJNZ R7?NEXT ASCII

MOV A?#0DH

LCALL SEND BYTE

RET

;清屏子程序

ORDER CLR:LCALL BUSY CK

MOV A,#“C”

LCALL SEND BYTE

MOV A??!埃獭?/P>

LCALL SEND BYTE

MOV A? #“R”

LCALL SEND BYTE

LJMP ORDER END

;顯示下載到模塊內(nèi)圖形子程序

ORDER BMP:MOV A,X V

MOV R0, #REG ASC XH

LCALL H ASC ;將參數(shù)x轉(zhuǎn)換為兩個(gè)

字節(jié)的ASCII碼

MOV A,XH V

MOV R0?#REG ASC XHH

LCALL H ASC ;將參數(shù)xH轉(zhuǎn)換為兩

個(gè)字節(jié)的ASCII碼

MOV A,Y V

MOV R0, #REG ASC YH

LCALL H ASC ;將參數(shù)y轉(zhuǎn)換為兩個(gè)

字節(jié)的ASCII碼

MOV A,NUBER

MOV R0?#REG ASC NH

LCALL H ASC ;將參數(shù)n轉(zhuǎn)換為兩

個(gè)字節(jié)的ASCII碼

LCALL BUSY CK ;檢測模塊閑狀態(tài)

MOV A,?!埃隆?; 先發(fā)送命令碼

BMP的ASCII碼

LCALL SEND BYTE

MOV A,?!埃汀?/P>

LCALL SEND BYTE

MOV A??!埃小?/P>

LCALL SEND BYTE

MOV R0, #REG ASC NH

LCALL SEND CS;發(fā)參數(shù)n的ASCII碼

MOV R0, #REG ASC XHH

LCALL SEND CS;發(fā)參數(shù)xH的ASCII碼 MOV R0,#REG ASC XH

LCALL SEND CS;發(fā)參數(shù)x的ASCII碼

MOV R0, #REG ASC YH

LCALL SEND CS;發(fā)參數(shù)y的ASCII碼

ORDER END:MOV A,#0DH ;發(fā)送命令結(jié)標(biāo)

志“0DH”

MOV SBUF,A

JNB TI,$

CLR TI

RET

;結(jié)束上次命令子程序

BUSY CK: MOV A,#0DH

MOV SBUF,A

JNB TI,$

CLR TI

JNB BUSY?$

RET

;發(fā)送參數(shù)子程序

SEND CS: MOV A,@R0

LCALL SEND BYTE

INC R0

MOV A,@R0

LCALL SEND BYTE

RET

;發(fā)送字節(jié)數(shù)據(jù)子程序

SEND BYTE: MOV SBUF,A

JNB TI,$

CLR TI

RET

TAB HZ: DB “漢字內(nèi)碼表”

TAB ASCII: DB “ASCII字符表”

5 結(jié)束語

VLCM320240可視化編程液晶顯示模塊由于可將系統(tǒng)中用到的畫面預(yù)置到液晶顯示模塊內(nèi)部,因而使得圖形界面與中文界面的生成變得非常容易,因此,該模塊無疑將是顯示信息要求較高的應(yīng)用領(lǐng)域中理想的顯示器件選擇之一。



評(píng)論


技術(shù)專區(qū)

關(guān)閉