關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > 基于T6963C控制器的液晶模塊顯示技術

基于T6963C控制器的液晶模塊顯示技術

作者: 時間:2013-08-10 來源:網(wǎng)絡 收藏

2 的軟件設計
2.1 的狀態(tài)字和指令集
由于為可編程芯片,因此要求編程控制LCM2401286器正常,首先需掌握的狀態(tài)字和指令集。由于T6963C指令集的初始化通常由硬件設置完成,因此其指令系統(tǒng)將集中于功能的設置上。T6963C的指令可帶一個或兩送入指令代碼,每次操作前先檢測狀態(tài)字,以確保指令的正確執(zhí)行。T6963C的狀態(tài)字如表4所示,其中,STA0為指令讀寫狀態(tài),STA1為數(shù)據(jù)讀寫狀態(tài),STA2為數(shù)據(jù)自動讀狀態(tài),STA3為數(shù)據(jù)自動寫狀態(tài)。由于各狀態(tài)位的作用不同,所以執(zhí)行不同指令時必須檢測不同的狀態(tài)位。在MPU每次讀寫指令和數(shù)據(jù)時,STA0和STA1要同時有效。當MPU讀寫數(shù)組時,需判斷STA2或STA3狀態(tài)。屏讀、屏拷貝指令應使用STA6。而STA5和STA7則反映T6963C內部運行狀態(tài)。

本文引用地址:http://www.butianyuan.cn/article/159292.htm

h.JPG


T6963C的指令包括指針設置指令、顯示區(qū)域設置指令、顯示開關指令、光標形狀選擇指令、數(shù)據(jù)自動讀/寫方式設置指令、數(shù)據(jù)一次讀/寫方式指令和位操作指令等。指針設置指令主要用于設置光標指針、CGRAM偏置地址和地址指針。顯示區(qū)域設置指令主要用于設置文本區(qū)和圖形區(qū)首地址以及文本區(qū)和圖形區(qū)的寬度。文本區(qū)和圖形區(qū)首地址對應顯示屏左上角字符位或字節(jié)位,修改該地址可產生卷動效果。文本區(qū)寬度設置和圖形區(qū)寬度設置用于調整一行顯示所占顯示RAM的字節(jié)數(shù),從而確定顯示屏與顯示RAM單元的對應關系。顯示開關指令主要用于設置光標閃爍、光標顯示、文本顯示及圖形顯示的開啟。正確使用上述指令可保證顯示正常進行。
2.2 圖形方式下字符、漢字顯示
在編寫顯示程序時,首先要編寫一些預處理程序和顯示器的初始化程序。預處理程序包括:狀態(tài)字中的狀態(tài)位判斷程序、寫無參數(shù)指令程序、寫雙參數(shù)指令程序、寫數(shù)據(jù)指令程序、設置當前地址程序和設置當前顯示行列程序。顯示器初始化程序包括:工作狀態(tài)初始化程序和清屏程序。工作狀態(tài)初始化程序即設置顯示器為圖形顯示方式,同時關閉文本顯示,設置圖形顯示區(qū)首地址為00H,設置圖形顯示區(qū)寬度為20 H(即32 Byte),設置光標的形狀為8點1行。顯示器清屏程序是通過程序對顯示緩沖區(qū)寫零來達到清屏目的。
上述工作完成后便可編寫字符、漢字顯示程序。字符、漢字顯示程序流程如圖3所示。為適應顯示內容長度不固定的情況,可設置和使用可變長參數(shù)。使用可變參數(shù)步驟如下:(1)為了訪問變長參數(shù)列表中的參數(shù),必須聲明va_list類型的一個對象,首先在函數(shù)里定義一個va_li st型的變量,即arg_ptr,這一變量是指向參數(shù)的指針。(2)用va_start宏初始化這一變量arg_ptr,這個宏的第2個參數(shù)是第一個可變參數(shù)的前一個參數(shù),是一個固定參數(shù),使arg_ptr指向第一個可選參數(shù),以固定參數(shù)的地址為起點確定變參的內存起始地址。va_start是訪問變長參數(shù)列表中的參數(shù)前所使用的宏,其初始化用va_list聲明的對象,初始化結果供宏va_arg和va_end使用;va_arg:展開成一個表達式的宏,該表達式具有變長參數(shù)列表中下一個參數(shù)的值和類型。每次調用va_arg均會修改用va_list聲明的對象,從而使該對象指向參數(shù)列表中的下一個參數(shù);然后用va_arg返回可變的參數(shù),并賦值給整數(shù)變量。va_arg的第2個參數(shù)是要返回參數(shù)的類型。(3)va_end將arg_ptr指針清為NULL,函數(shù)體內可多次遍歷這些參數(shù),但必須以va_start開始,并以va_end結尾。va_end宏使程序能夠從變長參數(shù)列表用宏va_start引用的函數(shù)中正常返回。va在此是vairable argument(可變參數(shù))的意思。

i.JPG


為確保輸出顯示的內容尤其是數(shù)字能按照格式化方式顯示,可采用函數(shù)vsprintf()將格式化字符串和數(shù)字值輸出到指定的內存緩沖區(qū)內,該函數(shù)類似于sprintf()函數(shù),但其只接受一個指向變量表的指針而不是一個變量表。返回值為實際寫入到輸出字符串中的字符數(shù)。
字符、漢字顯示程序又分成字符部分和漢字部分,其流程圖如圖3所示。由標準的ASCII字符表可知,字符的ASCII值在0~127范圍內,而漢字內碼的ASCII值均處于128以上。因此可通過判斷要顯示內容的ASCII值是否128來區(qū)分要顯示的內容是字符或是漢字。
若要顯示的內容是字符(ASCII值≤128),則又分為非顯示字符和顯示字符。非顯示字符包括控制字符和通訊專用字符。顯示字符包括符號、字母和數(shù)字。
由標準ASCII字符表可看出,非顯示字符的ASCII值在0~31范圍內,因此可通過判斷顯示內容的ASCII值是否32來區(qū)分非顯示字符和顯示字符。
若是非顯示字符(ASCII值32),則執(zhí)行相應的控制功能,若是顯示字符(ASCII值≥32)則送顯相應的字符。顯示字符按16×8點陣顯示,即一個可顯示字符占16個點陣行,每行1 Byte,每個可顯示字符的字模為16 Byte。
若要顯示的內容是漢字(ASCII值>128),則按16×16點陣顯示,即一個漢字占16個點陣行,每行2 Byte,每個漢字字模為32 Byte。字符、漢字的字體及大小是由其字模決定的,其字模由專門的字模生成軟件生成。字符和漢字的字庫分開造,無論字符或漢字,若其字體或大小不同,則字庫需分開造,顯示時分別調用。

3 結束語
文中介紹的T6963C的液晶顯示圖形方式下的字符漢字顯示,具有通用性和普遍性,適于所有采用T6963C的液晶顯示模塊,其基本思想也適合于采用其他控制器的液晶顯示模塊。

led顯示器相關文章:led顯示器原理



上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉