999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于單片機的索引菜單查詢方式的軟件設計應用

2015-07-26 09:03:04王永全丹東東方測控技術股份有限公司電子部遼寧丹東118002
山東工業技術 2015年2期
關鍵詞:單片機

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

基于單片機的索引菜單查詢方式的軟件設計應用

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

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

關鍵詞:單片機;索引;菜單

0 引言

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

1 硬件環境設計

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

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

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

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

2 軟件程序設計

軟件設計初始需要定義一個結構,并聲明一個結構體變量KeylistStruct,在結構體設計中的結構變量包括當前狀態的索引值KeyStateIndex,還有所需按鍵控制的索引值,以及一個基于函數的指針結構變量,用于對應其指針指向的函數。

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

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

結構體定義根據需要對數據類型進行定義,本文使用無符號整形變量。

結構體所示如下:

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

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

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

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

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

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

3 結束語

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

參考文獻:

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

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

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 免费激情网站| 99视频在线免费看| 国产毛片不卡| 国产成人无码久久久久毛片| 国产成+人+综合+亚洲欧美| 免费99精品国产自在现线| 婷婷成人综合| 伊人AV天堂| а∨天堂一区中文字幕| 任我操在线视频| 国产一线在线| 操操操综合网| 国禁国产you女视频网站| 精品久久久久久中文字幕女| 免费网站成人亚洲| 亚洲三级a| 狠狠做深爱婷婷综合一区| 国产综合色在线视频播放线视| 亚洲中文字幕手机在线第一页| 国产亚洲精久久久久久无码AV| 日韩欧美国产成人| 欧美国产中文| 波多野结衣中文字幕一区| 五月婷婷丁香综合| 伊人久久久久久久| 国产中文一区a级毛片视频| 精品伊人久久大香线蕉网站| 亚洲色图欧美| 亚洲欧洲日韩综合色天使| 亚洲欧美日韩精品专区| 国产精品亚洲欧美日韩久久| 成人韩免费网站| 激情六月丁香婷婷四房播| 伊在人亞洲香蕉精品區| 亚洲精品卡2卡3卡4卡5卡区| 天堂成人av| 久热re国产手机在线观看| 2020最新国产精品视频| 国产乱肥老妇精品视频| 国产亚洲精品自在线| 久久女人网| 又猛又黄又爽无遮挡的视频网站| 久久这里只有精品国产99| 国产成人艳妇AA视频在线| 国内精品视频在线| 搞黄网站免费观看| 亚洲国产第一区二区香蕉| 在线播放91| 久青草免费视频| AV无码国产在线看岛国岛| 一级毛片免费不卡在线| 青青青草国产| 亚洲六月丁香六月婷婷蜜芽| 欧美乱妇高清无乱码免费| 18禁不卡免费网站| 成人亚洲视频| 亚洲中文字幕日产无码2021| 国产男女免费完整版视频| 国产精品无码AⅤ在线观看播放| 国产一级无码不卡视频| 精品国产一区91在线| 亚洲天堂日本| av在线5g无码天天| 国内老司机精品视频在线播出| 99在线视频精品| 国产亚洲欧美日本一二三本道| 久久99精品国产麻豆宅宅| 91蝌蚪视频在线观看| 国产精品白浆无码流出在线看| 日日拍夜夜嗷嗷叫国产| 热伊人99re久久精品最新地| 综合五月天网| 欧美成人aⅴ| 青青草a国产免费观看| 国内嫩模私拍精品视频| 国产一级小视频| 露脸一二三区国语对白| 亚洲人成色在线观看| 国产黑丝一区| 欧美国产日韩一区二区三区精品影视 | 欧美高清国产| 精品视频一区在线观看|