引言
目前,智能儀表常用的顯示設(shè)備有發(fā)光二極管顯示器LED、液晶顯示器LCD等,但是由于LED不能顯示復(fù)雜字符、LCD不宜在暗室中使用的缺點,無法滿足智能儀表對顯示的更高求;而真空熒光顯示屏VFD具有亮度高、可調(diào)節(jié)、顯示圖案靈活的優(yōu)點,在智能儀表中得到了廣泛的應(yīng)用。本文以Samsung公司的128S64AA1VFD顯示模塊為例,介紹在基于51系列單片機的智能儀表中的應(yīng)用。
1 顯示模塊的結(jié)構(gòu)以及與單片機的接口
1.1 128S64AA1的基本結(jié)構(gòu)
該模塊提供有128×64點陣,包括VFD顯示屏、VFD驅(qū)動電路、DC/DC轉(zhuǎn)換器以及顯示控制器;供電電壓是12V,邏輯電壓是5V;亮度可以由軟件來控制。
其接線端子有供電端和接口端兩個,外部接口簡單易用,30根接口線的功能分別為:8根數(shù)據(jù)線D0~D7和于傳輸數(shù)據(jù)及亮度控制信號;11根地址線用于指定數(shù)據(jù)寫入地址,其中A0~A7指定列數(shù),A8~A10指定行數(shù);9根控制線中,BRAD為選擇寫數(shù)據(jù)模式與亮度控制模式,WRITE為寫控制信號,READY為模塊寫數(shù)據(jù)允許,CLEAR為清屏信號,DSPE為顯示允許信號,WP為選擇寫數(shù)據(jù)頁數(shù),DP為顯示頁數(shù);2根地線為從電池和邏輯地。
1.2 128S64AA1與單片機的接口
128S64AA1模塊與51系列單片機的接口,其中P1口作為VFD所需的控制線,P0和P2作為地址線和數(shù)據(jù)線。
2 顯示模塊的控制和操作
該模塊有清空方式(Clear Mode)、寫數(shù)據(jù)方式(Write Mode)和亮度控制方式(Dimming Mode)三種工作方式,對應(yīng)的操作時序清晰示意了三種工作方式下對VFD模塊的控制和操作過程。
(1)清空方式
將CLEAR端置低電平,此時由WP0和WP1所選擇的RAM清空。當(dāng)清空完畢時,READY輸出低電平。此方式的優(yōu)先級最高,即使READY的輸出為1,RAM仍波清空。
用C51實現(xiàn)的RAM清空的函數(shù)為:
void VFD_clear(void)
{P1^2=0; //置清空RAM模式
P1^2=1;
P1^1=0;
do {}
while(P1^1==1); //等待清空響應(yīng)
}
(2)寫數(shù)據(jù)方式
當(dāng)DSPE為高電平,BRAD為高電平時,通過寫操作可將待顯示的數(shù)據(jù)寫入由WP0和WP1所選擇的RAM;當(dāng)數(shù)據(jù)寫入完畢,READY輸出低電平,此時可以繼續(xù)寫入下一個數(shù)據(jù)。在此工作方式中,為了使VFD內(nèi)部的RAM按照行排列地址連續(xù),以便于軟件編程,在實際設(shè)計時可將地址A8~A10接VFD的A0~A2,以用于選擇點陣的行數(shù);而將地址線A0~A7接VFD的A3~A10,用于選擇點陣的列數(shù)。
在寫工作方式中,應(yīng)包括以下幾個操作步驟:
①置寫數(shù)據(jù)模式;
②置顯示允許;
③選擇寫數(shù)據(jù)頁數(shù);
④寫待顯示數(shù)據(jù);
⑤選擇顯示頁數(shù)。
因此,可將實現(xiàn)此功能的C51程序設(shè)計如下:
void WrChar(uchar xdata *addr,uchar code *codename,uchar count)
//addr為字的起始地址,count為字符個數(shù)
{uint i=0;
uchar col;
for(col=0;col<count;col++){
*(addr++)=codeName[i++];
do {}
while(P1^1==1);
}[!--empirenews.page--]
} //寫數(shù)據(jù)函數(shù)
P1^0=1; //置寫數(shù)據(jù)模式
P1^3=1; //置顯示允許
P1^4=0; //選擇寫第0頁
P1^6=0; //選擇寫第0頁
WrChar(0x1000,page0[],64); //寫數(shù)據(jù),從1000開始按行寫64個字符編碼,存放于page0[]數(shù)組中
P1^5=0;
P1^7=0; //選擇顯示第0頁
(3)亮度控制方式
當(dāng)WRITE輸入有效信號,BRAD為低電平時,D0和D1兩位的值決定顯示的亮度。初始化時的亮度為100%,所需亮度與D1、D0兩位數(shù)據(jù)的關(guān)系;
D1 D0 亮度/% 0 0 25 0 1 50 1 0 75 1 1 100
因此,若要控制顯示亮度,可用下列C51程序?qū)崿F(xiàn):
uchar xdata *p;
p=0x00;
(*p)=0x02; //控制亮度為75%
3 應(yīng)用實例
某測控裝置需顯示包括概貌、溫度控制、pH值控制以及實時同線在內(nèi)的一系列圖文信息,且顯示要求較高,要求在光線不足的條件下保證其亮度。為此,選用128S64AA1這一VFD模塊作為顯示器件。該系統(tǒng)人機交互部分包括顯示模塊以及四個按鍵:確認(rèn)鍵、參數(shù)修改鍵、光標(biāo)移動鍵及返回鍵。
開機時要求顯示公司名稱,待按下確認(rèn)鍵后,再進入主菜單顯示。此時,用戶可通過按光標(biāo)移動鍵來選擇不同的菜單頁面,待確認(rèn)鍵按下后進入相應(yīng)的畫面。在次級頁面,按光標(biāo)移動鍵和確認(rèn)鍵,可以完成實時值和實時曲線的顯示以及相應(yīng)參數(shù)的修改和保存;修改完成后,按返回鍵返回到主菜單。
下面以主菜單畫面中光標(biāo)移動的子程序為例,簡要介紹在鍵盤按下后,VFD上顯示信息變化的過程。菜單包括7個菜單項;概貌、溫度控制、pH值控制、轉(zhuǎn)速消泡補料、pH DO的電極標(biāo)定、pH Temp實時曲線和DO Agit實時曲線。為了簡化程序設(shè)計,光標(biāo)采用反寫字符的方式,簡單直觀。當(dāng)光標(biāo)移動鍵按下后,先判斷光標(biāo)的位置(SemiPg=?),然后正寫光標(biāo)所在的位置,恢復(fù)原貌;SemiPg加1(保持SemiPg在1~7內(nèi)),然后反寫SemiPg菜單項,使光標(biāo)移動到下一項。此時按下確認(rèn)鍵,就可根據(jù)SemigPg的值進入光標(biāo)所在的下一級菜單。
以上僅是128S64AA1模塊在實際測控裝置中的一個信息顯示實例。在實際裝置中,該模塊還實現(xiàn)了實時數(shù)據(jù)顯示、設(shè)定參數(shù)修改顯示、實時數(shù)據(jù)曲線顯示功能。
結(jié)語
VFD顯示模塊是一種集顯示、控制與驅(qū)動于一體的顯示器件,其最大特點是自身發(fā)光,特別適合在光線不足的條件下實現(xiàn)圖文信息顯示。由于該模塊亮度高,可滿足在暗室中顯示的要求,而且性能可靠,顯示美觀。另外,VFD模塊還有接口方便,編程簡單等優(yōu)點,可被廣泛應(yīng)用在家用電器、辦公自動化設(shè)備、工業(yè)儀器表及汽車等各種領(lǐng)域中。