與傳統(tǒng)的數碼顯示管相比,液晶顯示器件因具有顯示信息多、低工作電壓、微功耗、信息量大、壽命長、體積小、價格低及控制方便等諸多特點,在科研生產與產品設計等領域正發(fā)揮著越來越重要的作用,其應用范圍也呈現迅速擴展的態(tài)勢。而某型大氣慣導數據仿真器需要輸入和顯示大量的數據參數,因此,為了提高系統(tǒng)的先進性及易操作性,在系統(tǒng)的輸入及信息輸出顯示中選用了以T6963C控制器為核心的精電M-240128T液晶顯示模塊,該顯示模塊為點陣式液晶圖形顯示器,分辨率為240×128,能直接與51系列的8位單片機接口。
1. T6963C控制器及M-240128T顯示模塊
在中規(guī)模圖形液晶顯示器中,T6963C是目前較為常用的內置控制器型圖形液晶顯示器中的一種。它具有一般液晶顯示器所具備的優(yōu)點,其最大特點是具有獨特的硬件初始值設置功能。初始化在上電時就已經基本設置完成,軟件操作主要是顯示畫面的設計,從而加強了T6963C的顯示控制能力。T6963C不僅具備基本的文字顯示和圖形顯示功能,它還具有將文字顯示與圖形顯示以某種邏輯關系在顯示屏上顯示的合成功能。T6963C內置有128個5×8點陣的ASCI字符。而文本方式下的特征顯示功能,能使顯示屏上每一字符的顯示具有一定的屬性,是T6963C控制器的一個獨特之處。使用T6963C控制器型圖形液晶顯示器作為界面顯示器件可以提高產品設計的先進性。
液晶模塊M-240128T受T6963C控制器的控制。T6963C提供了許多命令字。由于T6963C的初始化設置都由管腳設置來完成,因此其指令系統(tǒng)集中在顯示功能的設置上。T6963C的指令可帶一個、兩個或者無參數。每條指令的執(zhí)行都是先送入參數(若有參數),再送入指令代碼。液晶控制器T6963C的主要指令可分為四類。一是讀狀態(tài)指令,在對T6963C的每一次操作前都要讀這個狀態(tài)字,并對它相應位進行判斷,以決定計算機對T6963C的訪問是否有效;二是設置指令,該類指令用于設置顯示數據地址、顯示區(qū)域、顯示方式以及光標的形狀和數據的讀寫方式等:三是數據的讀寫指令,該指令能讀寫顯示屏上的內容,不過只能在地址指針在圖形顯示區(qū)內才有效,而且要注意顯示寬度和硬件設置保持一致,否則地址計算有誤,而且每次讀寫時要檢查S6的狀態(tài)是否屏讀/復制出錯;四是位操作指令,該指令專用于處理液晶屏上的像素點操作(可用于繪點,繪制曲線)。如圖1為內置T6963C的點陣液晶顯示模塊原理圖。
500)this.style.width=500;" border="0" />
2. 系統(tǒng)硬件接口設計
由于整個仿真器需要大量的程序空間,因此系統(tǒng)使用了具有64K存儲空間的ATMEL公司出品的89C51ED2芯片。
單片機訪問圖形液晶模塊的方式都是通過液晶控制器T6963C進行的,為了實現單片微控器與控制器T6963C的時序匹配,可采用兩種連接方式來實現他們之間的接口。一種方式為間接控制方式,另一種為直接連接方式。前一種方式單片微控器通過并行接口間接實現對液晶顯示模塊控制,然后使用軟件間接控制使其時序匹配。后一種方式采用直接訪問I/O設備,液晶模塊直接掛在系統(tǒng)的總線上。在仿真器系統(tǒng)中我們采用后一種連接方式,這種方式簡單、實用且方便。微處理器分配給T6963C一個尋址地址,微處理器就能跟訪問一般的I/O設備一樣訪問它,其硬件接口原理圖如圖2所示。
500)this.style.width=500;" border="0" />
單片機數據口P0直接與液晶顯示模塊的數據口相連接,由于T6963C接口適用于本系列單片機的MPU,故可以直接用89C51ED2的/RD、/WD作為液晶顯示模塊的讀寫控制信號,液晶顯示模塊的/RESET、/HALT掛在+5V上。片選信號/CE由地址線譯碼產生,同時C/D信號也由地址線P2.4提供,1為指令口地址,0為數據口地址。
3. 系統(tǒng)軟件設計
液晶顯示模塊的初始化設置一般由管腳設置完成,因此其指令系統(tǒng)主要集中于顯示功能的設置上。T6963C的指令可帶一個或兩個參數,也可無參數。每條指令的執(zhí)行都是先送入參數,再送入指令。每次操作之前最好先對狀態(tài)字進行檢測。T6963C的狀態(tài)字如下所示。
500)this.style.width=500;" border="0" />
其中,STA0為指令讀寫狀態(tài),1為準備好,0 為忙;STA1為數據讀寫狀態(tài),1為準備好,0為忙;STA2為數據自動讀狀態(tài),1為準備好,0為忙;STA3為數據自動寫狀態(tài),1為準備好,0為忙;STA4未用;STA5為控制器運行檢測可能性,1為可能,0為不可能;STA6為屏讀/拷貝出錯狀態(tài),1為出錯,0為正確;STA7為閃爍狀態(tài)檢測,1為正常顯示,0為關顯示。
由于狀態(tài)位作用不一樣,因此執(zhí)行不同指令必須檢測不同狀態(tài)位。在MPU一次讀、寫指令和數據時,STA0和STA1必須同時有效。當MPU讀、寫數組時,STA2或STA3有效,而STA0和STA1無效。屏讀,屏拷貝指令使用STA6。STA5和STA7反映模塊內部運行狀態(tài),很少使用。
3.1 初始化液晶顯示模塊
在 T6963C中內嵌有128種字符點陣的CGRAM(字符發(fā)生器ROM),同時T6963C還可管理一定大小的顯示緩沖區(qū)。顯示緩沖區(qū) RAM 的具體大小由不同顯示尺寸的模塊決定,點陣越大RAM越多,本設計采用的240×128模塊帶有16KB的RAM。該顯示緩沖區(qū)分為文 本 顯 示 區(qū) 、 圖 形 顯 示 區(qū) 和CGRAM區(qū)。文本顯示區(qū)和圖形顯示區(qū)是兩個不同性質的使用區(qū)域,是本設計使用的重點。CGRAM區(qū)是用戶為方便制作特殊符號而在顯示緩沖區(qū)內任意設置的一個區(qū)域,它可作為外擴的字符發(fā)生器。對T6963C初始化時,在關閉顯示后應該先確定采用哪種方式進行顯示(文本/圖形),再來設置顯示緩沖區(qū)中圖形區(qū)的首地址、寬度和文本區(qū)的首地址、寬度。此后可選擇光標的形狀,繼而進行顯示開關設置。其程序流程如圖3所示。
500)this.style.width=500;" border="0" />
3.1 漢字顯示
漢字顯示就是將程序中以字摸數據形式表示的漢字在顯示屏上顯示出來。漢字顯示的基本方法有兩種,即文本顯示方式和圖形顯示方式。二者顯示的方法不同,但都必須先在程序區(qū)設定漢字的字模數據。字??赏ㄟ^一些特定軟件如北京精電蓬遠顯示技術有限公司提供的PICKHZB.EXE軟件提取生成,字模的排列格式也是由用戶自己選定的,如可為16×16、16×14或16×12等,本系統(tǒng)的字模排列格式是第16×14?,F分別簡要介紹兩種方式的顯示過程,以下為“檢測”二字在程序中的字模數據表:
uint code hztab[]={
0x00,0x00,0x22,0x00,0x23,0x00,0xF4,0x80,0x28,0x40,0x67,0xA0,0x70,0x00,0xAA,0x40,0xA5,0x40,0x25,0x40,0x20,0x80,0x3F,0xE0,0x00,0x00,0x00,0x00,//檢
0x00,0x00,0x9E,0x20,0x52,0x20,0x12,0xA0,0x96,0xA0,0x56,0xA0,0x56,0xA0,0x56,0xA0,0xD6,0xA0,0x44,0xA0,0x4A,0x20,0x71,0x60,0x00,0x00,0x00,0x00,//測
}
文本方式下必須先將程序中的字模數據寫入顯示緩沖區(qū)中建立,如圖4所示。由數據在CGRAM中的位置取得相應的漢字代碼(一個漢字占用4個字符代碼),通過寫漢字代碼將漢字在文本顯示區(qū)上屏坐標為(X,Y)處依次顯示出來。
500)this.style.width=500;" border="0" />
圖形方式下顯示漢字也是比較常用的方法,在本系統(tǒng)中也使用了這種方法。與文本方式不同的是漢字代碼不是取決于字模數據在CGRAM中的位置,而是按其在字模數據表中排列順序定義的。漢字的顯示不是通過寫其代碼而是將字模數據逐個字節(jié)地寫入圖形顯示區(qū)。同樣可在顯示屏上坐標為(X,Y)處順序顯示出漢字。軟件流程圖如圖5所示。
在軟件編制過程中,其他如字符、直線等顯示方法大同小異,在此不加贅述。用戶可以通過運算,編制波形顯示等復雜的液晶顯示程序。同時由于顯示屏的顯示容量總是一定的,為了能夠更多的顯示信息,用戶可以通過鍵盤掃描,進行菜單的多級調用,解決顯示容量的限制。定時間定間隔地修改文本顯示區(qū)與圖形顯示區(qū)首地址將會產生顯示畫面滾動顯示效果,這樣可以使一個菜單的內容大于一屏允許的顯示量。是兩種常用的方法。
4 結論
以T6963C控制器為核心的精電M-240128T液晶顯示模塊實現了某型導航數據仿真器的數據顯示,使用戶在儀器使用過程中更加靈活方便。
隨著人們生活水平的提高,對汽車座椅的舒適性要求也越來越高,要求對汽車座椅地調節(jié)能夠更加簡單、方便、快捷。目前,汽車座椅位置的調節(jié)多采用基于手動調節(jié)方式的機械和電動控制兩種方式。汽車座椅位置的調節(jié)主要有三個方向,即高度調節(jié)...
關鍵字: C51單片機 汽車座椅 自動控制系統(tǒng) 軟硬件設計