湯建華
(成都西科微波通訊有限公司,四川 成都 610091)
應(yīng)工業(yè)控制的需求,用戶需要直觀、簡潔、方便操作的人機界面。傳統(tǒng)的用發(fā)光數(shù)碼管LED來顯示數(shù)據(jù)的控制方式已經(jīng)不能滿足用戶的需要。而液晶顯示器具有功耗低、體積小、質(zhì)量輕、超薄和可編程等其它顯示器無法比擬的優(yōu)點,不僅可以顯示數(shù)字、字符,還可以顯示各種圖形、曲線及漢字等功能,從而成為人機界面的最佳選擇。
常用的點陣液晶屏是自帶字符模塊的字符型顯示屏,這種字符型顯示屏本身具有字符發(fā)生器,顯示容量大,功能豐富。該種模塊最少可以顯示8位1行或16位l行以上的字符。這種模塊的點陣排列是由5×7、5×8或5×11的一組組像素點陣排列組成的。每組為1位,每位間有一點的間隔,每行間也有一行的間隔,所以不能顯示圖形。在模塊內(nèi)具有已固化好的字符字模的字符庫CGROM,還有讓用戶自定義建立專用字符的隨機存儲器CGRAM,允許用戶建立有限的自定義字符。
其優(yōu)點是:整個液晶屏劃分明確,每個字符大小都已經(jīng)固定好,所有字符均可通過查表來實現(xiàn),使用較簡單。
其缺點是:不能顯示漢字、圖像、曲線或特殊字符等,應(yīng)用上受限制;字符大小不能任意調(diào)節(jié),方式單一;寬溫型需要一個負電壓的驅(qū)動電源,對電源有要求;由于模塊內(nèi)具有已固化好的字符庫CGROM,所以價格相對較高。
本文選用的信利液晶屏是信利半導(dǎo)體公司生產(chǎn)的液晶屏M19264-13A2,可以顯示最大圖形為192×64。其特點是:無字符模塊,點陣像素連續(xù)排列,行和列在排布中均沒有空隔。因此可以顯示連續(xù)完整的圖形、字符和漢字。單電源供電,無需負電壓。電路設(shè)計簡單易實現(xiàn),軟硬件開發(fā)擴展容易,成本低廉,是開發(fā)控制系統(tǒng)人機界面比較理想的選擇。
M19264-13A2是Truly公司生產(chǎn)的192×64單色模塊,顯示顏色為藍底白字,接口為20位并行總線方式,各引腳定義如表1所示。
表1 M19264各引腳的含義
(1)RS:數(shù)據(jù)/指令選擇信號。RS=1,表示出現(xiàn)在數(shù)據(jù)總線上的是數(shù)據(jù);RS=0,表示出現(xiàn)在數(shù)據(jù)總線上的是指令或讀出的狀態(tài)。
(2)R/W:讀/寫選擇信號。R/W—1,為讀選通;R/W—0,為寫選通。
(3)E:讀/寫使能信號。在E下降沿,數(shù)據(jù)被鎖存(寫入);在E高電平期間,數(shù)據(jù)被讀出。
(4)D0~D7:數(shù)據(jù)總線。
(5)CS1~CS3:芯片片選信號,低電平有效。CS1—0,選左片Chip1;CS2—0,選中片Chip2;CS3—0,選右片Chip3。
(6)RST:復(fù)位信號,低電平有效。復(fù)位信號有效時,關(guān)閉液晶顯示,顯示寄存器設(shè)置為初值。
信利液晶屏M19264整個顯示屏屏高分為64行,屏寬分為192列,由左中右3個Chip組成,這樣每個Chip空間為64×64。每個Chip分為8頁,每頁高為8行,每頁點陣大小為64×8。由于每個字節(jié)只能顯示8個點陣(1列),所以需要顯示的字符或圖像高度必須是8的整數(shù)倍。
考慮顯示一個8×8點陣的字符“0”,每一個字節(jié)(8bit)表示8個點陣,由于每個字節(jié)只能顯示一列8×1的點陣,所以應(yīng)該由8個字節(jié)組成。其對應(yīng)的顯示數(shù)據(jù)為00H、00H、3CH、42H、42H、3CH、00H、00H,則點陣顯示效果如圖1所示。
圖1 8×8點陣的字符顯示效果
當顯示一個漢字或圖像時,由于漢字需要的點陣比較多,8×8點陣就不能滿足要求了,必須考慮更大的點陣。比如漢字“藏”,假定字符大小為16×16點陣,由于每個字節(jié)只能顯示一列8×1的點陣,所以應(yīng)該由32個字節(jié)組成;由于每頁只能顯示8行點陣,所以需要由兩頁來顯示,每頁顯示列數(shù)為16。其對應(yīng)的顯示數(shù)據(jù)為02H、E2H、82H、F2H、12H、DFH、52H、D2H、52H、17H、FAH、16H、DAH、92H、12H、00H、10H、8EH、62H、1FH、00H、1FH、15H、1DH、57H、20H、13H、0CH、33H、40H、30H、00H,其點陣顯示效果如圖2所示。
圖2 漢字或圖像的點陣顯示效果
信利液晶屏M19264-13A2的硬件接口電路很簡單,控制芯片采用新華龍公司的單片機,原理圖如圖3所示。
圖3 M19264-13A2的硬件接口電路原理圖
圖3中,P1口作為液晶屏M19264的數(shù)據(jù)線,P3口各個控制線控制液晶屏M19264的復(fù)位、讀/寫數(shù)據(jù)等各種操作功能。
軟件開發(fā)采用Keil C51語言開發(fā)工具,軟件程序主要包括兩部分內(nèi)容,一部分是給液晶寫指令/數(shù)據(jù)、初始化及清屏等通用子程序;另一部分是漢字和菜單圖形的顯示程序。有了通用子程序,就可以構(gòu)造出各種顯示程序。與字符、漢字和菜單圖形顯示的原理類似,關(guān)鍵在于字模數(shù)據(jù)庫的建立,字模數(shù)據(jù)可由專門的字模提取軟件生成,然后將這些代碼逐字節(jié)寫到相應(yīng)的頁和列。常用的通用子程序有:
(1)寫指令子程序。
void wr_command(unsigned char command)
{
RW=0;//寫操作
RS=0;//總線數(shù)據(jù)為指令
P1=command;//將指令值送至總線
E=0;//指令數(shù)據(jù)鎖存
E=1;//將指令數(shù)據(jù)寫入寄存器
E=0;//指令數(shù)據(jù)鎖存
RW=1;//寫操作無效
}
(2)寫數(shù)據(jù)子程序。
void wr_data(unsigned char data)//write data in ddram
{
RW=0;//寫操作
RS=1;//總線數(shù)據(jù)為顯示數(shù)據(jù)
P1=data;//將顯示數(shù)據(jù)值送至總線
E=0;//顯示數(shù)據(jù)鎖存
E=1;//將顯示數(shù)據(jù)寫入寄存器E=0;//顯示數(shù)據(jù)鎖存
RW=1;//寫操作無效
}
(3)初始化子程序。
void INS()//對左中右3個區(qū)域進行初始化設(shè)置{
unsignedchar i;
RES=0;//關(guān)閉顯示屏,顯示屏處于復(fù)位狀態(tài)
delay(1000);//延時
RES=1;//顯示屏退出復(fù)位狀態(tài)
delay(1000);//延時
for(i=1;i<=3;i++)
{
select_chip(i);//選擇顯示區(qū)域
delay(200);//延時
wr_command(0x40);//設(shè)置列地址為0
wr_command(0xb8);//設(shè)置頁地址為0
wr_command(0xc0);//設(shè)置顯示位置為(0,0)wr_command(0x3f);//開啟顯示
}
}
一般來說,顯示漢字字符采用16×16點陣,這樣顯示屏每行可以顯示12個漢字,每屏可顯示4行。由于要顯示的漢字數(shù)量不多,所以直接將需要顯示的漢字點陣數(shù)據(jù)存放到程序中,通過編程調(diào)用顯示數(shù)據(jù)來實現(xiàn)顯示內(nèi)容,使用十分方便。圖像數(shù)據(jù)可通過繪圖工具生成各種圖像,其顯示數(shù)據(jù)可以通過字模提取軟件來生成,操作簡單,修改方便。漢字與圖像的顯示程序略。
人機界面實現(xiàn)過程為:先依據(jù)要顯示的內(nèi)容設(shè)計人機顯示界面,確定要顯示的圖像和字符大小和個數(shù),然后通過字模提取軟件生成各種顯示數(shù)據(jù),并將數(shù)據(jù)存入控制芯片中,以便隨時調(diào)用。通用子程序通過調(diào)用各個顯示數(shù)據(jù),在顯示屏上顯示出相應(yīng)內(nèi)容。最后根據(jù)實際效果對顯示內(nèi)容進行適當調(diào)整,就實現(xiàn)了整個人機界面設(shè)計。
在人機界面設(shè)計中,采用信利液晶屏M19264,實現(xiàn)了圖文并茂的人機界面效果,并且硬件設(shè)計簡單,軟件易于維護和擴展,降低了人機界面軟件開發(fā)難度。該液晶顯示屏顯示區(qū)域適中,可以任意顯示字符、漢字、圖像等顯示內(nèi)容,應(yīng)用方便靈活,顯示效果良好,性價比高,為控制系統(tǒng)產(chǎn)品的人機界面設(shè)計提供了很好的設(shè)計思路。
[1]李維諟,郭強.液晶顯示應(yīng)用技術(shù)[M].北京:電子工業(yè)出版社,2005.
[2]馬忠梅.單片機的C語言應(yīng)用程序設(shè)計[M].北京:北京航空航天大學(xué)出版社,1998.
[3]李廣第.單片機基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2001.
[4]胡偉.單片機C程序設(shè)計及應(yīng)用實例[M].北京:人民郵電出版社,2003.
[5]石成英,李進軍,劉志強.圖形點陣液晶顯示模塊與單片機接口技術(shù)[J].國外電子測量技術(shù),2004(4):50-53.
[6]向守兵,何巍,羅光偉.圖形點陣液晶顯示模塊FM12864J與單片機的接口技術(shù)[J].四川師范大學(xué)學(xué)報:自然科學(xué)版,2004,27(1):85-88.
[7]楊應(yīng)平,石城,蔣愛湘,等.圖形點陣液晶顯示模塊與51系列單片機的接口設(shè)計[J].現(xiàn)代顯示,2006(5):41-45.
[8]王占廣.基于C51的液晶顯示模塊的研究與應(yīng)用[J].甘肅科技,2005,21(1):75-76,74.
[9]吳永儉,李志軍,張少如,等.圖形液晶顯示模塊LM19264的顯示原理及應(yīng)用[J].河北工業(yè)大學(xué)成人教育學(xué)院學(xué)報,2005,20(1):21-27,31.
[10]郭強.液晶顯示的驅(qū)動和控制(一)[J].現(xiàn)代顯示,1999(1):46-51.
[11]郭強,李維諟.液晶顯示器的驅(qū)動和控制(續(xù))[J].現(xiàn)代顯示,1999(2):32-35,10.
[12]郭強,李維諟.液晶顯示器的驅(qū)動和控制(三)[J].現(xiàn)代顯示,1999(3):41-49.
[13]宋現(xiàn)春,王全景.圖形液晶顯示模塊LG2401281在儀器儀表中的應(yīng)用[J].儀器儀表學(xué)報,2005,26(z1):295-297.
[14]陳忠波,胡鵬程.液晶顯示控制器SED1330原理及應(yīng)用[J].鐵路計算機應(yīng)用,1999,8(4):19-21.