基于ARM7微處理器的中文液晶顯示技術(shù)-新品速遞_第1頁
基于ARM7微處理器的中文液晶顯示技術(shù)-新品速遞_第2頁
基于ARM7微處理器的中文液晶顯示技術(shù)-新品速遞_第3頁
基于ARM7微處理器的中文液晶顯示技術(shù)-新品速遞_第4頁
基于ARM7微處理器的中文液晶顯示技術(shù)-新品速遞_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

精品文檔-下載后可編輯基于ARM7微處理器的中文液晶顯示技術(shù)-新品速遞1引言液晶顯示屏LCD作為一種功耗低、體積小、無輻射的顯示器件,近幾年被廣泛應(yīng)用于各式各樣的嵌入式電子產(chǎn)品中,LCD可分為段位式、字符式和點陣式三種,其中,段位式LCD和字符式LCD只能用于字符和數(shù)字的簡單顯示,不能滿足圖形曲線和漢字顯示的要求,而點陣式LCD不僅可以顯示字符、數(shù)字,還可以顯示各種圖形、曲線及漢字,并且可以實現(xiàn)屏幕上下左右滾動動畫功能,分區(qū)開窗口、反轉(zhuǎn)、閃爍等功能,用途十分廣泛,為了簡化液晶顯示電路的設(shè)計和應(yīng)用,生產(chǎn)廠家通常將液晶顯示單元、顯示控制器,顯示內(nèi)存和顯示驅(qū)動電路等裝配在一起,做成液晶顯示模塊LCDModule(LCM)[1]。LCM對外提供標(biāo)準(zhǔn)數(shù)據(jù)和控制接口以及控制指令,本文以ATM12864C為例,介紹帶控制驅(qū)動器ST7920的液晶顯示模塊與Philips公司的ARM7微控制器LPC2214的接口設(shè)計及編程方法,并在此基礎(chǔ)詳細(xì)介紹在液晶顯示屏上顯示可連續(xù)滾動的中文菜單及菜單項反白選擇顯示的設(shè)計方法,并討論如何解決漢字顯示過程中出現(xiàn)的亂碼問題。2硬件實現(xiàn)ATM12864C是廣東金鵬電子有限公司生產(chǎn)的中文液晶顯示模塊,該款液晶顯示模塊采用中文字型點陣的控制驅(qū)動器ST7920,他內(nèi)含8192個16×16點陣的國標(biāo)簡體漢字和126個16×8點陣的英文符號字庫。用戶輸入國標(biāo)碼或ASCII碼即可實現(xiàn)文本顯示。滿屏顯示為8個漢字×4行,另外,還提供64×256點的繪圖RAM(GDRAM),可以與文字混合顯示,而且內(nèi)含字型產(chǎn)生RAM(CGRAM),提供可編程造字功能,ATM12864C提供的外部接口信號有:8位數(shù)據(jù)總線D0-D8;寄存器選擇信號R/S,當(dāng)R/S為高電平時,控制數(shù)據(jù)寄存器,R/S為低電平時,控制指令寄存器,讀寫信號R/W,R/W為該電平時讀,低電平時寫,使能信號E,下降沿有效,ATM12864C的寫操作時序如圖1(b)所示,讀操作時序除R/W信號為高電平外,其余與寫操作時序相同[2]。LPC2214是Philips公司推出的一款基于一個支持實時仿真和跟蹤的32位ARM7TDMI-SCPU的微控制器,頻率高達(dá)60MHz,帶有256KB嵌入的高速片內(nèi)Flash存儲器和4個32位寬度的外部存儲器接口,是一款低功耗、高性能、小封裝的微控制器,LPC2214的外部存儲器訪問時序如圖1(a)所示[1]。為了節(jié)省微控制器的普通I/O口資源和簡化程序的編寫,LPC2214可以通過數(shù)據(jù)總線與控制信號直接采用外部存儲器訪問形式控制液晶顯示模塊,這種方式對于一些I/O口資源緊張的復(fù)雜系統(tǒng)有著更加重要的意義,由于STA7920的數(shù)據(jù)訪問時序與LTC2214的存儲器訪問時序有很大區(qū)別,如圖1所示。LPC2214和液晶顯示模塊的接口電路設(shè)計的關(guān)鍵是如何通過合理的設(shè)計,使得LPC2214的存儲器訪問時序和ST7920的訪問時序正確的配合。LPC2214與液晶顯示模塊的接口電路如圖2所示。LPC2214通過低位地址A1控制LCM的R/S信號,以選擇當(dāng)前控制的寄存器,通過對LPC2214寫信號WE做適當(dāng)?shù)难舆t后作為LCM的R/W信號控制數(shù)據(jù)總線上的數(shù)據(jù)流方法。而LCM的使能信號E由LPC22414的讀信號OE、寫信號WE和存儲器控制器的片選信號CS1來合成產(chǎn)生,在產(chǎn)生讀寫信號R/W信號的電路中,電阻R和電容C的選擇是關(guān)鍵,根據(jù)LPC2214和ST7920的電氣特性(具體見文獻(xiàn)[1,2])和調(diào)試的結(jié)果,理想的選值:R取1KΩ,C取12PF,為了實現(xiàn)低功耗,LCM的背光通過一個普通I/O口來控制,當(dāng)有外部按鍵響應(yīng)時,背光點亮,否則背光熄滅。由于LCM的片選信號由CS1控制,即使用LPC2214外部存儲器接口的Bank1地址空間,而R/S信號由A1控制,所以LCM的操作如下:命令輸入地址:0x81000000數(shù)據(jù)操作地址:0x810000023軟件設(shè)計在帶漢字庫的液晶屏顯示程序設(shè)計過程中,中文菜單的滾動顯示和菜單項的反白選擇是關(guān)鍵,本文所選的液晶顯示模塊可顯示4行,每行可顯示8個中文字符。當(dāng)要顯示的菜單項大于4個時,需要進(jìn)行滾屏顯示。本文設(shè)計了一種人機交互友好的菜單操作程序,該程序的基本思想:在內(nèi)存中開辟一個可顯示4×16得二維字符型數(shù)組的顯示緩沖區(qū),把要顯示菜單項列表存儲在另一個二維數(shù)組中,通過改變顯示函數(shù)LCM_Show()的參數(shù),方便、靈活地顯示菜單列表中指定的菜單項,假設(shè)要顯示如圖3(a)中的5項菜單,默認(rèn)的顯示焦點在行,即把行的菜單項進(jìn)行反白顯示,當(dāng)按"下移"鍵,顯示焦點下移一行。當(dāng)焦點下移至液晶顯示屏一行時,如圖3(b)所示,此時再按"下移"鍵,顯示屏向上滾動,如圖3(c)所示,當(dāng)繼續(xù)按"下移"鍵時,顯示屏繼續(xù)向上滾動,循環(huán)顯示菜單列表中的5項菜單,如圖3(d)所示,按"上移"鍵,操作相同。本文通過顯示函數(shù)LCM_Show()和反白顯示函數(shù)LCM_ShowInvert()來實現(xiàn)如上所述的菜單連續(xù)滾動顯示功能及焦點反白顯示功能。具體代碼如下:在顯示漢字的過程中,顯示內(nèi)容經(jīng)常是漢字和ASCII碼混合,由于漢字是由2個字節(jié)組成,ASCII碼是一個字節(jié),如果顯示內(nèi)容中的ASCII號碼中的個數(shù)是單數(shù),ASCII碼后面漢字的顯示就會出現(xiàn)亂碼的現(xiàn)象。針對這一現(xiàn)象,本文提出了在顯示前對顯示內(nèi)容進(jìn)行格式化的方法,其基本思想是:把連續(xù)的單數(shù)個ASCII碼字符后面加一個空格,使顯示內(nèi)容中的連續(xù)ASCII碼字符保持雙數(shù),這種方法很好地解決了漢字顯示時的亂碼現(xiàn)象。程序流程如圖4所示。4結(jié)語本文在對ARM7微控制器LPC2214和帶控制驅(qū)動器ST7920的液晶顯示模塊的訪問時序進(jìn)行研究的基礎(chǔ)上,設(shè)計了他們之間的接口電路,該接口電路無需增加普通I/O,直接使用LPC2214的外部存儲器訪問形式簡單方便地對液晶顯示模塊進(jìn)行控制,既節(jié)省了普通I/O口,也使得程序的編寫更加方便,同時也給出了中文菜單滾屏顯示和菜單項反白選擇的程序,并且針對在顯示過程中出現(xiàn)的亂碼現(xiàn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論