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

摘  要: 提出了一種基于ARM9嵌入式系統的LCD多級菜單結構的實現方法。本方法使用了鏈表數據結構。它建立的菜單網狀模型具有結構清晰、擴展性好、便于維護的特點。根據應用和嵌入式系統中液晶屏自身的特點提供了鎖屏解鎖功能。
關鍵詞: ARM9;人機交互界面;多級菜單;鎖屏;解鎖

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

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

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

5 菜單響應按鍵的基本事件
 通過按鍵事件可對菜單進行顯示、編輯、進入下級菜單、返回上級菜單、鎖屏、解鎖等操作。在μC/OS-II系統中[4-5],按鍵任務模塊發送按鍵狀態消息,LCD顯示任務模塊接收消息并做相應的消息處理。非鎖屏狀態程序流程圖如圖5所示。
6 液晶屏鎖屏與解鎖
 嵌入式系統顯示屏離不開鎖屏與解鎖操作。鎖屏狀態下按任意鍵可點亮LCD液晶屏并顯示解鎖提示信息。通過手動長按系統鍵或持續一段時間無按鍵操作,則進入鎖屏狀態;鎖屏和解鎖的流程圖分別如圖6、圖7所示。

 

 

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲毛片视频| 欧美多人爱爱视频网站| 亚洲精品国久久99热| 久久精品国产99精品国产亚洲性色| 亚洲午夜电影网| 99伊人成综合| 一本色道久久综合亚洲精品小说 | 在线免费观看日本一区| 精品91久久久久| 激情综合激情| 亚洲国产欧美一区二区三区久久 | 亚洲一区三区电影在线观看| 亚洲素人一区二区| 一本色道精品久久一区二区三区| 亚洲另类春色国产| 一本色道88久久加勒比精品| 中文精品在线| 亚洲欧美国产制服动漫| 亚洲欧美欧美一区二区三区| 午夜精品一区二区三区电影天堂| 亚洲欧美日韩精品久久亚洲区| 亚洲男人的天堂在线观看| 亚洲欧美日产图| 欧美在线免费观看亚洲| 亚洲国产成人在线播放| 亚洲精选一区二区| 一区二区三区福利| 亚洲伊人一本大道中文字幕| 欧美一区二区三区免费观看| 久久深夜福利| 欧美国产91| 欧美日韩国产精品一卡| 国产精品久久一级| 国内成+人亚洲| 亚洲激情社区| 亚洲调教视频在线观看| 午夜影视日本亚洲欧洲精品| 亚洲国产视频一区| 中文精品视频一区二区在线观看| 午夜亚洲视频| 老司机精品久久| 欧美日本不卡高清| 国产精品综合久久久| 在线日韩欧美视频| aⅴ色国产欧美| 性欧美大战久久久久久久免费观看 | 亚洲精品午夜精品| 亚洲专区国产精品| 久久久亚洲国产天美传媒修理工| 欧美91视频| 国产精品捆绑调教| 伊人成综合网伊人222| 亚洲精品综合| 欧美亚洲免费在线| 日韩一区二区高清| 欧美伊久线香蕉线新在线| 欧美ab在线视频| 国产精品毛片va一区二区三区| 国产综合色一区二区三区| 亚洲精品三级| 欧美一区午夜精品| 中日韩美女免费视频网址在线观看 | 亚洲精品久久7777| 欧美一区二区三区啪啪| 欧美激情久久久| 国产精品专区第二| 亚洲国产裸拍裸体视频在线观看乱了中文 | 午夜日韩av| 欧美成人在线免费视频| 国产精品久久久久久久久久免费看| 国产一区二区三区四区五区美女 | 亚洲少妇中出一区| 亚洲人成毛片在线播放女女| 欧美一区二区观看视频| 欧美日韩国产片| 樱花yy私人影院亚洲| 亚洲一区二区伦理| 一区二区三区日韩欧美| 另类人畜视频在线| 国产欧美日韩| 一区二区三区视频在线看| 91久久综合亚洲鲁鲁五月天| 欧美在线视频免费| 欧美午夜寂寞影院| 亚洲精选视频在线| 亚洲精品欧美在线| 快she精品国产999| 国产一级久久| 亚洲欧美日韩一区在线| 亚洲一二三区精品| 欧美日韩国产精品专区| 亚洲国产精品久久久久婷婷884| 欧美一区二区三区视频在线观看 | 亚洲人成毛片在线播放| 亚洲国产精品久久久久秋霞蜜臀 | 日韩一级片网址| 亚洲精品国精品久久99热| 久久久久久香蕉网| 国产区精品在线观看| 亚洲午夜在线观看| 亚洲一区二区日本| 欧美日韩精品福利| 亚洲免费不卡| 99视频在线观看一区三区| 免费在线亚洲| 在线免费观看一区二区三区| 久久国产精品色婷婷| 久久黄金**| 国产午夜精品在线观看| 午夜免费电影一区在线观看| 香蕉久久精品日日躁夜夜躁| 国产精品久久久久国产a级| 在线视频亚洲一区| 亚洲主播在线| 国产精品区一区| 亚洲一区二区三区在线看| 亚洲欧美精品伊人久久| 国产精品久久久久久久久久免费 | 久久激情五月激情| 久久久久综合网| 国内欧美视频一区二区| 欧美一区二区三区在线看 | 亚洲国产精品久久精品怡红院| 久久久久一区| 伊人精品在线| 亚洲人体影院| 欧美精品久久久久久| 亚洲美女视频在线观看| 亚洲午夜精品一区二区三区他趣| 欧美日韩亚洲天堂| 亚洲一区激情| 久久精品综合一区| 在线精品国产成人综合| 亚洲精品免费一区二区三区| 欧美日韩国产小视频| 中文欧美在线视频| 欧美影院成年免费版| 国产一区二区三区久久| 亚洲黄网站黄| 欧美三级视频| 亚洲欧美电影院| 久色成人在线| 亚洲美女尤物影院| 性感少妇一区| 激情小说亚洲一区| 日韩视频一区二区三区在线播放免费观看| 欧美精品在线观看播放| 亚洲午夜精品久久久久久app| 久久精品理论片| 亚洲大片在线观看| 亚洲视频久久| 国产欧美日韩在线| 亚洲国产影院| 欧美日本成人| 先锋影音网一区二区| 欧美v日韩v国产v| 国产精品99久久不卡二区 | 欧美激情1区2区3区| 99精品热视频只有精品10| 久久动漫亚洲| 亚洲精品欧美| 久久国产精品久久精品国产 | 久久激情五月丁香伊人| 欧美精品乱码久久久久久按摩| 在线亚洲美日韩| 久久久久久网| 99精品国产热久久91蜜凸| 久久国产精彩视频| 亚洲精品免费在线播放| 欧美影院视频| 亚洲精品三级| 久久久免费观看视频| 亚洲精选在线观看| 久久九九热re6这里有精品| 亚洲精品裸体| 久久婷婷亚洲| 在线午夜精品自拍| 毛片av中文字幕一区二区| 99天天综合性| 农夫在线精品视频免费观看| 国产精品99久久99久久久二8| 久久婷婷影院| 亚洲一区影院| 欧美精品三级在线观看| 欧美在线看片a免费观看| 国产精品多人| 亚洲精品国产精品国自产观看浪潮| 国产精品久久久久免费a∨大胸| 亚洲电影免费| 国产日韩欧美精品在线| 一区二区三区四区在线| 狠狠久久五月精品中文字幕| 亚洲欧美日韩综合一区| 亚洲精品免费网站| 久久午夜精品| 亚洲一区二区三区四区在线观看| 欧美另类videos死尸| 久久精品视频亚洲| 国产日韩欧美成人| 亚洲欧美视频在线观看视频|