国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于單片機的索引菜單查詢方式的軟件設(shè)計應(yīng)用

2015-07-26 09:03王永全丹東東方測控技術(shù)股份有限公司電子部遼寧丹東118002
山東工業(yè)技術(shù) 2015年2期
關(guān)鍵詞:菜單單片機

王永全(丹東東方測控技術(shù)股份有限公司電子部,遼寧 丹東118002)

基于單片機的索引菜單查詢方式的軟件設(shè)計應(yīng)用

王永全
(丹東東方測控技術(shù)股份有限公司電子部,遼寧丹東118002)

摘要:本文介紹一種在單片機設(shè)計軟件中基于索引的多層次,多級別的菜單查詢的軟件設(shè)計方法。

關(guān)鍵詞:單片機;索引;菜單

0 引言

在單片機系統(tǒng)設(shè)計中,按鍵控制.屏幕顯示.數(shù)據(jù)采集等系統(tǒng)都是較為常用的硬件系統(tǒng),在其軟件的設(shè)計過程中,基本都是基于C語言的過程設(shè)計,在設(shè)計中往往對于按鍵控制,屏幕顯示控制等變成較為繁瑣,標(biāo)志位,信號量等參數(shù)多而且復(fù)雜,既占用過多的RAM,又使得整體程序可讀性差.可移植性差.本文介紹的設(shè)計方法具有易讀,方便維護,可移植性高和可靠性高的特點.本方法已經(jīng)成功運用到多款產(chǎn)品中。

1 硬件環(huán)境設(shè)計

隨著電子技術(shù)的發(fā)展,單片機應(yīng)用已經(jīng)非常成熟,但是隨著應(yīng)用的廣泛,單片機本身的RAM,ROM已經(jīng)不能夠滿足設(shè)計需求,而過多的外部存儲器也同樣會帶來設(shè)計體積增大,硬件成本增加等問題,這樣,為了即能夠不增加外設(shè),也能夠充分利用單片機本身資源的設(shè)計方式,也需要提高軟件設(shè)計的高效性.一個基本的單片機硬件環(huán)境一般有單片機,顯示部分,按鍵操作,信號采集等部分,本文介紹的是一個帶有6個功能按鍵。2個四位顯示數(shù)碼管.以及其他的信號采集設(shè)備系統(tǒng)。其功能如下:

(1)6種按鍵功能:1)“向上”鍵:查詢本層菜單的向上操作索引值,本程序執(zhí)行對顯示值的遞增函數(shù);2)“向下”鍵:查詢本層菜單的向下操作索引值,本程序執(zhí)行對顯示值的遞減函數(shù);3)“向左”鍵:查詢本層菜單的向左操作索引值,本程序執(zhí)行對顯示值的左移閃爍函數(shù);4)“向右”鍵:查詢本層菜單的向右操作索引值,本程序執(zhí)行對顯示值的右移閃爍函數(shù);5)“菜單”鍵:查詢本層菜單的菜單操作索引值,本程序執(zhí)行對顯示值的參數(shù)調(diào)整函數(shù);6)“確認”鍵:查詢本層菜單的確認操作索引值,本程序執(zhí)行對顯示值的返回函數(shù);

(2)2個四位顯示數(shù)碼管;程序執(zhí)行按鍵后查詢索引值對應(yīng)的函數(shù),并在四位數(shù)碼管中顯示功能。包括數(shù)值的閃爍左移.閃爍右移.字母顯示等操作。

(3)數(shù)據(jù)采集:AD采樣轉(zhuǎn)換等操作。本系統(tǒng)按鍵操作以及數(shù)碼管顯示使用芯片ZLG7290,使用總線通信。芯片具有設(shè)計簡單,寄存器功能強大,使用方便等特點。在此不多做介紹。

2 軟件程序設(shè)計

軟件設(shè)計初始需要定義一個結(jié)構(gòu),并聲明一個結(jié)構(gòu)體變量KeylistStruct,在結(jié)構(gòu)體設(shè)計中的結(jié)構(gòu)變量包括當(dāng)前狀態(tài)的索引值KeyStateIndex,還有所需按鍵控制的索引值,以及一個基于函數(shù)的指針結(jié)構(gòu)變量,用于對應(yīng)其指針指向的函數(shù)。

函數(shù)指針指向的函數(shù)也需要在索引中使用函數(shù)名指針變量。函數(shù)名如下所示:

Voidcaiyang(void);//采樣函數(shù);Voidzuoyi(void);//左移函數(shù);Voidyouyi(void);//右移函數(shù);Voidjiafa(void);//加法函數(shù);Voidjianfa(void);//減法函數(shù);Voidcaidan(void);//菜單函數(shù);Void fanhui(void);//返回函數(shù);

結(jié)構(gòu)體定義根據(jù)需要對數(shù)據(jù)類型進行定義,本文使用無符號整形變量。

結(jié)構(gòu)體所示如下:

Keyliststruct結(jié)構(gòu)體需要構(gòu)成一個結(jié)構(gòu)數(shù)組,在結(jié)構(gòu)數(shù)組里每一個菜單項編輯一個獨立的函數(shù),并根據(jù)菜單的所對應(yīng)的多層次菜單項的索引號,本級菜單項的上,下卷動的索引號和左,右卷動的索引號,以及菜單索引和返回索引值,使當(dāng)前狀態(tài)索引替換成指向的索引值,并根據(jù)索引值對應(yīng)的*currentoperate()函數(shù)的操作號,找到其所需操作的函數(shù),執(zhí)行currentoperate()函數(shù),多層次菜單數(shù)組值size_of_ menu需要根據(jù)菜單單層數(shù)來定義。結(jié)構(gòu)體數(shù)組定義如下所示:主程序或中斷函數(shù)中可對按鍵值響應(yīng),查詢索引菜單所對應(yīng)的索引值,并執(zhí)行功能函數(shù)。

綜上所述為單片機使用索引的菜單查詢方式實現(xiàn)按鍵功能軟件設(shè)計,從上述的介紹可知每個功能函數(shù)在編寫的時候是不是有相關(guān)性的,修改其中一個函數(shù)功能并不影響其他函數(shù)功能,減少了函數(shù)之間的關(guān)聯(lián),增加了函數(shù)的可移植性,可靠性和可讀性。

在使用索引菜單查詢方式的軟件設(shè)計時,需要注意以下幾個問題:

(1)在使用這種方式中應(yīng)該盡量減少菜單層數(shù),從而降低單片機ROM的使用。

(2)功能函數(shù)在應(yīng)用中如果需要傳遞參數(shù),推薦使用全局信號量或全局標(biāo)志位變量。

(3)在設(shè)計中,功能函數(shù)的嵌套具體使用方法依據(jù)需要修改即可,這里不做詳細介紹。

3 結(jié)束語

硬件系統(tǒng)設(shè)計時產(chǎn)品的“筋骨”,高集成化的設(shè)計.多系統(tǒng)的設(shè)計在越來越多的產(chǎn)品中得到應(yīng)用,而且產(chǎn)品設(shè)計也將更多的任務(wù)放在軟件設(shè)計中,減少了硬件設(shè)計負擔(dān),提高人力物力資源的利用,因此一個高可靠性.高可讀性.高可移植性的軟件設(shè)計方式則成為一個產(chǎn)品設(shè)計與技術(shù)人員的高素質(zhì)要求,本文介紹的索引菜單查詢方式的方法并不僅僅應(yīng)用在按鍵功能實現(xiàn)上,還可以應(yīng)用在屏幕顯示多級菜單,數(shù)據(jù)采樣,數(shù)字信號處理等設(shè)計中,也可以方便的移植到其他的硬件設(shè)備中,諸如DSP.ARM.FPGA.NIOSⅡ等系統(tǒng)中。

參考文獻:

[1]單片機C語言編程與實例[Z].

[2]SteveMcConnell著.代碼大全[Z].1993.

猜你喜歡
菜單單片機
過“不一樣”的節(jié)日 活動菜單任你選
中國新年菜單
基于單片機的SPWM控制逆變器的設(shè)計與實現(xiàn)
基于51單片機控制花盆土壤濕度
基于單片機的層次漸變暖燈的研究
基于單片機的多功能智能插排
基于單片機的便捷式LCF測量儀
基于STM32單片機的函數(shù)信號發(fā)生器
本月菜單
幻燈片級聯(lián)菜單簡單制作