<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于SPCE061A的ACM12864J液晶顯示模塊設(shè)計

          基于SPCE061A的ACM12864J液晶顯示模塊設(shè)計

          作者: 時間:2012-08-03 來源:網(wǎng)絡(luò) 收藏

          最常用的辦法是采用字模提取軟件提取字模,這種方法在資源比較少的條件下是適宜的。缺點是比較麻煩,要來回改動,且不好尋址。一種比較實用的方法是制作好一個ASCII字模表,定義為一個一維數(shù)組的形式。程序中若出現(xiàn)數(shù)字變量的操作,須把變量轉(zhuǎn)化為字符顯示時。因此,先判斷顯示的是字符還是數(shù)字,若是數(shù)字,先應(yīng)轉(zhuǎn)化為字符。然后再把ASCII值減去32得到索引值,根據(jù)索引值直接查表,查得8*16的點陣字模,送出顯示。在程序中可以用變量直接表示數(shù)字并進行運算,顯示時只送變量。對于,內(nèi)置有32K字的flash ROM,而表格又不大,在數(shù)組前加入const即可把數(shù)組存到內(nèi)部的flash ROM中。在中,取每個ASCII字模為8*16,每個ASCII字模占16個字節(jié),按ASCII從小到大的順序排列,便于查找。
          3.3 漢字的顯示
          漢字在上一般采用兩種取模方式:一種為12*12點陣,可顯示5行漢字,缺點是編程較為困難;一種為16*16點陣,可顯示4行漢字,編程比較簡單。以16*16點陣為例來說,每個漢字占用32個字節(jié),根據(jù)LCD顯示的要求,利用字模提取軟件,采用縱向8點下高位能滿足要求。
          在進行中文菜單時,每行可顯示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弧度,可參考以下程序:


          本文介紹了不帶中文字庫的的接口技術(shù),提出了技巧性的編程解決辦法。采用ACM12864J,可以顯示字符、中文漢字、圖形與動畫等,提高了系統(tǒng)的可視化界面,在工業(yè)儀器儀表中得到了廣泛的應(yīng)用。凌陽公司生產(chǎn)的具有不僅具有一般控制器的功能,加上其獨具特色的語音處理功能,可以開發(fā)出許多智能化的產(chǎn)品。

          本文引用地址:http://www.ex-cimer.com/article/171076.htm
          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();