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