1 硬件設(shè)計(jì)
1.1T6963C模塊的結(jié)構(gòu)和原理
目前用于圖形液晶顯示模塊" title="液晶顯示模塊">液晶顯示模塊的控制器主要有: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ù)傳輸方式,、顯示窗口長(zhǎng)度、寬度等,。
T6963C最大可控制640×128點(diǎn)陣(單屏)或640×256點(diǎn)陣(雙屏)液晶器件,。
T6963C最大可管理64K字節(jié)的顯示緩沖區(qū)RAM,顯示緩沖區(qū)可分為文本顯示區(qū),,圖形顯示" title="圖形顯示">圖形顯示 區(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è)置指令另開(kāi)一區(qū)作為文本特征 區(qū),以保持原圖形區(qū)的數(shù)據(jù)),。
1.2顯示緩沖區(qū)與液晶屏的對(duì)應(yīng)關(guān)系
下面以240×128點(diǎn)陣的液晶屏為例建立圖形 顯示緩沖區(qū)地址與液晶屏面對(duì)應(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)一一對(duì)應(yīng),利用如下算法可以很容易地確定屏面中任意 點(diǎn)陣坐標(biāo)(x,,y)在顯示緩沖區(qū)中的物理地址:
(1)確定該點(diǎn)相對(duì)于圖形顯示緩沖區(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直接接口,,其接口電路" title="接口電路">接口電路如圖2所示(直接訪問(wèn)方式),。
T6963C液晶模塊的讀寫(xiě)控制信號(hào)/RD、/WR分別由AT89C52的讀寫(xiě)控制信號(hào)/RD,、/WR控制,,P27 連接片選信號(hào)/CS,P25 連接指令和數(shù)據(jù)通道選擇信號(hào)C/D,,液晶模塊采用上電復(fù)位,,VO用于 調(diào)節(jié)液晶顯示的對(duì)比度。據(jù)此連接方式,,可以得到數(shù)據(jù)通道和指令通道的物理地址分別為: 5F00H和7F00H,。
2 軟件設(shè)計(jì)
2.1T6963C指令的傳遞方式
模塊的初始化由硬件管腳設(shè)置完成,因此其指令主要集中于顯示功能的設(shè)置上,。T6963C的狀 態(tài)字和指令集的詳細(xì)說(shuō)明可以查閱參考文獻(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)典查表法" title="查表法">查表法快速實(shí)現(xiàn)圖形顯示的參考程序,。
2.3向量圖的顯示
2.3.1設(shè)計(jì)思想
在電量檢測(cè)過(guò)程中為了方便現(xiàn)場(chǎng)查線和接線分析,需要能夠顯示三相電壓和三相電流之間的 向量圖,,在電力測(cè)量" title="電力測(cè)量">電力測(cè)量中稱(chēng)之為“六角圖”,。
本系統(tǒng)所采用的模塊為240×128點(diǎn)陣,建立以屏面中心為坐標(biāo)原點(diǎn)的直角坐標(biāo)系,,則屏面所 能顯示長(zhǎng)度為0至64個(gè)點(diǎn)陣,,相角為0至360度的矢量圖形。因此送入顯示的三相電壓和電流 的大小需要進(jìn)行一定倍數(shù)的壓縮,,使其幅值變化在(0,,64)范圍內(nèi)。
由于液晶屏面點(diǎn)陣與模塊的顯示緩沖區(qū)對(duì)應(yīng)(在直角坐標(biāo)下),,而需要顯示的三相電壓和三相 電流為向量,,因此首先需要進(jìn)行坐標(biāo)轉(zhuǎn)換" title="坐標(biāo)轉(zhuǎn)換">坐標(biāo)轉(zhuǎn)換,而且為了滿足測(cè)量和顯示的實(shí)時(shí)性,,要求轉(zhuǎn)換速 度快,。本系統(tǒng)設(shè)計(jì)了一種利用查映射表轉(zhuǎn)換極坐標(biāo)和直角坐標(biāo)的方法,先將整數(shù)角度0至90 度和其正弦值建立映射表插入到程序當(dāng)中,,這樣就將復(fù)雜的乘除運(yùn)算簡(jiǎn)化為簡(jiǎn)單的查表指令 ,,顯著提高了轉(zhuǎn)換速度并節(jié)省了內(nèi)存。
利用三角函數(shù)的誘導(dǎo)公式,,可以很容易將求相角為0至360度的正余弦等效為求0至90度的正 余弦值,,再利用上面的查映射表的方法就可以解決任意相角的坐標(biāo)轉(zhuǎn)換。由于大于255度的 相角度數(shù)需要用兩個(gè)字節(jié)來(lái)表示,,在本系統(tǒng)中為了簡(jiǎn)化程序編寫(xiě)和節(jié)省寄存器空間,,利用設(shè) 置正負(fù)相角標(biāo)志位的方法,將相角0至360度分為±180至0兩個(gè)區(qū)間來(lái)描述,。
通過(guò)上述的坐標(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)換程序
六角圖圖形顯示中顯示一組矢量信號(hào)的設(shè)計(jì)思路框圖,。利用查映射表的方法大大提高 了坐標(biāo)轉(zhuǎn)換速度,,而且映射表分度愈密轉(zhuǎn)換精度愈高。下面給出幅值為(0,,64)點(diǎn)陣長(zhǎng),,相 角為(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é)語(yǔ)
我們?cè)?ldquo;綜合電量檢測(cè)儀”中利用圖片轉(zhuǎn)數(shù)據(jù)的方法快速生成清晰的圖形菜單界面,利用光 標(biāo)指示位置激活菜單按鈕,,從而形成了良好的圖形人機(jī)界面,。在此界面下,采用查表法和整 數(shù)數(shù)字微分分析直線繪制算法,,實(shí)現(xiàn)快速坐標(biāo)轉(zhuǎn)換和電力測(cè)量的六角圖圖形顯示,。這些方法 對(duì)于不同點(diǎn)陣大小和其他控制器的液晶顯示模塊同樣適用,如SED1335,。該技術(shù)已經(jīng)運(yùn)用在 實(shí)際產(chǎn)品中,,實(shí)踐證明效果良好。