新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 基于51單片機的漢字LCD智能顯示模塊設(shè)計

基于51單片機的漢字LCD智能顯示模塊設(shè)計

——
作者:李子鍵 東華理工學院電子與機械工程學院 時間:2007-01-26 來源:《電子元器件應(yīng)用》 收藏


引言

在電子產(chǎn)品設(shè)計中,人機交互顯示界面是必不可少的工作,目前一般使用的液晶顯示器均為七段筆劃式,只能顯示數(shù)字和少量字符,功能往往受到局限,對于較復(fù)雜的字符或圖形則無能為力。而lcd智能型顯示則是一種低功耗、低損耗、低價值的顯示器件,它不但可以顯示各式各樣的字符、漢字和圖形,同時具有可編程能力,且與單片機接口方便,基于以上優(yōu)點,lcd智能顯示獲得了廣泛的應(yīng)用。

系統(tǒng)組成

本文引用地址:http://2s4d.com/article/21534.htm

本系統(tǒng)主要由三部分組成,分別為單片機,lcd和flash字庫,圖1所示是該系統(tǒng)的硬件原理框圖,由于顯示所需要占用的資源過多(本設(shè)計采用的是16×16點陣,每個漢字存儲需要32個字節(jié)),而單片機內(nèi)部ram資源及其有限,所以系統(tǒng)設(shè)計時有必要擴展—flash存儲器,i2c接口主要負責通訊,該接口具有通訊速度較快,器件之間電氣部分設(shè)計較好等特點,可以使接口部分達到設(shè)計標準。

漢字的顯示原理

漢字一般是以點陣式存儲的,如16×16,24×24點陣,漢字的字模其實是漢字字形的圖形化,所謂16點陣字模,就是把漢字寫在一個16×16的網(wǎng)格內(nèi),漢字的筆劃通過某網(wǎng)格時該網(wǎng)格就對應(yīng)1,否則該網(wǎng)絡(luò)對應(yīng)0,這樣,每一網(wǎng)絡(luò)均對應(yīng)1或0,把對應(yīng)1的網(wǎng)格連起來看,就是這個漢字,漢字就是這樣通過字節(jié)表示其點陣存儲在字符字庫中的,為了方便查找所需漢字的點陣,每個漢字都與一個雙字節(jié)的內(nèi)碼一一對應(yīng),通過漢字的內(nèi)碼可以計算出它的點陣起始字節(jié)?,F(xiàn)以16點陣為例來進行說明,首先,可由內(nèi)碼計算出他在漢字庫中的區(qū)位碼,其計算公式為:

bq=bn1-160

bw=bn2-160

式中,bq表示區(qū)碼,bw為表示位碼,而bn1和bn2則分別表示內(nèi)碼的第一字節(jié)和內(nèi)碼的第二字節(jié)。

當這些區(qū)位碼被計算出來之后,就可以用區(qū)位碼得到它在漢字庫中字模第一個字節(jié)的位置,即:

(bq×94+bw)×32

這樣,接下來就可以向連續(xù)讀出由32個字節(jié)組成的該字的點陣數(shù)據(jù)。

主要器件介紹

◇ 顯示模塊lm12864

lm12864是內(nèi)置了hd61202u控制器的128×64點陣式液晶顯示器,lm12864的顯示區(qū)域被分為左右兩個區(qū),均為64×64大小,左右區(qū)的選擇由csa和csb的組合來決定,當csa、csb的組合為01時,選擇左區(qū),當二者的組合為10時,選擇右區(qū),二者組合為00或11時均無效,lm12864內(nèi)置的hd61202u為一可編程器件,通過對hd61202u控制器的編程可以實現(xiàn)液晶顯示器的各種功能,所有顯示功能均可由指令控制實現(xiàn),本系統(tǒng)共有7條指令。

◇ flash存儲器

串行flash存儲器以其體積小、密度高、功耗低、操作易而備受青睞,本文簡單介紹了megawin公司生產(chǎn)的flash存儲器mm36sb020e,mm36sb020e為2m×8bit串行flash,大小為256kbyte,接線方式可采用2線和3線制,器件的忙判斷可以由內(nèi)部的狀態(tài)寄存器來判斷,也可以通過外部引腳busy來判斷,可以說,該flash不僅操作十分簡單,并且可以適用于多個設(shè)計方案。

通??梢园褲h字庫放在flash里,典型的漢字庫可選用ucdos下的字庫,(如16點陣字庫hzk16),但需要256kb空間,讀取也很不方便,鑒于實際應(yīng)用中需要的漢字非常少,因此可以自己制作小的漢字庫,在這個小字庫里只包含系統(tǒng)需要的漢字, 需要顯示某個漢字時,先算出它的區(qū)位碼,再求出點陣起始位置,接著從flash中順序調(diào)出該字的點陣數(shù)據(jù)并存在緩沖區(qū)里,最后依次送往lcd顯示,以描出該字。

軟件設(shè)計

◇ 字庫制作和維護軟件設(shè)計

漢字庫可存儲在2線串行存儲器mm36sb020e中,該存儲器分為2048頁,每頁為128字節(jié)的存儲單元,且?guī)в?28個字節(jié)的緩沖區(qū),它有嚴格的時序和規(guī)定的命令格式,操作時可以通過其特有緩沖區(qū)(128字節(jié))對其內(nèi)部進行讀或?qū)?,器件的智能顯示接口模塊通過i2c通訊接口從外部獲取漢字點陣庫的源數(shù)據(jù),并根據(jù)漢字的區(qū)位碼確定其點陣信息在漢字庫中的存放位置,接著把存儲器的點陣信息整頁讀出到緩沖區(qū)進行修改,最后再寫入存儲器,操作結(jié)束時,應(yīng)清除新指令標志以免重復(fù)響應(yīng),字庫制作與維護的流程如圖2所示。

◇ 顯示軟件設(shè)計

lm12864中的顯示區(qū)共有64行,分為8頁,每頁8行,這樣就必須向兩頁中的對應(yīng)列送數(shù)據(jù),實際上,在寫每個漢字時,一般先取字模的上16個字節(jié)并將其寫在一頁中,再將字模的下16個字節(jié)寫在下一頁中即可。共顯示流程如圖3所示。

結(jié)束語

本文所介紹的這種lcd智能顯示模塊不但能夠顯示數(shù)據(jù),也能夠顯示中文文字和圖形,其顯示效果遠遠超過數(shù)碼管;隨著其價格的不斷下降,該模塊無疑將被越來越多的智能系統(tǒng)所采用。



關(guān)鍵詞: 模塊

評論


相關(guān)推薦

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

關(guān)閉