51單片機實現(xiàn)多級液晶顯示中文菜單
出處:電子技術(shù)網(wǎng) 發(fā)布于:2014-01-21 10:49:29
摘要:本文以AT89C51單片機控制使用比較普遍的YM12864液晶顯示器為基礎(chǔ),介紹了一種采用分頁原理實現(xiàn)多級中文菜單操作的方法。給出了YM12864主要技術(shù)參數(shù)、顯示特性和的程序。設(shè)計的中文菜單具有一定的通用性,只需更改其中的菜單項即可將此設(shè)計應(yīng)用到家電、儀器儀表等設(shè)備上,為操作者提供友好方便的中文操作界面。
一、引言
目前小型的顯示器主要有LCD和LED,LED顯示器只能顯示數(shù)字和有限個英文字符,不能顯示漢字,顯示內(nèi)容不直觀,操作人員只能根據(jù)約定格式了解顯示內(nèi)容。而LCD則可顯示各種漢字和圖形,尤其能實現(xiàn)中文菜單顯示,為操作者提供方便友好的操作界面,并且功耗低,因此LCD得到廣泛應(yīng)用。而現(xiàn)在市面上帶中文字庫的LCD比比皆是,價格適中,且大部分具有與MCU統(tǒng)一的標準接口,為使用LCD實現(xiàn)中文菜單操作提供了很大的方便。相信更多的電子產(chǎn)品在提升性能的同時,設(shè)計更加人性化的中文菜單交互界面,將會使產(chǎn)品具有更廣闊的前景。
二、YM12864液晶顯示模塊簡介
YM12864漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個中文漢字(16X16點陣)、128個字符(8X16點陣)及64X256點陣顯示RAM(GDRAM)。
主要技術(shù)參數(shù)和顯示特性:
電源:VDD 3.3V~+5V(內(nèi)置升壓電路,無需負壓)顯示內(nèi)容:128列×64行與MCU接口:8位或4位并行/3位串行多種軟件功能:光標顯示、畫面移位、自定義字符、睡眠模式等。
其引腳功能為通用20腳LCD接口,用戶指令集也為通用128*64LCD用戶指令集,相關(guān)資料很容易獲取。因其內(nèi)置中文字庫,省去了自己造字庫的工作量,而只需寫入相應(yīng)的漢字和字符內(nèi)碼即可顯示所需要的漢字和字符,這在許多程序開發(fā)軟件中很容易實現(xiàn),如:WAVE、KEIL等。所以使用帶中文字庫的LCD來實現(xiàn)中文菜單操會更加簡便。
三、原理分析
通常的人機交互界面有兩種方式,選擇菜單和輸入?yún)?shù),為了便于分析,本文使用三級樹狀菜單結(jié)構(gòu)。因YM12864滿屏能顯示四行、每行八個漢字,故將四個選擇或參數(shù)輸入菜單項編為一頁,不足一頁的補空格。補空格的目的是為了歸一化操作,可大大簡化程序。每一個菜單、參數(shù)輸入、空格都為固定的八個漢字空間。當菜單1、菜單2、參數(shù)輸入3、4構(gòu)成菜單,四個菜單項為一頁同時顯示在液晶屏幕上;菜單1-1、菜單1-2、參數(shù)輸入1-3、空格1-4構(gòu)成了菜單1下的二級菜單,也組成一頁同時顯示在液晶屏幕上,三級菜單也是如此。使用4*4鍵盤進行操作,其中“0-9”為數(shù)字鍵,“Esc”為刪除/返回鍵,“Down”為向下選擇健,“Enter”為確定健,剩余三個按鍵預(yù)留備用,為了不與其他程序的通用寄存器混淆,而使用89C51的第二組通用寄存器R0和R2來記錄菜單的頁碼和行碼(光標所在的菜單行)。
現(xiàn)通過按鍵的功能來分析多級中文菜單的原理。當按下“Down”鍵后,光標移動一行(光標所在的行表示此行顯示的菜單處于激活狀態(tài))行碼加1,即(R2)=(R2)+1;當光標已在本級菜單的一項,此時按下“Down”鍵,光標回到本級菜單的首項,行碼為0,即(R2)=0.例如:光標處于二級菜單1-1-1,按下“Down”鍵,則光標移動到二級菜單1-1-2.
按下“Enter”,分兩種情況處理,如為選擇菜單,則根據(jù)頁碼和行碼的值:R0*4+R2調(diào)用下子菜單顯示,同時將子菜單的頁碼賦值給R0,得到子菜單的頁碼,并且使行碼R2=0,表示處于此級菜單的首項。例如:光標處于菜單1,按下“Enter”鍵,則液晶顯示屏上顯示菜單1-1、菜單1-2、參數(shù)輸入1-3、空格1-4.如為參數(shù)輸入菜單,則進入相應(yīng)的參數(shù)輸入對話框。例如:光標處于參數(shù)輸入1-3,按下“Enter”健,則液晶顯示屏上顯示對應(yīng)的要求輸入?yún)?shù)的對話框(一般為數(shù)字,為了簡化程序,可采用統(tǒng)一的參數(shù)輸入對話框),此時輸入符合要求的參數(shù),再按下“Enter”鍵,菜單將返回到上菜單,同時將輸入到Y(jié)M12864液晶顯示器的數(shù)據(jù)讀出,送到相應(yīng)的單元存儲,以備使用。
“Esc”鍵起到返回上菜單和刪除參數(shù)輸入時的錯誤輸入雙重功能,程序中只需使用一標志位來區(qū)分選擇菜單和參數(shù)輸入菜單即可,同時修改頁碼和行碼值,即R0和R1的值。例如:液晶屏上顯示二級菜單1-1-1、二級菜單1-1-2、二級菜單1-1-3、二級空格1-1-4,此時按下“Esc”鍵,則返回到,屏幕上顯示菜單1-1、菜單1-2、參數(shù)輸入1-3、空格1-4.
四、硬件設(shè)計
使用89C51的P1口作為液晶顯示器的數(shù)據(jù)口,使用P0口作為鍵盤掃描端口,當然這些端口也可以使用擴展口,只需在程序的開頭修改端口的值便可。電路圖如圖1所示。

五、軟件設(shè)計
重點在于軟件的設(shè)計,而程序的關(guān)鍵又在于使用了分頁的操作方式。以下為菜單數(shù)據(jù),按頁的方式存放,不足一頁的補空格。

由于篇幅有限,不能將所有的程序都寫出,只是將程序的框架列出,其它程序如:按鍵掃描子程序、YM12864顯示子程序可參照其它資料。實際應(yīng)用時需要根據(jù)具體情況加以補充。
六、結(jié)語
本方法設(shè)計的多級中文菜單易于實現(xiàn)、可靠性高,并且具有一定的通用性和使用價值,實際應(yīng)用時根據(jù)產(chǎn)品的操作要求修改上述的菜單名稱即可。當某級菜單的項目數(shù)有多頁時,為方便操作,可增加翻頁按鍵;所有菜單的頁數(shù)為256頁,共1024個菜單項,對于一般的系統(tǒng)完全夠用。采用此方法設(shè)計的全中文菜單操作的信號發(fā)生器曾獲得2007年全國大學生電子設(shè)計大賽三等獎(江西賽區(qū))。(作者:游雨云,程智君)
版權(quán)與免責聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- LED照明技術(shù)特性與選型運維指南2026/1/5 10:26:27
- 工業(yè)觸摸屏選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/22 11:44:57
- 顯示器色深 6Bit、8Bit、10Bit 與 6 抖 8、8 抖 10、FRC2025/8/28 15:29:32
- Micro-LED技術(shù)解析2025/8/26 17:21:56
- LED顯示屏標清、高清、超清、1080P與4K的解析2025/8/8 17:05:00









