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

基于有限狀態(tài)機的單片機技能大賽編程思路

2020-05-11 12:24:30楊元元

楊元元

摘要:單片機安裝與調(diào)試技能大賽是電工電子類競賽的一項關(guān)鍵賽事,其難點在于程序的編寫。從系統(tǒng)和模塊兩個層面運用有限狀態(tài)機的編程方法,能幫助參賽選手厘清思路、分解復(fù)雜的任務(wù)、提高程序的執(zhí)行效率和可靠性。

關(guān)鍵詞:有限狀態(tài)機;狀態(tài);菜單設(shè)計

中圖分類號:TP368.1 文獻標(biāo)識碼:A 文章編號:1007-9416(2020)02-0206-02

0 引言

中職單片機控制裝置安裝與調(diào)試技能大賽是電工電子類競賽的一項關(guān)鍵賽事,重在檢驗選手從事工業(yè)生產(chǎn)控制的職業(yè)技能,以及適應(yīng)未來社會發(fā)展的職業(yè)能力。大賽統(tǒng)一采用亞龍YL-236型單片機功能控制實訓(xùn)考核臺作為比賽設(shè)備,比賽中選手要按照工作任務(wù)書的要求在4小時里完成硬件電路的搭建、程序編寫、仿真調(diào)試、走線扎線、繪制系統(tǒng)電路圖等環(huán)節(jié)[1]。

單片機技能大賽是公認(rèn)的有難度的一項賽事,難度主要體現(xiàn)在程序的設(shè)計與編寫。選手是從中職生中選拔出來佼佼者,即便如此,他們擁有的軟件開發(fā)設(shè)計的知識與技能依然十分有限。工作任務(wù)書中描述的工作過程比較復(fù)雜,選手的背景知識往往比較缺乏,以致于在程序設(shè)計編寫時未能準(zhǔn)確把握工作過程,出現(xiàn)了誤解、混淆、遺漏技術(shù)要求的現(xiàn)象。選手未能正確解析工作過程,不能完整清晰的描述事件,導(dǎo)致程序編寫出現(xiàn)漏洞。

運用有限狀態(tài)機(Finite State Machine)的方法能夠幫助參賽選手在程序設(shè)計中厘清思路,提高效率。有限狀態(tài)機是時序邏輯電路設(shè)計中常用的建模方法,由于能高效地描述事件的邏輯順序和時序規(guī)律,被廣泛地應(yīng)用到了嵌入式編程、數(shù)字電路開發(fā)、硬件描述語言、游戲角色開發(fā)等多個領(lǐng)域。

1 運用有限狀態(tài)機編寫單片機程序的優(yōu)勢

1.1 符合單片機程序的特點

有限狀態(tài)機本質(zhì)上是事先描述系統(tǒng)的一系列“狀態(tài)”,并通過“外部事件”實現(xiàn)不同“狀態(tài)”的切換。由于嵌入式系統(tǒng)一般由外部事件來驅(qū)動的,響應(yīng)事件后分發(fā)給處理事件的代碼,這樣導(dǎo)致程序的執(zhí)行路徑不是嚴(yán)格順序執(zhí)行的,因此用狀態(tài)機來設(shè)計嵌入式系統(tǒng)是比較理想的方法[2]。技能大賽中用51系列單片機搭建的系統(tǒng)屬于低端嵌入式,其工作狀態(tài)是離散的,常常因為時間、按鍵與開關(guān)的動作、傳感器輸出量的變化等事件進行不同狀態(tài)的切換。這一特點與有限狀態(tài)機的描述方法是貼合的。

1.2 降低程序編寫的難度

有限狀態(tài)機的方法用“狀態(tài)”代替常規(guī)編程中名目繁多的標(biāo)志位,單片機系統(tǒng)狀態(tài)轉(zhuǎn)換時,只需要設(shè)置當(dāng)前狀態(tài)即可,避免了頻繁地對標(biāo)志位進行設(shè)置或清除,同時可以降低系統(tǒng)的復(fù)雜性,提高程序的可靠性。對于理論基礎(chǔ)薄弱的中專生來說,運用有限狀態(tài)機能降低編寫程序的難度,減少遺漏或設(shè)置錯誤。

1.3 可運用在系統(tǒng)與模塊兩個層面

由于單片機只能處理已經(jīng)數(shù)學(xué)化的客觀對象,選手首先要對任務(wù)書描述的對象做數(shù)學(xué)化的處理[3],簡單地說,即將系統(tǒng)劃分為不同的狀態(tài)。比如:將系統(tǒng)狀態(tài)劃分為開機狀態(tài)、設(shè)置狀態(tài)、運行狀態(tài)、暫停狀態(tài)等。這一點與有限狀態(tài)機使用前必須清晰地劃分狀態(tài)的特點相符。在日常訓(xùn)練中,指導(dǎo)老師運用狀態(tài)轉(zhuǎn)移圖表去分析任務(wù),建立有限狀態(tài)機模型,梳理各個狀態(tài)之間的轉(zhuǎn)換關(guān)系,選手通過一定量的訓(xùn)練,在比賽中能很好地運用本方法。有限狀態(tài)機的方法不僅可以用來描述系統(tǒng)模型,還可以高效可靠地處理YL-236平臺上的指令、顯示、電機等模塊中的器件。下面對常用模塊中的液晶菜單程序設(shè)計作重點闡述。

2 有限狀態(tài)機在液晶菜單設(shè)計中的運用

MCU04顯示模塊上安裝了TG12864液晶顯示器、RTC1602液晶顯示器、數(shù)碼管等器件。這些顯示設(shè)備主要用于系統(tǒng)的參數(shù)設(shè)置、運行狀態(tài)、輸出結(jié)果顯示、報警等人機交互界面,友好的人機交互是系統(tǒng)必備的功能,也是技能大賽考核的關(guān)鍵點。

液晶12864的應(yīng)用常常涉及菜單的設(shè)計,以相對簡單的菜單為例,其有主菜單、子菜單兩級結(jié)構(gòu),如表1所示:

菜單的操作一般由按鍵來執(zhí)行,這里假設(shè)有功能按鍵有“上移”、“下移”、“確認(rèn)”“退出”四個按鍵。運用有限狀態(tài)機來編寫菜單程序時,通常以不同的菜單界面來劃分狀態(tài),單擊按鍵作為事件,用switch-case語句來實現(xiàn),其部分代碼如下:

#define? down? 1

#define? up? ? ?2

#define? enter? ?3

#define? back? ?4

uchar page;//定義全局變量page,作為子菜單選擇變量.

……;

Menu_display(0,0); //主菜單界面顯示函數(shù).

switch(keynum)? //鍵值分別是下移:1;上移:2;確認(rèn):3;退出:4.

{ case down:

{? page+=1;

Menu_display(page,1); //按一下下移鍵,子菜單1被選中,反白顯示,以此類推。

……

If(page==4)? Menu_display(0,0); // 下移超過子菜單3時,主菜單界面正常顯示。

}? break;

case up: { 省略;}? break;

case enter:

{? switch(page)

{? case 1:? Menu1_display( ); break; //若子菜單1被選中,按下確認(rèn)鍵進入子菜單1顯示。

case 2:? Menu2_display();break;

case 3:? Menu3_display()break;

default:? Menu_display(0,0); break;

}

}

case back: { Menu_display(0,0); } break;

default: break;

}

上述代碼中Menu_display(line,rev)是菜單顯示函數(shù),參數(shù)line作為菜單選擇,0:不選擇任何一項;1~3:依次選中對應(yīng)的子菜單;參數(shù)rev為0:正常顯示,1:反白顯示[4-5]。利用有限狀態(tài)機的思想設(shè)計菜單程序,可以方便地擴展子菜單數(shù)量,菜單轉(zhuǎn)換方便、穩(wěn)定可靠。程序的結(jié)構(gòu)層次分明,有利于學(xué)生理解掌握。

按鍵消抖、液晶1602與數(shù)碼管的顯示界面的變換、電機的運行、機械手的控制都可以借鑒有限狀態(tài)機的思路,這里不再累述。

3 結(jié)論

有限狀態(tài)機的方法運用到單片機技能大賽的編程中,能幫助選手分解復(fù)雜的任務(wù),靈活地處理狀態(tài)間的轉(zhuǎn)換,提高程序的可靠性。大賽指導(dǎo)老師可以從系統(tǒng)和模塊兩個層面,將有限狀態(tài)機的思維運用到日常的訓(xùn)練中。實踐證明,有限狀態(tài)機是一種行之有效的單片機編程方法。

參考文獻

[1] 葛金印,商聯(lián)紅.單片機控制項目訓(xùn)練教程[M].北京:高等教育出版社,2010.

[2] 郭兆正.基于有限狀態(tài)機建模的單片機編程方法研究[J].渤海大學(xué)學(xué)報(自然科學(xué)版),2016,37(3):266-270.

[3] 周永東.單片機技術(shù)及應(yīng)用(C語言版)[M].北京:電子工業(yè)出版社,2012.

[4] 王成義,郭秀梅,叢曉燕.基于液晶顯示的有限狀態(tài)機在人機界面中的應(yīng)用[J].液晶與顯示,2010,25(2):257-261.

[5] 劉孫東,唐飛.基于有限狀態(tài)機的嵌入式菜單系統(tǒng)設(shè)計[J].順德職業(yè)技術(shù)學(xué)院學(xué)報,2009,7(2):22-25.

Programming Idea of? Single Chip Computer Skill Contest Based on

Finite State Machine

YANG Yuan-yuan

(Hubei Three Gorges Technical College, Yichang? Hubei? 443111)

Abstract:Micro-controller Unit installation and debugging skills competition is a key competition in electrical and electronic vocational students skills competition, the difficulty lies in the programming. Using the programming method of FSM from two levels of system and module can help contestants to clarify their ideas, decompose complex tasks, and improve the efficiency and reliability of program execution.

Key words:finite state machine;state;menu design

主站蜘蛛池模板: 亚洲成a∧人片在线观看无码| 欧美a在线| 久久综合五月婷婷| 欧美乱妇高清无乱码免费| 免费 国产 无码久久久| 五月天在线网站| 色婷婷狠狠干| 亚洲日韩高清在线亚洲专区| 国产精品流白浆在线观看| 婷婷色在线视频| 综合五月天网| 国产成人调教在线视频| 在线精品自拍| 欧美国产日韩一区二区三区精品影视| 在线一级毛片| 嫩草影院在线观看精品视频| 国产精品成人第一区| 四虎综合网| 一级毛片无毒不卡直接观看 | 99激情网| 日韩a级片视频| 久久精品免费看一| 国产精品三级av及在线观看| 欧洲熟妇精品视频| 青草视频网站在线观看| 国产精品一区二区无码免费看片| 激情六月丁香婷婷| 日本人妻一区二区三区不卡影院| 无码高潮喷水专区久久| 中文字幕免费在线视频| 亚洲一级毛片在线观| 91精品专区国产盗摄| 欧美国产日产一区二区| 日本a级免费| 99成人在线观看| 国产精品太粉嫩高中在线观看| 国产视频资源在线观看| 国产成人综合在线观看| 91精品啪在线观看国产| 无遮挡国产高潮视频免费观看| 999精品视频在线| 国模视频一区二区| 国产精品深爱在线| 国产免费好大好硬视频| 中文无码精品A∨在线观看不卡 | 国产成人综合亚洲欧美在| 99r在线精品视频在线播放| 国产成人综合亚洲欧美在| 午夜爽爽视频| 国产高清无码麻豆精品| 伊人久久精品无码麻豆精品 | 亚洲精品色AV无码看| 亚洲色图欧美| 77777亚洲午夜久久多人| 九九热精品视频在线| 日本www在线视频| 精品无码国产一区二区三区AV| 精品乱码久久久久久久| 亚洲人成人伊人成综合网无码| 亚洲一区二区三区中文字幕5566| 五月丁香在线视频| 久久精品无码中文字幕| 亚洲中文字幕23页在线| 中文字幕免费视频| 日本免费一区视频| 亚洲第一在线播放| 免费A级毛片无码无遮挡| 91亚瑟视频| 国产成人精品午夜视频'| 91午夜福利在线观看| 色综合国产| 日韩东京热无码人妻| 日本精品影院| 亚洲欧美成人| 欧美高清三区| 亚洲中文字幕在线精品一区| 久久综合激情网| 国产又大又粗又猛又爽的视频| 欧美成人精品在线| 国产精品夜夜嗨视频免费视频| 亚洲精品麻豆| 婷婷亚洲天堂|