基于SPCE061A的ACM12864J液晶顯示模塊設(shè)計
最常用的辦法是采用字模提取軟件提取字模,這種方法在資源比較少的條件下是適宜的。缺點是比較麻煩,要來回改動,且不好尋址。一種比較實用的方法是制作好一個ASCII字模表,定義為一個一維數(shù)組的形式。程序中若出現(xiàn)數(shù)字變量的操作,須把變量轉(zhuǎn)化為字符顯示時。因此,先判斷顯示的是字符還是數(shù)字,若是數(shù)字,先應(yīng)轉(zhuǎn)化為字符。然后再把ASCII值減去32得到索引值,根據(jù)索引值直接查表,查得8*16的點陣字模,送出顯示。在程序中可以用變量直接表示數(shù)字并進行運算,顯示時只送變量。對于SPCE061A,內(nèi)置有32K字的flash ROM,而表格又不大,在數(shù)組前加入const即可把數(shù)組存到內(nèi)部的flash ROM中。在ACM12864J中,取每個ASCII字模為8*16,每個ASCII字模占16個字節(jié),按ASCII從小到大的順序排列,便于查找。
3.3 漢字的顯示
漢字在ACM12864J上一般采用兩種取模方式:一種為12*12點陣,可顯示5行漢字,缺點是編程較為困難;一種為16*16點陣,可顯示4行漢字,編程比較簡單。以16*16點陣為例來說,每個漢字占用32個字節(jié),根據(jù)LCD顯示的要求,利用字模提取軟件,采用縱向8點下高位能滿足要求。
在進行中文菜單設(shè)計時,每行可顯示8個漢字,有個焦點問題,編程時可設(shè)置一個焦點指針,處于焦點之下的反白顯示,其他的正常顯示。這樣可把每行顯示編成一個函數(shù)的形式,控制好焦點,顯示時調(diào)用一次顯示行子函數(shù)。漢字顯示程序如下(fb=1,反白顯示):
3.4 圖形及動畫的顯示
圖形及動畫的顯示一般是整屏操作的,字模的選取可以先用windows下的畫筆工具。新建一幅128*64像素的圖片,編完圖片后,保存為黑白圖象。然后在字模軟件中打開,提取出字模來。每幅圖片占用128*8個字節(jié)的空間,根據(jù)圖片數(shù)據(jù)存儲的特點,提取的鄰近字模數(shù)據(jù)相同。若是圖片比較多或者進行動畫顯示,最好進行壓縮保存,節(jié)省控制器寶貴的資源,讀取時編寫控制器軟件解壓縮。
3.5 曲線的顯示與繪制
點是組成曲線的基本單位,畫曲線也就是多次調(diào)用點函數(shù)進行顯示的。點函數(shù)編制思想也就是根據(jù)橫坐標X(1=X=128),縱坐標Y(1=Y=64)來確定某一點,而在畫函數(shù)時,X坐標從左往右,正好符合人的習慣。但Y坐標從上到下依次增大,與人相反,故必須校正。以畫兩個周期的正弦函數(shù)為例,可包含頭文件math.h,調(diào)用庫函數(shù)y=sinf(x),其中x為浮點數(shù)弧度顯示,y的值介于-1與1之間。要滿屏顯示,須加1變?yōu)檎?,放?1倍;x坐標為128點,取步進量為0.1弧度,可參考以下程序:
本文介紹了不帶中文字庫的ACM12864J與SPCE061A的接口技術(shù),提出了技巧性的編程解決辦法。采用ACM12864J液晶顯示模塊,可以顯示字符、中文漢字、圖形與動畫等,提高了系統(tǒng)的可視化界面,在工業(yè)儀器儀表中得到了廣泛的應(yīng)用。凌陽公司生產(chǎn)的SPCE061A具有不僅具有一般控制器的功能,加上其獨具特色的語音處理功能,可以開發(fā)出許多智能化的產(chǎn)品。
本文引用地址:http://butianyuan.cn/article/171076.htm
評論