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

狀態(tài)機在嵌入式系統(tǒng)設(shè)計中的應(yīng)用*

2016-11-10 06:54:33王春武程禮邦劉春玲王立忠
關(guān)鍵詞:嵌入式系統(tǒng)設(shè)計

王春武,程禮邦,劉春玲,王立忠

狀態(tài)機在嵌入式系統(tǒng)設(shè)計中的應(yīng)用*

王春武,程禮邦,劉春玲,王立忠

(吉林師范大學(xué)信息技術(shù)學(xué)院,四平136000)

為了使嵌入式系統(tǒng)軟件更易于編寫,并且提高可維護性,本文將有限狀態(tài)機引入到嵌入式系統(tǒng)設(shè)計中。以工程實例為背景,首先利用程序流程圖對算法進行描述,然后提出了狀態(tài)機建模的基本步驟和使用方法,最后通過對比得出了狀態(tài)機在描述算法上的優(yōu)勢。

FSM;嵌入式系統(tǒng);流程圖

引 言

流程圖作為一種表達算法的圖形化工具,常用于嵌入式系統(tǒng)程序開發(fā)過程,其通過特定的圖形和線段使復(fù)雜的算法變得形象直觀,脈絡(luò)清晰,避免了歧義性,易于理解和產(chǎn)生代碼[1]。但是復(fù)雜的程序會導(dǎo)致流程圖的篇幅過大,以及流程線的無約束性會導(dǎo)致流程的任意轉(zhuǎn)向,從而造成程序閱讀和修改上的困難,不利于結(jié)構(gòu)化程序的設(shè)計[2]。針對此問題,結(jié)合多年的嵌入式系統(tǒng)設(shè)計和教學(xué)經(jīng)驗,提出將數(shù)字電路中的有限狀態(tài)機思想引入到嵌入式系統(tǒng)設(shè)計中,從具體工程實例出發(fā),討論狀態(tài)劃分、激勵和響應(yīng)表達、轉(zhuǎn)化為具體程序的方法,并通過與流程圖對比,說明該方法的優(yōu)勢。

1 狀態(tài)機的概念

有限狀態(tài)機(Finite State Machine,F(xiàn)SM)簡稱狀態(tài)機,它是由一系列狀態(tài)節(jié)點、狀態(tài)連接線、激勵信號和響應(yīng)信號組成[3]的有向圖。在激勵信號的作用下,狀態(tài)機將響*基金項目:吉林省職業(yè)教育與成人教育教學(xué)改革研究重點課題(2014ZCY249);吉林省教育廳“十二五”科學(xué)技術(shù)研究項目(2014[489])。應(yīng)一系列事件而運行,從而實現(xiàn)在有限狀態(tài)節(jié)點之間的有序轉(zhuǎn)換。FSM包含4個要素,即現(xiàn)態(tài)、次態(tài)激勵、響應(yīng)。其中,當前狀態(tài)節(jié)點稱為現(xiàn)態(tài),下一狀態(tài)節(jié)點稱為次態(tài),導(dǎo)致狀態(tài)發(fā)生變化的信號稱為激勵,產(chǎn)生的動作稱為響應(yīng)[4]。在狀態(tài)機運行時,任何時候FSM只能處于給定狀態(tài)中的一個,當接收到一個激勵事件時,狀態(tài)機則產(chǎn)生一個響應(yīng)輸出,與此同時也可能伴隨著狀態(tài)的轉(zhuǎn)移。因此,狀態(tài)的轉(zhuǎn)移和輸出不僅與輸入事件有關(guān),而且還與狀態(tài)機在前一時刻的狀態(tài)有關(guān)。

2 狀態(tài)機建模

嵌入式系統(tǒng)設(shè)計中涉及到的實例一般可分解為若干個有限狀態(tài),同時系統(tǒng)一般會在外部觸發(fā)下產(chǎn)生相應(yīng)的動作,這一特點非常適合采用狀態(tài)機對系統(tǒng)進行事件分析。在建立狀態(tài)機時,首先需要對系統(tǒng)的工作狀態(tài)進行全面分析,以耦合度最小為原則,合理劃分系統(tǒng)的狀態(tài)。然后,找出在不同狀態(tài)下的所有激勵信號和響應(yīng)動作,并利用帶箭頭的線段標注狀態(tài)轉(zhuǎn)移方向,其中激勵和響應(yīng)信號用“/”隔開,標注在轉(zhuǎn)移線段上。狀態(tài)機建立完成后,需要認真校驗所有狀態(tài)、激勵和響應(yīng)信號的完整性,以確保狀態(tài)和狀態(tài)轉(zhuǎn)移線的正確性和冗余性。最后,對照狀態(tài)圖,以激勵信號作為判斷條件,將狀態(tài)圖中的動作轉(zhuǎn)化為具體執(zhí)行代碼。

3 流程圖與狀態(tài)機方案對比

為了說明狀態(tài)機的優(yōu)勢,以STM32F103VET6處理器為控制核心,配合矩陣式按鍵和LCD1602液晶模塊,以計算器的設(shè)計為工程背景,對比流程圖和狀態(tài)機在算法描述上的優(yōu)劣性。

經(jīng)過對計算器的運算規(guī)則進行歸納可知,計算過程可以抽象為式(1),即按照雙目運算規(guī)則,首先完成數(shù)值n1的錄入,然后確定運算符號op,再繼續(xù)錄入數(shù)值n2,最后輸入“=”號或運算符完成一次運算過程。若要連續(xù)運算,則可將本次運算結(jié)果保存至n1,再重復(fù)以上步驟[5-6]。

3.1流程圖表示法

利用流程圖表達具體的算法如圖1所示,設(shè)變量n用于保存每次按鍵的信息,則算法可以描述為:

①復(fù)位時,系統(tǒng)初始化顯示變量n1的初值為0;

②運行時,若按下的n是數(shù)值鍵,則依據(jù)式(2)更新n1,否則轉(zhuǎn)至步驟③;

③保存運算符到變量op中,并設(shè)定n2初值為0,轉(zhuǎn)至步驟④;

④若按下的n是數(shù)值鍵,則依據(jù)式(3)更新n2,否則轉(zhuǎn)至步驟⑤;

⑤依據(jù)式(1)完成運算,判斷按鍵情況,若按下的n是運算符,則在完成計算后轉(zhuǎn)至步驟④,否則,說明按下了“=”,轉(zhuǎn)至步驟⑥;

⑥若n是數(shù)值鍵,則更新n1并轉(zhuǎn)至步驟②,否則更新op并轉(zhuǎn)至步驟④。

3.2狀態(tài)機表示法

根據(jù)狀態(tài)機的思想可知,該系統(tǒng)能夠劃分為3個基本狀態(tài)0~2,其中0態(tài)代表為n1賦值狀態(tài),1態(tài)代表為n2賦值狀態(tài),2態(tài)代表為過渡狀態(tài)。按鍵作為系統(tǒng)的激勵信號可分為3種情況,即數(shù)字鍵、“=”號鍵和運算符(“+”、“-”、“*”、“/”)。利用狀態(tài)圖表達具體的算法如圖2所示,具體運算步驟為:

①初始化n1為0;

②0態(tài)下接收到數(shù)字鍵,按照式(2)更新n1,狀態(tài)不變;

③0態(tài)下接收到運算符,則保存運算符到op,同時轉(zhuǎn)到1態(tài);

④1態(tài)下接收到數(shù)字鍵,按照式(3)更新n2,狀態(tài)不變;

⑤1態(tài)下接收到“=”,則按照式(1)計算結(jié)果,并保存到n1,同時轉(zhuǎn)到2態(tài);

⑥1態(tài)下接收到運算符,則按照式(1)計算結(jié)果,并保存到n1,更新運算符到op,n2清零,狀態(tài)不變;

⑦2態(tài)下接收到數(shù)字鍵,更新n1=n,同時轉(zhuǎn)到0態(tài);

⑧2態(tài)下接收到運算符,更新運算符到op,同時轉(zhuǎn)到1態(tài)。

狀態(tài)機模型建立后,在按鍵識別程序中,以激勵信號作為判斷條件,將狀態(tài)圖中的動作轉(zhuǎn)化為具體執(zhí)行代碼如下:

圖1 計算器控制流程圖

voidkey(){ //按鍵識別程序

n=get_press();//掃描矩陣式按鍵,并獲得按鍵信息(0~

//9,+,-,*,/,=)

if(state==0){

if(n>=0&&n<=9) //n是數(shù)字

n1*=10+n; //構(gòu)造新數(shù)

圖2 計算器的狀態(tài)機

對比圖1和圖2,雖然采用流程圖和狀態(tài)機均能完成算法表達,但利用狀態(tài)圖描述算法能夠使狀態(tài)變換過程更清晰、表達方式更簡潔,更有利于明確設(shè)計思路。在編寫代碼過程中,基于流程圖的程序中需要加入嵌套式多分支結(jié)構(gòu),代碼結(jié)構(gòu)復(fù)雜,編寫容易出錯,增加了閱讀和調(diào)試的難度。而在基于狀態(tài)機模型的程序中,只以激勵信號作為觸發(fā)條件,在不同狀態(tài)下執(zhí)行不同的響應(yīng),代碼結(jié)構(gòu)清晰緊湊,閱讀和調(diào)試容易。當然,利用狀態(tài)機的設(shè)計思想,還可以進一步豐富該系統(tǒng)的功能,如加入“CE”鍵控制以及帶優(yōu)先級的四則混合運算的設(shè)計等。

結(jié) 語

針對流程圖存在的不足,本文提出將有限狀態(tài)機引入到嵌入式系統(tǒng)設(shè)計中,并從具體工程實例出發(fā),詳細介紹了狀態(tài)機的建模流程,對比得出了狀態(tài)機在表達算法上的優(yōu)勢。實踐中,利用工程實例驗證了狀態(tài)機模型的正確性和可靠性。利用狀態(tài)機方法能夠有效降低系統(tǒng)的復(fù)雜性,提升軟件的質(zhì)量和可靠性,具有很強的工程價值和實際意義。

[1]馮爽.關(guān)于數(shù)據(jù)流程圖畫法原則的研究[J].河北科技大學(xué)學(xué)報,2012,33(4):343-346.

[2]許曉春,杜曉晨,梅琳,等.一種改進的程序流程圖—層次流程圖HFG[J].南京大學(xué)學(xué)報:自然科學(xué)版,2002,38(2):158-165.

[3]秦國棟.有限狀態(tài)機的嵌入式Linux按鍵驅(qū)動設(shè)計[J].學(xué)習園地,2010(4):79-81.

[4]何劍宇,劉兢兢.有限狀態(tài)機建模在嵌入式按鍵設(shè)計中的應(yīng)用[J].沈陽師范大學(xué)學(xué)報:自然科學(xué)版,2012,30(2):168 171.

[5]吳芳琴.基于單片機的簡易計算器設(shè)計[J].電子世界,2015(19):53-54.

[6]吳立勇,丁作文.基于Android系統(tǒng)的手機計算器的設(shè)計與實現(xiàn)[J].電子技術(shù),2014(4):58-60.

王春武(副教授),研究方向為信號檢測技術(shù)與自動化裝置。

(責任編輯:薛士然 收修改稿日期:2016-03-21)

Application of Finite State Machine in Embedded System

Wang Chunwu,Cheng Libang,Liu Chunling,Wang Lizhong
(College of Information and Technology,Jilin Normal University,Siping 136000,China)

In order to make the software of the embedded system easy to write and improve the maintainability of the software,the finite state machine is introduced into the design of embedded system.Based on the engineering example,the program flow chart is used to describe the algorithm,then the basic steps of the state machine model and the use of the method are proposed.Finally,the advantage of the state machine in the description of the algorithm is summarized.

FSM;embedded system;flow chart

TP368.1

A

猜你喜歡
嵌入式系統(tǒng)設(shè)計
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
瞞天過海——仿生設(shè)計萌到家
搭建基于Qt的嵌入式開發(fā)平臺
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設(shè)計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設(shè)計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 久久综合色视频| 色偷偷男人的天堂亚洲av| 欧美成人怡春院在线激情| 国产内射在线观看| av在线无码浏览| 亚洲福利片无码最新在线播放| 2021无码专区人妻系列日韩| 欧美成人精品一级在线观看| AV老司机AV天堂| 亚洲综合久久成人AV| 熟妇丰满人妻av无码区| 亚洲人成成无码网WWW| 亚洲娇小与黑人巨大交| 日本在线亚洲| 在线欧美a| 亚洲日韩Av中文字幕无码| 欧美成人午夜视频免看| 老司机aⅴ在线精品导航| 色妞永久免费视频| 久热这里只有精品6| 亚洲精品卡2卡3卡4卡5卡区| 国产精品香蕉在线| 亚洲色图欧美视频| 日韩欧美国产中文| 老色鬼欧美精品| 91福利国产成人精品导航| 国产三级韩国三级理| 真实国产乱子伦视频| 色妺妺在线视频喷水| 国产9191精品免费观看| 国产一级精品毛片基地| 国产精品九九视频| 国产福利拍拍拍| 日韩国产精品无码一区二区三区| 三上悠亚一区二区| 麻豆精品在线视频| 992Tv视频国产精品| 久久人午夜亚洲精品无码区| 亚洲一区二区三区在线视频| 在线观看欧美精品二区| 在线日本国产成人免费的| 亚洲乱码在线视频| 国产高清无码麻豆精品| 四虎永久在线精品影院| 91伊人国产| 日韩美一区二区| 国产亚洲欧美日韩在线一区| 国产精品视频猛进猛出| 一本色道久久88亚洲综合| 精品欧美一区二区三区久久久| 久草视频精品| 国产极品美女在线播放| 亚洲一区二区精品无码久久久| 亚洲欧美成人综合| 国产高清色视频免费看的网址| 国产成+人+综合+亚洲欧美| 91福利国产成人精品导航| 99视频国产精品| 日本免费一级视频| 久久精品无码专区免费| 91精品免费高清在线| 国产小视频a在线观看| 亚洲综合狠狠| 亚洲—日韩aV在线| 91国内外精品自在线播放| 99在线视频免费| 亚洲视频色图| 欧美中文字幕在线视频| 国产欧美日韩综合一区在线播放| 久久精品亚洲专区| jizz在线免费播放| 天堂网亚洲系列亚洲系列| 日本精品中文字幕在线不卡| 91麻豆久久久| 精品国产毛片| 四虎亚洲国产成人久久精品| 99热在线只有精品| 男女猛烈无遮挡午夜视频| 亚洲a免费| 国产三级国产精品国产普男人| 国产成人一区在线播放| 粉嫩国产白浆在线观看|