標(biāo)題: 用狀態(tài)機(jī)的方法進(jìn)行串口觸摸屏的界面設(shè)計(jì) [打印本頁]
作者: yonko 時(shí)間: 2019-10-12 21:58
標(biāo)題: 用狀態(tài)機(jī)的方法進(jìn)行串口觸摸屏的界面設(shè)計(jì)
做工業(yè)控制的時(shí)候,很多開發(fā)者喜歡一步一步來,第一步做什么,接著做什么,發(fā)生了某個(gè)事件執(zhí)行某個(gè)動(dòng)作處理,這是最簡單也是最符合人的一般思維的方式,簡單的控制系統(tǒng)這么做無疑是非常輕松的,可是一旦工業(yè)控制系統(tǒng)變得復(fù)雜了的話,一般的流程控制或者順序控制將會(huì)十分困難,一是開發(fā)者面對(duì)復(fù)雜的系統(tǒng)很難在短時(shí)間內(nèi)把各種關(guān)系捋順,而且這樣做成的系統(tǒng)一旦后期想有一點(diǎn)點(diǎn)的改動(dòng)都會(huì)付出很大的工作量來修改。那么,狀態(tài)機(jī)控制就是解決復(fù)雜控制問題的很好的一種方法。
有限狀態(tài)機(jī)(Finite-statemachine, FSM),又稱為有限狀態(tài)自動(dòng)機(jī),簡稱狀態(tài)機(jī),是一個(gè)數(shù)學(xué)模型。是一個(gè)抽象機(jī)器,在任何時(shí)候都可以處于有限數(shù)量的狀態(tài)之一。響應(yīng)某些外部輸入,F(xiàn)SM可以從一個(gè)狀態(tài)轉(zhuǎn)換到另一個(gè)狀態(tài);從一種狀態(tài)到另一種狀態(tài)的變化稱為過渡。有限狀態(tài)機(jī)是非順序的,沒有事先的設(shè)定,跳轉(zhuǎn)到哪個(gè)狀態(tài)由事件決定。
1.PNG (26.87 KB, 下載次數(shù): 91)
下載附件
2019-10-12 21:57 上傳
狀態(tài)機(jī)有幾個(gè)要素:狀態(tài),條件,動(dòng)作和下個(gè)狀態(tài),在某個(gè)狀態(tài)時(shí)在某種條件(事件)下才會(huì)執(zhí)行某個(gè)動(dòng)作跳轉(zhuǎn)到下一個(gè)狀態(tài),其中動(dòng)作不是必需的。如圖 1為一個(gè)3元有限狀態(tài)機(jī)的模型,它有著3個(gè)狀態(tài),觸發(fā)狀態(tài)切換的事件最多有23=6個(gè)。當(dāng)機(jī)器處于狀態(tài)1時(shí),只有發(fā)生了事件1才會(huì)切換到狀態(tài)2,同樣,在狀態(tài)2時(shí)只有發(fā)生了事件2才會(huì)切換到狀態(tài)1,其余的狀態(tài)切換流程以此類推。在某一個(gè)狀態(tài),你可以根據(jù)需求定義機(jī)器的參數(shù),例如溫度達(dá)到多少、流量是多少等,在狀態(tài)機(jī)內(nèi)部再根據(jù)控制算法執(zhí)行相應(yīng)的動(dòng)作調(diào)整機(jī)器的參數(shù)。
要使用狀態(tài)機(jī)的方法,我們將要處理的對(duì)象劃分為一個(gè)一個(gè)的狀態(tài),某一時(shí)刻機(jī)器只能處于一個(gè)特定的狀態(tài)下,在這個(gè)狀態(tài)下根據(jù)輸入條件的變化來決定跳轉(zhuǎn)到哪個(gè)狀態(tài),執(zhí)行對(duì)應(yīng)的動(dòng)作,跳轉(zhuǎn)和狀態(tài)是唯一的。這樣的狀態(tài)機(jī)控制法讓開發(fā)工作不再是復(fù)雜的流程控制,思路也會(huì)更加清晰一點(diǎn),工作也就簡單了。
最近在做工控、電路板、單片機(jī)、儀器、軟件開發(fā)定制項(xiàng)目(業(yè)務(wù)Q:2531-2637-26)的時(shí)候,用到一個(gè)串口觸摸屏作為人機(jī)交互接口,在這個(gè)屏上會(huì)做很多界面來用于參數(shù)的設(shè)置和顯示。這時(shí),我就把每個(gè)界面當(dāng)作狀態(tài)機(jī)的一個(gè)狀態(tài)來處理,每個(gè)界面上的觸摸按鍵反饋的信號(hào)就是狀態(tài)機(jī)的事件,一旦接收到相應(yīng)的觸摸按鍵的信號(hào)(事件),屏的界面就會(huì)根據(jù)跳轉(zhuǎn)邏輯發(fā)生跳轉(zhuǎn)并根據(jù)指令控制執(zhí)行器執(zhí)行相應(yīng)的動(dòng)作。由于是串口觸摸屏并用單片機(jī)作為的處理器,每個(gè)界面(狀態(tài))的顯示、動(dòng)作的執(zhí)行等功能我編寫成一個(gè)一個(gè)的子函數(shù),并在主函數(shù)中的while(1)循環(huán)中根據(jù)狀態(tài)號(hào)來調(diào)用,對(duì)于觸摸按鍵信號(hào)的接收和狀態(tài)號(hào)的切換跳轉(zhuǎn)等簡短的指令我在串口中斷函數(shù)中處理,這樣做的好處是讓程序結(jié)構(gòu)清晰,又節(jié)省了中斷程序的執(zhí)行時(shí)間避免中斷丟失。
2-3.PNG (92.27 KB, 下載次數(shù): 79)
下載附件
2019-10-12 21:57 上傳
更多精彩,歡迎關(guān)注微-信-公-眾-號(hào):yonkotech
沙鷗-成都-2019.10.12
51hei隨意打賞-小.png (35.62 KB, 下載次數(shù): 73)
下載附件
2019-10-12 21:58 上傳
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
亚洲在线视频观看
|
午夜成人在线视频
|
亚洲精品网站在线观看
|
免费av一区
|
亚洲精品影院
|
国产精品欧美一区二区
|
91精品国产色综合久久不卡98
|
久久精品2
|
国产中文字幕在线播放
|
久草国产视频
|
国内精品一区二区三区
|
福利av在线
|
一区二区三区国产精品
|
一级久久
|
国产免费网址
|
小镇姑娘国语版在线观看免费
|
午夜视频
|
精品国产一二三区
|
波多野吉衣一二三区乱码
|
日日爱影视
|
色女人影院
|
国产成年妇视频
|
黄色在线免费观看视频
|
特级淫片aaaaaaa级
|
亚洲精品在线看
|
欧美视频三区
|
91tv国产成人福利
|
www.色综合
|
日韩福利片
|
亚洲小视频
|
91狠狠综合
|
96在线视频
|
免费成人小视频
|
日韩视频免费大全中文字幕
|
99精品久久久久久
|
91综合在线
|
中文字幕在线免费视频
|
免费av在线
|
国产欧美精品一区
|
aaa一级片|
国产伦精品一区二区三区视频我
|