亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

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

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

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

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

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

        關(guān)鍵詞:?jiǎn)纹瑱C(jī);索引;菜單

        0 引言

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

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

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

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

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

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

        2 軟件程序設(shè)計(jì)

        軟件設(shè)計(jì)初始需要定義一個(gè)結(jié)構(gòu),并聲明一個(gè)結(jié)構(gòu)體變量KeylistStruct,在結(jié)構(gòu)體設(shè)計(jì)中的結(jié)構(gòu)變量包括當(dāng)前狀態(tài)的索引值KeyStateIndex,還有所需按鍵控制的索引值,以及一個(gè)基于函數(shù)的指針結(jié)構(gòu)變量,用于對(duì)應(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ù)需要對(duì)數(shù)據(jù)類型進(jìn)行定義,本文使用無(wú)符號(hào)整形變量。

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

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

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

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

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

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

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

        3 結(jié)束語(yǔ)

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

        參考文獻(xiàn):

        [1]單片機(jī)C語(yǔ)言編程與實(shí)例[Z].

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

        猜你喜歡
        菜單單片機(jī)
        Menu in a Cafe咖啡店菜單
        中國(guó)新年菜單
        基于單片機(jī)的SPWM控制逆變器的設(shè)計(jì)與實(shí)現(xiàn)
        電子制作(2019年13期)2020-01-14 03:15:28
        基于單片機(jī)的層次漸變暖燈的研究
        電子制作(2019年15期)2019-08-27 01:12:10
        基于單片機(jī)的便捷式LCF測(cè)量?jī)x
        電子制作(2019年9期)2019-05-30 09:42:02
        小議PLC與單片機(jī)之間的串行通信及應(yīng)用
        電子制作(2018年12期)2018-08-01 00:48:04
        基于單片機(jī)的平衡控制系統(tǒng)設(shè)計(jì)
        電子制作(2017年19期)2017-02-02 07:08:27
        本月菜單
        美食堂(2017年1期)2017-01-13 01:37:42
        本月菜單
        美食堂(2015年8期)2015-05-30 10:48:04
        Microchip推出兩個(gè)全新PIC單片機(jī)系列
        中文字幕av免费专区| 欧美日韩亚洲国产千人斩| 亚洲中文字幕无码一区| 亚洲精品乱码久久久久久麻豆不卡| 国产精品国产三级国产专播| 视频二区精品中文字幕| 国产高清亚洲精品视频| 日韩精品免费观看在线| 成熟的女人毛茸茸色视频| 国产日韩精品中文字幕| 国产亚洲一本大道中文在线| 亚洲欧美国产日韩天堂在线视 | 久久道精品一区二区三区| 日本一区不卡高清在线观看 | 亚洲综合一区二区三区久久| 亚洲一二三四区免费视频| 7m精品福利视频导航| 朝鲜女子内射杂交bbw| 91精选视频在线观看| 99久久亚洲国产高清观看| 水蜜桃网站视频在线观看| 97se狠狠狠狠狼鲁亚洲综合色| 亚洲另类精品无码专区| 亚洲最稳定资源在线观看| 国产成人一区二区三区影院| 久久无码潮喷a片无码高潮| 成人精品一区二区三区中文字幕| 国产97色在线 | 免| 高潮av一区二区三区| 粉嫩av国产一区二区三区| 久久精品国产亚洲精品| 中文字幕久久久久人妻无码| 国产成人自拍视频视频| 人妻丰满熟妇aⅴ无码| 久久精品国产亚洲av麻豆| 一区二区无码中出| 国产精品久久一区二区蜜桃 | 亚洲无亚洲人成网站77777| 99久久久精品免费香蕉| 国产福利一区二区三区视频在线看| 性av一区二区三区免费|