一種基于MC9S08GT60單片機的LCD顯示菜單設(shè)計
本文引用地址:http://cafeforensic.com/article/256595.htm
2.3.4 窗口具體實現(xiàn)方法
包含空閑窗口在內(nèi),整個界面的窗口顯示共有4個窗口??臻e窗口應(yīng)該為程序的常駐窗口,即開機后空閑窗口的顯示數(shù)據(jù)就會一直存在于RAM中,其余窗口則是根據(jù)按鍵事件的處理來創(chuàng)建和銷毀。由于無法做到動態(tài)內(nèi)存分配,所以窗口的銷毀并不會帶來內(nèi)存的釋放,而只是數(shù)據(jù)清除。每一級的窗口顯示列表根據(jù)菜單樹分級的定義應(yīng)該為一固定值,并為每一個項目條標記一個ID,用作循環(huán)顯示以及作為類型標記,如圖4所示。每個顯示窗口都包含3個顯示行數(shù)據(jù)結(jié)構(gòu),用來為每次屏幕刷新提供數(shù)據(jù)。每個按鍵設(shè)有專門的程序處理入口。
3 系統(tǒng)運行結(jié)果
在新唐NUC100上和HTM13254的硬件平臺上,實現(xiàn)了LCD多級菜單的顯示,參數(shù)設(shè)置及存儲功能。上電初始化屏幕之后,顯示的空閑屏幕通過輸入不同的密碼進入不同的菜單窗口,當輸入正確的安防密碼之后,進入安防設(shè)置界面,如圖5所示;當輸入正確的設(shè)置密碼之后,進入操作設(shè)置界面,如圖6所示。以上兩個不同的窗口下,都可以通過上下鍵,移動光標,實現(xiàn)翻屏顯示;通過確定鍵進入下一級菜單;通過返回鍵返回上一級菜單出口或者直接退出到空閑界面。
設(shè)置參數(shù)時,通過上下鍵和確認鍵選擇要設(shè)置的參數(shù),不可編輯類型,如安防設(shè)置窗口,直接按下確定鍵設(shè)置??删庉嬜址?,如短信或者電話號碼設(shè)置,在進入設(shè)置界面之后,通過上下鍵和確定鍵進入電話號碼設(shè)置界面,通過上下鍵選擇要編輯的菜單項,此時,按下*號鍵,進入編輯界面,如圖7所示,通過鍵盤上4*4的鍵盤矩陣,輸入大小寫字符及數(shù)字,按下確定鍵,即可保存輸入的數(shù)據(jù),如圖8所示。
實驗結(jié)果表明,LCD菜單屏顯示界面簡潔美觀,和鍵盤交互操作方便快捷。LCD菜單的顯示程序按模塊化設(shè)計,不受其他模塊程序等其他任何程序的影響。增加鍵盤有效性檢查,視誤操作為無效操作,保持在當前窗口,減少了用戶的操作量;當無線安防警報系統(tǒng)功能擴增時,LCD模塊程序的結(jié)構(gòu)不變,有利于功能擴展。
4 結(jié)束語
介紹了多級菜單新的設(shè)計模式,仿照棧的數(shù)據(jù)結(jié)構(gòu),使菜單設(shè)計變得更為簡單方便,軟件維護更容易,為每個菜單窗口配置一個按鍵處理回調(diào)函數(shù),產(chǎn)生按鍵中斷后,交由回調(diào)函數(shù)去處理當前窗口上的按鍵反應(yīng)。通過安防警報系統(tǒng)實現(xiàn)的實際應(yīng)用表明,以上方法是切實有效的。同時,這些方法也為其他控制系統(tǒng)的多級菜單設(shè)計提供了參考和選擇。
c語言相關(guān)文章:c語言教程
超聲波清洗機相關(guān)文章:超聲波清洗機原理
蜂鳴器相關(guān)文章:蜂鳴器原理
評論