液晶人機(jī)界面下向量圖顯示的設(shè)計(jì)與應(yīng)用
摘 要:介紹一種快速生成液晶圖形人機(jī)界面的方法,以及 電力測量中的向量圖圖形顯示的設(shè)計(jì)思想和軟件編程,這些方法對于嵌入式系統(tǒng)的圖形人機(jī) 界面設(shè)計(jì)具有參考價(jià)值。
1硬件設(shè)計(jì)
1.1T6963C模塊的結(jié)構(gòu)和原理
目前用于圖形液晶顯示模塊的控制器主要有:T6963C(TOSHIBA),SED1335(SEIKO EPSON),H D61830B(HITACHI),MSM6255(OKI)。T6963C控制器的原理圖和引腳圖可以查閱參考文獻(xiàn)[1 ]
內(nèi)藏T6963C的圖形液晶顯示模塊由LCD顯示屏、行列驅(qū)動(dòng)器、控制電路、線路板PCB組成。模 塊實(shí)現(xiàn)了T6963C與行,列驅(qū)動(dòng)器及顯示緩沖區(qū)RAM的接口,同時(shí)也已經(jīng)用硬件設(shè)置了液晶屏 的結(jié)構(gòu)(單屏和雙屏),數(shù)據(jù)傳輸方式、顯示窗口長度、寬度等。
T6963C最大可控制640×128點(diǎn)陣(單屏)或640×256點(diǎn)陣(雙屏)液晶器件。
?
T6963C最大可管理64K字節(jié)的顯示緩沖區(qū)RAM,顯示緩沖區(qū)可分為文本顯示區(qū),圖形顯示 區(qū)( 或文本特征區(qū))和CGRAM區(qū)(在顯示緩沖區(qū)內(nèi)任意設(shè)置的一個(gè)區(qū)域,作為外擴(kuò)的字符發(fā)生器, 一般為2K字節(jié))。顯示緩沖區(qū)RAM的具體大小由不同顯示尺寸的模塊決定,如:240×128模塊 帶有16KB的RAM,128×64模塊帶有8KB的RAM。
T6963C不僅具備基本的文本顯示和圖形顯示功能,而且還具備文本屬性顯示功能,這是T696 3C控制器的獨(dú)特功能。但是文本特征方式和圖形顯示方式不能同時(shí)使用(可在顯示緩沖區(qū)中 ,啟用文本特征方式時(shí)在原有圖形區(qū)和文本區(qū)外用圖形區(qū)域設(shè)置指令另開一區(qū)作為文本特征 區(qū),以保持原圖形區(qū)的數(shù)據(jù))。
1.2顯示緩沖區(qū)與液晶屏的對應(yīng)關(guān)系
下面以240×128點(diǎn)陣的液晶屏為例建立圖形 顯示緩沖區(qū)地址與液晶屏面對應(yīng)的坐標(biāo)關(guān)系。
文本顯示緩沖區(qū)的首地址為0000H,圖形顯示緩沖區(qū)首地址為0800H,取屏面左下角為坐標(biāo)原 點(diǎn)(0,0),基于此橫坐標(biāo)x范圍為(0,239),縱坐標(biāo)y范圍為(0,127)。在此坐標(biāo)系下,圖形 顯示緩沖區(qū)地址與液晶屏面點(diǎn)陣坐標(biāo)一一對應(yīng),利用如下算法可以很容易地確定屏面中任意 點(diǎn)陣坐標(biāo)(x,y)在顯示緩沖區(qū)中的物理地址:
(1)確定該點(diǎn)相對于圖形顯示緩沖區(qū)首地址(0800H)的偏移字節(jié)數(shù)L
(2)進(jìn)一步確定該點(diǎn)位于字節(jié)內(nèi)的具體某一位b
b=x mod 8?
確定屏幕上點(diǎn)在顯示緩沖區(qū)中的地址后,進(jìn)而利用T6963C的位操作指令就可以在屏幕上很容 易的繪出該任意點(diǎn),再結(jié)合各種具體的繪圖算法,就可以在液晶屏上繪制出不同的圖形。?
1.3T6963C模塊與MPU的接口電路
MPU能與T6963C直接接口,其接口電路如圖2所示(直接訪問方式)。?
T6963C液晶模塊的讀寫控制信號/RD、/WR分別由AT89C52的讀寫控制信號/RD、/WR控制,P27 連接片選信號/CS,P25連接指令和數(shù)據(jù)通道選擇信號C/D,液晶模塊采用上電復(fù)位,VO用于 調(diào)節(jié)液晶顯示的對比度。據(jù)此連接方式,可以得到數(shù)據(jù)通道和指令通道的物理地址分別為: 5F00H和7F00H。?
2軟件設(shè)計(jì)
2.1T6963C指令的傳遞方式
模塊的初始化由硬件管腳設(shè)置完成,因此其指令主要集中于顯示功能的設(shè)置上。T6963C的狀 態(tài)字和指令集的詳細(xì)說明可以查閱參考文獻(xiàn)[2]。
T6963C的指令可帶一個(gè)或兩個(gè)參數(shù),或不帶參數(shù)。每條指令的執(zhí)行都是先送入?yún)?shù)(如果有 參數(shù)的情況),再送入指令代碼。為了保證MPU與T6963C之間的命令和數(shù)據(jù)的正常交換,每次 指令代碼傳送之前必須進(jìn)行狀態(tài)檢查。
2.2人機(jī)界面圖形顯示
圖形人機(jī)界面顯示的程序包括圖形菜單界面顯示,動(dòng)態(tài)登錄顯示和各個(gè)功能按鍵選擇等子程 序。下面是利用經(jīng)典查表法快速實(shí)現(xiàn)圖形顯示的參考程序。?
2.3向量圖的顯示
2.3.1設(shè)計(jì)思想
在電量檢測過程中為了方便現(xiàn)場查線和接線分析,需要能夠顯示三相電壓和三相電流之間的 向量圖,在電力測量中稱之為“六角圖”。
本系統(tǒng)所采用的模塊為240×128點(diǎn)陣,建立以屏面中心為坐標(biāo)原點(diǎn)的直角坐標(biāo)系,則屏面所 能顯示長度為0至64個(gè)點(diǎn)陣,相角為0至360度的矢量圖形。因此送入顯示的三相電壓和電流 的大小需要進(jìn)行一定倍數(shù)的壓縮,使其幅值變化在(0,64)范圍內(nèi)。
由于液晶屏面點(diǎn)陣與模塊的顯示緩沖區(qū)對應(yīng)(在直角坐標(biāo)下),而需要顯示的三相電壓和三相 電流為向量,因此首先需要進(jìn)行坐標(biāo)轉(zhuǎn)換,而且為了滿足測量和顯示的實(shí)時(shí)性,要求轉(zhuǎn)換速 度快。本系統(tǒng)設(shè)計(jì)了一種利用查映射表轉(zhuǎn)換極坐標(biāo)和直角坐標(biāo)的方法,先將整數(shù)角度0至90 度和其正弦值建立映射表插入到程序當(dāng)中,這樣就將復(fù)雜的乘除運(yùn)算簡化為簡單的查表指令 ,顯著提高了轉(zhuǎn)換速度并節(jié)省了內(nèi)存。
利用三角函數(shù)的誘導(dǎo)公式,可以很容易將求相角為0至360度的正余弦等效為求0至90度的正 余弦值,再利用上面的查映射表的方法就可以解決任意相角的坐標(biāo)轉(zhuǎn)換。由于大于255度的 相角度數(shù)需要用兩個(gè)字節(jié)來表示,在本系統(tǒng)中為了簡化程序編寫和節(jié)省寄存器空間,利用設(shè) 置正負(fù)相角標(biāo)志位的方法,將相角0至360度分為±180至0兩個(gè)區(qū)間來描述。?
通過上述的坐標(biāo)轉(zhuǎn)化,就可以得到要顯示矢量的起點(diǎn)和終點(diǎn)的直角坐標(biāo),利用繪制直線算法 和前面提到的繪制液晶屏上已知坐標(biāo)的任意點(diǎn)的方法,就可以在屏幕上顯示出三相電壓和電 流的矢量關(guān)系圖(圖3)。
2.3.2設(shè)計(jì)思路框圖和坐標(biāo)轉(zhuǎn)換程序
六角圖圖形顯示中顯示一組矢量信號的設(shè)計(jì)思路框圖。利用查映射表的方法大大提高 了坐標(biāo)轉(zhuǎn)換速度,而且映射表分度愈密轉(zhuǎn)換精度愈高。下面給出幅值為(0,64)點(diǎn)陣長,相 角為(0,90)度的矢量極坐標(biāo)轉(zhuǎn)換為直角坐標(biāo)的參考程序,其中矢量起點(diǎn)坐標(biāo)(XSTA, YSTA)為固定點(diǎn),因此只需求出終點(diǎn)坐標(biāo)(XEND,YEND)即可調(diào)用繪直線 子程序繪制矢量線段。
?
3結(jié)語
我們在“綜合電量檢測儀”中利用圖片轉(zhuǎn)數(shù)據(jù)的方法快速生成清晰的圖形菜單界面,利用光 標(biāo)指示位置激活菜單按鈕,從而形成了良好的圖形人機(jī)界面。在此界面下,采用查表法和整 數(shù)數(shù)字微分分析直線繪制算法,實(shí)現(xiàn)快速坐標(biāo)轉(zhuǎn)換和電力測量的六角圖圖形顯示。這些方法 對于不同點(diǎn)陣大小和其他控制器的液晶顯示模塊同樣適用,如SED1335。該技術(shù)已經(jīng)運(yùn)用在 實(shí)際產(chǎn)品中,實(shí)踐證明效果良好。?