《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM的控制界面設(shè)計(jì)
基于ARM的控制界面設(shè)計(jì)
來(lái)源:微型機(jī)與應(yīng)用2013年第15期
楊依燦,薛 飛
(麗水博遠(yuǎn)科技有限公司,浙江 麗水 323000)
摘要: 提出了一種基于ARM9嵌入式系統(tǒng)的LCD多級(jí)菜單結(jié)構(gòu)的實(shí)現(xiàn)方法。本方法使用了鏈表數(shù)據(jù)結(jié)構(gòu)。它建立的菜單網(wǎng)狀模型具有結(jié)構(gòu)清晰、擴(kuò)展性好、便于維護(hù)的特點(diǎn)。根據(jù)應(yīng)用和嵌入式系統(tǒng)中液晶屏自身的特點(diǎn)提供了鎖屏與解鎖功能。
Abstract:
Key words :

摘  要: 提出了一種基于ARM9嵌入式系統(tǒng)的LCD多級(jí)菜單結(jié)構(gòu)的實(shí)現(xiàn)方法。本方法使用了鏈表數(shù)據(jù)結(jié)構(gòu)。它建立的菜單網(wǎng)狀模型具有結(jié)構(gòu)清晰、擴(kuò)展性好、便于維護(hù)的特點(diǎn)。根據(jù)應(yīng)用和嵌入式系統(tǒng)中液晶屏自身的特點(diǎn)提供了鎖屏解鎖功能。
關(guān)鍵詞: ARM9人機(jī)交互界面;多級(jí)菜單;鎖屏;解鎖

 嵌入式應(yīng)用系統(tǒng)中,使用點(diǎn)陣式液晶屏作為人機(jī)交互的界面和使用鍵盤控制顯示的內(nèi)容已成為主流趨勢(shì)。但點(diǎn)陣式液晶屏顯示的內(nèi)容非常有限,如何設(shè)計(jì)一個(gè)合理的結(jié)構(gòu)化菜單就成了嵌入式開(kāi)發(fā)中非常關(guān)鍵的問(wèn)題。本文介紹了一種用鏈表表示菜單的樹(shù)形結(jié)構(gòu)。該方法使設(shè)計(jì)的菜單結(jié)構(gòu)清晰、功能明確、擴(kuò)展性好,易維護(hù)。
 此外,良好的菜單設(shè)計(jì)除包括基本的工作流程選擇外,還應(yīng)包括自動(dòng)鎖屏、手動(dòng)鎖屏及解鎖的操作。這樣可以延長(zhǎng)LCD的使用壽命,起到保護(hù)LCD顯示屏的作用。
下面以6個(gè)按鍵、ARM芯片LPC3250和OCMJ2X10C_5液晶屏組成的系統(tǒng)為例,在C語(yǔ)言環(huán)境下進(jìn)行介紹。
1 系統(tǒng)硬件總體框圖
 本文設(shè)計(jì)了一個(gè)在ARM嵌入式平臺(tái)上實(shí)現(xiàn)LCD160×32多級(jí)菜單的電路。采用LPC3250的ARM芯片為控制芯片,OCMJ2X10C_5液晶屏為顯示模塊,采用鍵盤掃描作為輸入控制。系統(tǒng)總體硬件框圖如圖1所示。

2 鍵盤掃描模塊
 鎖屏和解鎖功能需區(qū)分按下系統(tǒng)鍵的時(shí)間長(zhǎng)短,鍵盤中斷輸入控制方式不易實(shí)現(xiàn)這種區(qū)分。但因鍵盤掃描有一個(gè)合理的時(shí)間閾值,從而容易實(shí)現(xiàn)這種區(qū)分。故本文采用鍵盤掃描作為輸入控制,其電路原理圖如圖2所示。

3 點(diǎn)陣式液晶模塊
 本文中系統(tǒng)采用160×32點(diǎn)陣液晶屏[1],可顯示16×16點(diǎn)陣的漢字2行10列。它還可顯示字母和數(shù)字,并且提供了多功能指令。本文中液晶屏和CPU之間采用串行連接方式[2],其電路原理圖如圖3所示。
4 基于鏈表的網(wǎng)狀菜單模型
 本文采用鏈表法[3]將每個(gè)菜單抽象成統(tǒng)一的對(duì)象,用面向?qū)ο蟮乃枷朐O(shè)計(jì)菜單結(jié)構(gòu)。每個(gè)對(duì)象節(jié)點(diǎn)需儲(chǔ)存自己的基本屬性及其父節(jié)點(diǎn)、第一個(gè)子節(jié)點(diǎn)和左右兄弟節(jié)點(diǎn)的位置。本文以三級(jí)菜單為例,基于C語(yǔ)言用鏈表結(jié)構(gòu)來(lái)完成對(duì)菜單樹(shù)的設(shè)計(jì),通過(guò)“上”、“下”、“左”、“右”、“確認(rèn)”、“返回”6個(gè)按鍵實(shí)現(xiàn)對(duì)菜單的選擇。
鏈表法實(shí)現(xiàn)多級(jí)菜單的顯示,首先建立一個(gè)結(jié)構(gòu)體,定義結(jié)構(gòu)體變量。本文中結(jié)構(gòu)體的C語(yǔ)言源代碼如下:
typedef struct MENU_STRUCT{
    INT8U name[LCD_WIDTH_IN_HALF_WORD];
    INT8U value[LCD_WIDTH_IN_HALF_WORD];
    INT32S value_PreIdx;/*保存value上一個(gè)值*/
    INT32S value_CurIdx;/*保存value當(dāng)前值*/
INT8U value_addr;/*menu在LCD屏上的顯示位置*/
INT8U idx[8];/*菜單索引號(hào)*/
pfMenu pfHook;/*菜單響應(yīng)函數(shù)*/
pfMenu pfDisp;/*菜單顯示函數(shù)*/
struct MENU_STRUCT*parent;/*菜單的上一級(jí)菜單*/
struct  MENU_STRUCT*firstchild;
/*菜單的第一個(gè)子菜單*/
struct MENU_STRUCT*nextsiling;
/*菜單的下一個(gè)兄弟菜單*/
struct MENU_STRUCT*presiling;
/*菜單的前一個(gè)兄弟菜單*/
struct MENU_STRUCT*nextNode;
/*用于菜單數(shù)組的管理*/
}*pMENU_STRUCT;
 結(jié)構(gòu)體指針parent、firstchild、nextsiling、presiling和nextNode管理一段存儲(chǔ)菜單項(xiàng)的內(nèi)存空間,它們通過(guò)鏈表的方式建立起菜單的網(wǎng)狀結(jié)構(gòu),便于菜單項(xiàng)的刪除、擴(kuò)展和維護(hù)。通過(guò)鏈表結(jié)構(gòu)可由當(dāng)前菜單確定它的父菜單及第一個(gè)兄弟菜單,從而查找到當(dāng)前菜單所在的菜單項(xiàng)并在液晶屏上顯示。每層的菜單結(jié)構(gòu)模型如圖4所示。

5 菜單響應(yīng)按鍵的基本事件
 通過(guò)按鍵事件可對(duì)菜單進(jìn)行顯示、編輯、進(jìn)入下級(jí)菜單、返回上級(jí)菜單、鎖屏、解鎖等操作。在μC/OS-II系統(tǒng)中[4-5],按鍵任務(wù)模塊發(fā)送按鍵狀態(tài)消息,LCD顯示任務(wù)模塊接收消息并做相應(yīng)的消息處理。非鎖屏狀態(tài)程序流程圖如圖5所示。
6 液晶屏鎖屏與解鎖
 嵌入式系統(tǒng)顯示屏離不開(kāi)鎖屏與解鎖操作。鎖屏狀態(tài)下按任意鍵可點(diǎn)亮LCD液晶屏并顯示解鎖提示信息。通過(guò)手動(dòng)長(zhǎng)按系統(tǒng)鍵或持續(xù)一段時(shí)間無(wú)按鍵操作,則進(jìn)入鎖屏狀態(tài);鎖屏和解鎖的流程圖分別如圖6、圖7所示。

 

 

 本文以6個(gè)按鍵、LPC3250的ARM芯片和LCD液晶屏為例,在C語(yǔ)言環(huán)境下介紹了用鏈表設(shè)計(jì)菜單結(jié)構(gòu)和鎖屏解鎖的方法。該方法設(shè)計(jì)的菜單結(jié)構(gòu)清晰,擴(kuò)展性好,具有很好的可移植性,易維護(hù),適用于嵌入式應(yīng)用系統(tǒng)開(kāi)發(fā)。同時(shí),此方法也為其他應(yīng)用系統(tǒng)的多級(jí)菜單設(shè)計(jì)提供了參考和選擇。
參考文獻(xiàn)
[1] 陸錚,羅嘉.單片機(jī)C語(yǔ)言下LCD多級(jí)菜單的一種實(shí)現(xiàn)方法[J].工礦自動(dòng)化,2006(1):50-51.
[2] 林曉毅,謝劍英.圖形點(diǎn)陣式液晶結(jié)構(gòu)化菜單設(shè)計(jì)與實(shí)現(xiàn)[J].控制工程,2007,14(4):391-394.
[3] 嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(第2版)[M].北京:清華大學(xué)出版社,1992.
[4] 高俊堯,趙佳.基于μC/OS-II的顯示控制系統(tǒng)開(kāi)發(fā)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2009(12):43-45.
[5] JEAN LABROSSE J.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II(第2版)[M].邵貝貝,等譯.北京:北京航空航天大學(xué)出版社,2003.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美在线免费视频| 午夜在线精品偷拍| 国产深夜精品| 欧美母乳在线| 久久免费视频在线观看| 亚洲午夜久久久| 99re热精品| 亚洲国产精品成人va在线观看| 亚洲一区二区三区精品在线| 亚洲国产一区二区三区高清| 国产一区二区三区在线播放免费观看 | 亚洲一本视频| 最新亚洲激情| 亚洲国产成人久久综合一区| 国产一区二区剧情av在线| 国产精品久久一区主播| 久久综合久久综合九色| 久久一区二区三区四区| 欧美在线观看一区| 午夜精品一区二区三区四区| 亚洲免费在线视频| 亚洲在线中文字幕| 一区二区三区 在线观看视| 性做久久久久久| 校园春色国产精品| 亚洲午夜精品福利| 一区二区日韩免费看| 亚洲无亚洲人成网站77777| 日韩午夜视频在线观看| 亚洲精品视频在线观看网站| 亚洲国产日韩欧美| 亚洲精品黄色| 亚洲精品一区二区三| 亚洲国产一区二区视频| 国内精品视频在线观看| 在线电影欧美日韩一区二区私密| 精品福利电影| 亚洲国产成人高清精品| 99国产精品国产精品久久| 日韩午夜av在线| 99国产一区二区三精品乱码| 一区二区在线视频播放| 最新日韩在线| 99国产精品| 亚洲精品免费一二三区| 99pao成人国产永久免费视频| 亚洲精品一线二线三线无人区| 亚洲私拍自拍| 午夜一区二区三区在线观看| 欧美专区一区二区三区| 亚洲美女av黄| 亚洲伊人色欲综合网| 西瓜成人精品人成网站| 亚洲午夜在线观看视频在线| 欧美在线一区二区| 久久免费视频在线观看| 蜜桃av一区二区在线观看| 欧美日韩你懂的| 国产精品捆绑调教| 国产综合久久久久久| 伊人成综合网伊人222| 欧美呦呦网站| 亚洲精品视频免费| 亚洲午夜视频在线观看| 亚洲视频在线观看网站| 午夜一区不卡| 亚洲大胆人体在线| 99国产精品久久久| 午夜国产精品视频免费体验区| 久久国产精品亚洲va麻豆| 男人插女人欧美| 欧美三级在线视频| 国产无一区二区| 亚洲电影免费观看高清完整版在线观看 | 国产精品视区| 1769国产精品| 亚洲午夜精品福利| 亚洲精品国精品久久99热| 亚洲色图自拍| 久久精品官网| 国产精品theporn| 国内揄拍国内精品久久 | 国产主播一区二区| 日韩小视频在线观看| 欧美一区二区啪啪| 亚洲另类自拍| 亚洲综合第一页| 欧美精品福利在线| 国产乱码精品一区二区三区不卡| …久久精品99久久香蕉国产| 亚洲一区二区三区在线视频| 亚洲人成人一区二区在线观看| 亚洲视频二区| 久久国产88| 国产精品免费看久久久香蕉| 亚洲福利视频二区| 一本一本大道香蕉久在线精品| 亚洲激情在线观看| 亚洲综合欧美日韩| 牛人盗摄一区二区三区视频| 国产精品久久久一区麻豆最新章节| 韩国亚洲精品| 亚洲性感美女99在线| 欧美一区视频在线| 99国产精品自拍| 久久香蕉国产线看观看网| 欧美日韩国产系列| 国产精品手机视频| 日韩视频永久免费| 亚洲国产精品久久人人爱蜜臀| 午夜亚洲一区| 国产精品午夜在线| 久久免费精品日本久久中文字幕| 亚洲一区二区网站| 99国产精品久久| 欧美韩国日本一区| 狠狠爱成人网| 亚洲欧美不卡| 亚洲一区二区视频在线| 欧美国产精品一区| 一区二区三区在线视频播放| 午夜精品久久久久久久久久久久| 亚洲一区二区三区免费观看| 欧美国产高清| 亚洲精品欧美一区二区三区| 91久久久久久久久久久久久| 久久久久se| 欧美日韩一级黄| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲国产日韩一区二区| 久久激情中文| 国产热re99久久6国产精品| 一区二区三区高清在线| 一本色道精品久久一区二区三区| 免费中文字幕日韩欧美| 国产精品中文字幕在线观看| 亚洲综合导航| 亚洲自拍另类| 国产色视频一区| 性久久久久久久| 欧美一区二区高清在线观看| 国产一区二区三区久久 | 亚洲乱码国产乱码精品精98午夜| 日韩视频一区二区三区| 欧美激情按摩在线| 亚洲激情婷婷| av成人激情| 欧美激情中文字幕乱码免费| 最新中文字幕亚洲| 亚洲一区二区久久| 国产伦精品一区二区三| 欧美专区在线观看一区| 欧美成人一品| 在线午夜精品自拍| 久久er精品视频| 亚洲第一综合天堂另类专| 夜久久久久久| 国产精品夜色7777狼人| 久久精品国产亚洲精品 | 欧美日韩人人澡狠狠躁视频| 亚洲一区不卡| 久久亚洲综合| 日韩一级在线观看| 欧美在线一区二区| 亚洲黄网站黄| 午夜精品剧场| 亚洲国产成人午夜在线一区| 亚洲综合色网站| 欧美与黑人午夜性猛交久久久| 亚洲小说欧美另类社区| 国产一区二区精品久久| 亚洲免费成人av| 国产女人精品视频| 亚洲人被黑人高潮完整版| 欧美午夜精品久久久久免费视| 欧美一级理论性理论a| 欧美精品日韩综合在线| 亚洲一区二区三区国产| 美女在线一区二区| 这里只有视频精品| 久久久九九九九| 亚洲乱码国产乱码精品精98午夜| 久久精品国产亚洲高清剧情介绍| 亚洲人www| 久久国产精品一区二区三区四区 | 亚洲欧洲精品一区二区| 亚洲欧美日韩在线播放| 在线观看的日韩av| 亚洲欧美日韩成人| 亚洲国产精品一区二区www在线| 亚洲男女自偷自拍| 亚洲国产一区二区a毛片| 欧美一区二区观看视频| 最新中文字幕一区二区三区| 久久丁香综合五月国产三级网站| 亚洲全部视频| 久久躁日日躁aaaaxxxx| 亚洲一二三区在线观看| 欧美国产日本韩| 久久激情久久|