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

        ?

        三段式狀態(tài)機(jī)在單片機(jī)中的實(shí)現(xiàn)

        2017-01-12 03:29:18威海職業(yè)學(xué)院孔憲青
        河北農(nóng)機(jī) 2016年12期
        關(guān)鍵詞:三段式狀態(tài)機(jī)中斷

        威海職業(yè)學(xué)院 孔憲青

        三段式狀態(tài)機(jī)在單片機(jī)中的實(shí)現(xiàn)

        威海職業(yè)學(xué)院 孔憲青

        本文提供一種用于單片機(jī)的編程方法。通過介紹VHDL中的狀態(tài)機(jī),本文陳述如何將其應(yīng)用于單片機(jī)中,其闡述的方法是一種優(yōu)化的實(shí)時(shí)處理方式,比順序編程更有效/更具實(shí)時(shí)性。

        狀態(tài)機(jī);單片機(jī)

        引言

        對于PLD,編程時(shí)一般使用狀態(tài)機(jī),這是一種行之有效的編程方法。狀態(tài)機(jī)是以事件行為為描述核心,并通過狀態(tài)機(jī)體現(xiàn)事件之間的轉(zhuǎn)移機(jī)制。由于PLD使用并行宏單元,因此事件都可描述為宏單元組,而事件的關(guān)聯(lián)使用開關(guān)門和線路實(shí)現(xiàn),因此說狀態(tài)機(jī)是PLD器件中主要的編程方法。

        1 在VHDL中三段式狀態(tài)機(jī)的描述

        有限狀態(tài)機(jī)在PLD的應(yīng)用中有四種類型,分別是一段式、兩段式和三段式和多段式。其中多段式狀態(tài)機(jī)對條件描述比較繁瑣,而兩段式狀態(tài)機(jī)實(shí)際就是三段式的精簡。因此實(shí)際類型就是一段式和三段式兩種。其中一段狀態(tài)機(jī)用于描述和順序時(shí)間相關(guān)的控制進(jìn)程,例如對于單總線器件ds1820的控制。但是一段式加深了宏單元深度和綜合難度。而標(biāo)準(zhǔn)的三段式狀態(tài)機(jī)對深度和綜合都較好。以米勒狀態(tài)機(jī)結(jié)構(gòu)為例,見圖1。

        圖1 米勒狀態(tài)機(jī)

        在VHDL中的代碼如下:

        代碼中有三個(gè)并行宏單元,相對于順序描述有更快的實(shí)時(shí)響應(yīng)。因此,如果把上述結(jié)構(gòu)使用在單片機(jī)上,使用類似的三段式狀態(tài)機(jī)會(huì)比單純的順序和中斷結(jié)構(gòu)有更好的實(shí)時(shí)性。

        2 三段式狀態(tài)機(jī)在單片機(jī)中的實(shí)現(xiàn)

        單片機(jī)由于CPU在同一時(shí)間段內(nèi)只能唯一執(zhí)行一個(gè)任務(wù),因此唯一的方式是把CPU運(yùn)行時(shí)間分為若干時(shí)間段分段執(zhí)行,類似于時(shí)鐘脈沖CLK。代價(jià)是使用一個(gè)定時(shí)器,定時(shí)中斷進(jìn)行狀態(tài)改變。下面是一段電梯運(yùn)行的狀態(tài)機(jī),C代碼舉例如下:

        上面代碼中,定時(shí)中斷服務(wù)程序不斷檢索條件并不斷改變狀態(tài)(使用枚舉量定義狀態(tài)量),使用switch對應(yīng)VHDL中的進(jìn)程,復(fù)現(xiàn)上圖中的“狀態(tài)改變寄存器邏輯”。同時(shí),輸出再使用switch進(jìn)行狀態(tài)輸出,并提供狀態(tài)改變的部分條件。這樣在一個(gè)定時(shí)中斷中就實(shí)現(xiàn)了一個(gè)狀態(tài)機(jī),并把其他不同任務(wù)寫成狀態(tài)機(jī)的形式,放入定時(shí)中斷中,就可把順序的程序結(jié)構(gòu)變?yōu)槊}沖類型的偽并行邏輯。由于任務(wù)都在中斷中實(shí)現(xiàn),因此實(shí)時(shí)性很強(qiáng)。

        另外,以上單片機(jī)進(jìn)行狀態(tài)轉(zhuǎn)移,檢索條件改變和輸出是最簡單的一種,不需要存儲(chǔ)上一次的狀態(tài)量。如果需要把狀態(tài)存儲(chǔ)并保存到下一次狀態(tài)到來,需要在定時(shí)器中斷進(jìn)行保存。例如按鍵狀態(tài)機(jī)需要進(jìn)行前后兩次按鍵狀態(tài)才能轉(zhuǎn)移狀態(tài)量,則類似于下面的代碼情況:

        unsigned char past; //past和now是按鍵前后兩次狀態(tài),不是狀態(tài)機(jī)狀態(tài)量

        past=now; //按鍵三段式按鍵狀態(tài)機(jī),狀態(tài)保存

        if(key!=0xff)now=0; //由前后兩次狀態(tài)比較得到可用條件

        else now=1; //條件可用于狀態(tài)轉(zhuǎn)移組合邏輯

        3 結(jié)束語

        這種模式應(yīng)用在定時(shí)器多的單片機(jī)上更為有效。如果定時(shí)器有冗余,則可以開更多的定時(shí)器線程,每個(gè)線程填入多個(gè)狀態(tài)機(jī),即可滿足運(yùn)行復(fù)雜的實(shí)時(shí)處理情況。通過狀態(tài)機(jī)在單片機(jī)上應(yīng)用,可以把程序結(jié)構(gòu)寫成事件觸發(fā)狀態(tài)機(jī),這種編程方式為一些任務(wù)重、實(shí)時(shí)強(qiáng)、邏輯復(fù)雜的情況提供了一種新的模式和參考。

        孔憲青,男,1976年出生,山東省威海人,碩士,講師,研究方向:單片機(jī)應(yīng)用。

        猜你喜歡
        三段式狀態(tài)機(jī)中斷
        論宋雜劇結(jié)構(gòu)并無三段式
        戲曲研究(2022年4期)2022-06-27 07:08:06
        三段式后橋殼環(huán)焊工藝分析及改進(jìn)
        基于有限狀態(tài)機(jī)的交會(huì)對接飛行任務(wù)規(guī)劃方法
        跟蹤導(dǎo)練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        基礎(chǔ)醫(yī)學(xué)實(shí)驗(yàn)教學(xué)的三段式多學(xué)科整合改革
        AT89C51與中斷有關(guān)的寄存器功能表解
        FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
        高職園林工程技術(shù)專業(yè)“三段式”就業(yè)指導(dǎo)模式的探索與實(shí)踐
        FPGA設(shè)計(jì)中狀態(tài)機(jī)安全性研究
        国产日产一区二区三区四区五区 | 亚洲AV永久无码精品导航| 国产日产久久福利精品一区| 99久久国产免费观看精品| 国产大片黄在线观看| 日韩无套内射视频6| 久久久久久久国产精品电影| 国产精品亚洲在线播放| 精品亚洲成a人在线观看| 无码国产69精品久久久孕妇| 中文字幕乱码亚洲无线精品一区| 中文字幕专区一区二区| 五月色丁香婷婷网蜜臀av | 人妻丰满av∨中文久久不卡| 日韩有码中文字幕第一页| 亚洲av成人av三上悠亚| 国产精品一区二区在线观看| 欧美人妻日韩精品| 久久深夜中文字幕高清中文| 国产精品激情自拍视频| 亚洲处破女av日韩精品| 99久久久无码国产精品动漫| 亚洲综合国产精品一区二区| 亚洲精品乱码久久久久蜜桃| 欧美性性性性性色大片免费的| 久久夜色精品国产噜噜噜亚洲av| 在线观看在线观看一区二区三区| 久久不见久久见免费影院国语| 国产黄色免费网站| 国产三级在线观看高清| 日韩人妻无码精品一专区二区三区 | 久久精品女人天堂av| 亚洲成人av一区二区三区| 97成人精品在线视频| 久久天天躁狠狠躁夜夜不卡| 亚洲妇女水蜜桃av网网站| 亚洲中文字幕熟女五十| 色大全全免费网站久久| 黑人玩弄漂亮少妇高潮大叫| 国产三级视频在线观看视主播| 亚洲色图专区在线视频|