亚洲视频一区二区三区_国产在线拍偷自揄拍精品_日韩av在线看_日本久久久久久久久久久_精品国产区一区二区三区在线观看_国产日产欧美a一级在线_日韩亚洲在线观看_日韩久久精品电影_久久综合电影一区_2021国产精品视频_国产精品小说在线_欧美—级高清免费播放_一区二区三区高清国产_91av视频在线免费观看_一二美女精品欧洲_成人网在线免费看

  • 多任務機制在單片機系統中的應用———多任務機制在單片機系統中的應用
    中山智達自動化科技有限公司

    摘 要:提出了一種嶄新的基于任務機制的單片機系統程序結構,討論了具體實現方法,并給出應用實例。
    關鍵詞:多任務機制 單片機系統 中斷機制
      傳統的單片機系統監控程序通常是基于單任務機制的。這種機制具有簡單直觀,易于控制的優點。然而由于程序只能按單一的線索順序執行,缺乏靈活性,在復雜系統中難以勝任。為了在更廣泛的領域應用單片機系統,必須對傳統的單任務機制進行改進。
      多任務機制是現代操作系統才具有的突出優點。在這種機制下,CPU的運行時間被劃分為許多小的時間片,由某種調度算法按不同優先級別分配給不同的應用程序。多個應用程序分別在自已的時間片內訪問CPU,從而造成微觀上輪流運行,宏觀上并發運行的多任務效果。
      在單片機系統中引入多任務機制,可以有效改善程序結構,滿足復雜系統的要求。任何多任務本質上都借助于中斷機制。通用單片機中都允許使用中斷,從而保證了在單片機系統中實現多任務的切實可行。而單片機運算能力的有限要求多任務調度算法必須簡潔。
      

    1 兩種機制的比較
      一個典型的單片機監控系統通常包括輸入、輸出控制,數據處理,顯示以及鍵盤管理。在傳統的單任務機制下,程序采用循環方式,其流程圖如圖1所示。
      由流程可知,在單任務機制下,各功能模塊按固定順序構成一個整體,作為一個任務得到執行。而在實際應用中,各個模塊要求的執行頻率往往不一致,如輸入采樣頻率可能要求很高,而單位時間內鍵盤掃描的次數則相對較少,系統這種復雜的定時要求在單任務機制下難以滿足。另外在這種結構下程序一旦建立,各模塊的執行順序即已固定,對于需在運行時動態改變執行結構的系統,程序需用許多條件判斷和分枝轉移語句進行控制,增加了程序的復雜性。程序作為一個整體而存在可讀性和可維護性很差,調試不便,對已有程序進行擴充,也需先了解整個程序結構,增加了擴充難度。
      考慮到單片機完成的系統功能往往可以分解為若干相對獨立的模塊,我們可以將這些模塊理解為子任務,并引進多任務機制進行管理,從而形成一種嶄新的程序結構。其示意圖如圖2所示。
      在這種結構下,各功能模塊由系統調度程序啟動執行完畢后返回系統調度程序,彼此處于等同地位,其執行順序也比較靈活,且可在程序運行過程中動態地改變執行結構。各子任務的執行頻率要求表現為它們的優先級,優先級越高的子任務單位時間內執行次數越多,從而其執行頻率越高。各子任務在自已的時間片內運行,通過合理設計時間片大小和各任務的優先級,可以自然地滿足系統內各種復雜的定時要求。
      在多任務結構下程序的調試與維護也變得容易。程序以分立模塊形式存在,各模塊間功能獨立,相互影響小,可以方便地單獨調試,并尋找問題所在。對程序的擴充更為方便,不用更改原有結構,只需增加要擴充的部分即可。
      

    2 多任務機制的實現
      利用單片機具有的內部時鐘中斷,可以方便地實現多任務機制。下面以常用的MCS—51系列單片機為例,說明其實現方法。
      由多任務機制的特點,必須提供一個系統時鐘,根據系統時鐘將CPU運行時間劃分為若干時間片,由系統調度程序分給各個任務模塊。我們可由MCS—51系統單片機內帶的定時器完成這一工作。定時參數的選擇應考慮到系統中各種定時要求,定時頻率一般應設計為各模塊要求執行頻率的整數倍頻。
      為了實現多任務,還需構造一個任務調度表并維護一個系統任務指針。任務調度表每一表項占4個字節,保存各任務模塊的入口地址和訪問計數器,表項數等于需調度的任務模塊數。任務調度表指示了各任務的執行順序和優先級別。在程序建立時可在程序存儲器中建立一份缺省的任務調試表并在程序運行初始化時調入系統RAM中,在程序運行期間可根據實際需要修改RAM中的任務調度表,使各任務的執行順序和優先級別得到動態調整。系統任務指針為一個1字節整數,指向系統當前正執行的任務。由任務指針和任務調度表表頭可以找到相應的任務程序入口地址。
      多任務機制的具體實現由調度程序完成。調度程序在每個時鐘片的開始取得控制,它將系統任務指針加4,使之指向下一個任務模塊,并根據新的任務指針查閱任務調度表,將任務的訪問計數器減一,看是否為零。不為零則直接返回;為零則將當前任務入口地址讀入DPTR寄存器,用JMP @A+DPTR指令轉而執行相應的任務模塊。各任務模塊執行完畢將相應訪問計數器置成初值,供調度程序下一次使用。任務指針到達調試表未尾時,由任務調度程序將其復位,使之指向任務調度表開頭,重新開始程序周期。
      由上述實現方案可知,各任務模塊在時鐘中斷程序中執行,這可很好地滿足各任務模塊對執行頻率的要求。但考慮到單片機調度能力有限的特點,為各個任務模塊分配的時間片比實際所需可能尚有富余,而各任務模塊作為時鐘中斷例程執行完畢都返回到主程序。因此可將某些對執行頻率無要求的任務模塊放入主程序運行,從而充分利用各時間片內的富余時間,提高程序運行效率。
      實現多任務的關鍵在于合理地將系統功能分解為各個任務模塊。一般可將程序分為輸入、輸出、數據處理、顯示、鍵盤掃描等任務模塊。分解系統功能應注意以下幾個問題:
      (1)各個任務模塊需盡量短小精悍,在系統時間片內應能充分行到執行。在設計任務模塊時應盡量將其中的延時要求轉化為對模塊執行頻率的要求。如在動態顯示模塊設計中每位顯示間要求有1-2ms左右的延時來保證顯示穩定,若采用一次將所有位全部顯示一遍的方案,顯示模塊將變得冗長,不適宜在中斷程序中執行。我們可以采用一次只顯示一位的方法,這樣的顯示模塊由于沒有延時而得到精簡,位顯之間的延時時間可由模塊執行頻率來決定。  (2)在設計中若不可避免出現某一任務模塊過長而不能在系統時間片內執行完畢的情況,可由下列兩種方法解決:
      第一種方法是若此模塊無執行頻率的要求和時間上的嚴格限制,可將其放入主程序,充分利用各時間片的富余時間執行。
      第二種方法是在進入該任務模塊時將系統時鐘停止,這樣相當于臨時給此模塊分配了附加運行時間。在模塊執行完畢時應重新打開系統時鐘,使多任務調度程序能正常工作。
      (3)各任務模塊在功能上應盡量相互獨立,以保證程序調試和維護的方便。
      (4)若某些模塊必須相互配合工作,可以采用公共單元進行通信,保持同步。
      綜上所述,在單片機系統中實現多任務機制,要借助于時鐘中斷。由定時器產生系統時間片,由系統調度程序將時間片分配給各任務模塊。合理設計各任務模塊可充分發揮多任務機制的優越性。
      

    3 應用實例
      利用單片機AT89C51設計一個應用系統。要求系統同時接受兩個通道的數據輸入,一個通道每10ms采集一次,用于顯示和打印,另一通道每2ms采集一次,用于監控;顯示采用LED數碼管動態顯示方式;系統要求配有鍵盤接受用戶命令;系統要求每隔10s自動打印一次結果,打印程序應支持兩種不同型號的打印機(由用戶通過鍵盤選擇)。
      由前述實現方案,可如下設計各任務模塊:
      首先應提供兩個輸入模塊,其執行頻率分別為1次/10ms和1次/2ms,可分別記為I1,I2模塊。
      由于采用動態顯示方案,設計顯示模塊為每次顯示一位。為保持顯示穩定,每兩位顯示之間需間隔一定時間,這里定為2ms。即要求顯示模塊的執行頻率為1次/2ms。顯示模塊記為D模塊。
      鍵盤掃描的去抖延時時間定為50ms,因此鍵盤管理模塊的執行頻率為1次/50ms。鍵盤管理模塊記為K模塊。
      系統要求提供打印功能,因此還需設計打印模塊,其執行頻率為1次/10s。由于要支持兩種不同的打印機,應設計兩個打印模塊提供服務,分別記為P1,P2模塊。
      此外系統還應有數據轉換程序及其它相關功能模塊。由于這些功能模塊并沒有嚴格的時間限制,可以放入主程序中執行,不參與多任務調度。
      由上述分析可知,系統要求同時調度5個任務模塊(P1與P2并不同時使用),因此任務調度表設計為5個表項。系統要求的最高執行頻率為1次/2ms,可將系統時間片長度設計為400μs。由此可計算出各任務模塊訪問計數器的值,如表1。
      表1   模塊名 十進制計數值 16進制計數值
           I1     5     0005
           I2     1     0001
            D     1     0001
           K     25    0019
         P1,P2     5000   1388
      若采用P1作為缺省打印管理程序,則可建立缺省的任務調度表如表2所示。
      表2   I1入口 I2入口 D入口 K入口 P1入口
           0005  0001  0001 0019 1388
      任務調度程序可如下編寫:
      …… mov  a,pointer  ;pointer為當前任務指針
         add  a,#tasktbl;tasktbl為任務調度表首址
         add  a,#02h;指向訪問計數器
         mov  r0,a
         mov  a,@r0;訪問計數器值減一
         clr  c
         subb a,#01h
         mov  b,a
         inc  r 0
         mov  a,@r 0
         subb a,#00h
         jnz exit      ;不為零則返回

     
     
    網站首頁  |  關于我們  |  聯系我們  |  廣告服務  |  版權隱私  |  友情鏈接  |  站點導航
     
    亚洲视频一区二区三区_国产在线拍偷自揄拍精品_日韩av在线看_日本久久久久久久久久久_精品国产区一区二区三区在线观看_国产日产欧美a一级在线_日韩亚洲在线观看_日韩久久精品电影_久久综合电影一区_2021国产精品视频_国产精品小说在线_欧美—级高清免费播放_一区二区三区高清国产_91av视频在线免费观看_一二美女精品欧洲_成人网在线免费看
    欧美性生交xxxxx久久久| 亚洲aaaaaa| 亚洲a一级视频| 亚洲永久免费观看| 青青草99啪国产免费| 国产精品高潮在线| 国产在线98福利播放视频| 国产精品入口日韩视频大尺度| 久久精品国产2020观看福利| 国产精品2018| 亚洲精品一区二区久| 欧美高清在线播放| 亚洲激情免费观看| 国产亚洲一区二区在线| 久久99精品久久久久久琪琪| 欧美色xxxx| 久久综合久中文字幕青草| 欧美福利小视频| 亚洲精品视频播放| 色中色综合影院手机版在线观看| 国产欧美日韩丝袜精品一区| 国产精品一区二区三区毛片淫片| 国产99久久精品一区二区 夜夜躁日日躁| 久久精品国产视频| 中文字幕亚洲综合久久| 亚洲国产天堂久久综合| 欧美性猛交xxxx乱大交3| 中文欧美日本在线资源| 久久精品99无色码中文字幕| 日韩av一区二区在线观看| 久久伊人精品视频| 欧美日韩在线视频一区| 日韩美女在线看| 久久精品国产亚洲精品2020| 欧美一级免费看| 两个人的视频www国产精品| 欧美在线视频免费| 国产成人免费av电影| 欧美激情a在线| 久久久电影免费观看完整版| 成人动漫网站在线观看| 久久久久久久一区二区三区| 国产精品露脸自拍| 欧美孕妇性xx| 亚洲一区二区三区乱码aⅴ蜜桃女| 亚洲成**性毛茸茸| 欧美成人黄色小视频| 中文字幕亚洲欧美一区二区三区| 91久久久久久久久| 色999日韩欧美国产| yellow中文字幕久久| 欧美激情精品久久久久久大尺度| 国产成人综合一区二区三区| 成人黄色中文字幕| 欧美亚洲在线播放| 日韩69视频在线观看| 欧美成人激情图片网| 国产在线精品一区免费香蕉| 久久久精品国产亚洲| 久久精品国产69国产精品亚洲| www.亚洲男人天堂| 亚洲人成网站色ww在线| 成人国产精品一区| 91精品国产综合久久香蕉的用户体验| 有码中文亚洲精品| 国产精品久久精品| 欧美色另类天堂2015| 亚洲欧洲视频在线| 国产精品视频久久久久| 136fldh精品导航福利| 97婷婷涩涩精品一区| 国产成人久久久精品一区| 亚洲视频axxx| 日韩精品视频中文在线观看| 国产精品高潮呻吟视频| 怡红院精品视频| 992tv成人免费视频| 亚洲娇小xxxx欧美娇小| 黑人巨大精品欧美一区二区| 日韩av在线免费播放| 66m—66摸成人免费视频| 亚洲自拍小视频免费观看| 精品中文字幕视频| 国产精品午夜视频| 国产精品午夜一区二区欲梦| 国产精品第七十二页| 欧美性猛交99久久久久99按摩| 亚洲福利精品在线| www亚洲精品| 久热国产精品视频| 成人在线视频网站| 操人视频在线观看欧美| 国产日本欧美一区二区三区在线| 国产成人精品午夜| 亚洲情综合五月天| 欧美人与物videos| 91精品视频专区| 久久精品国产久精国产一老狼| 成人午夜激情免费视频| 国产精品wwww| 国产精品福利在线| 日韩成人中文电影| 欧美日韩亚洲一区二区三区| 欲色天天网综合久久| 中文字幕亚洲图片| 成人免费在线视频网站| 欧美一级淫片videoshd| 日韩亚洲成人av在线| 欧美日韩不卡合集视频| 日韩影视在线观看| 欧美日韩一区二区免费在线观看| 国产视频福利一区| 美女视频久久黄| 欧美巨乳美女视频| 国产欧美精品日韩精品| 欧美在线精品免播放器视频| 久久久久久九九九| 日韩中文在线观看| 久久人人97超碰精品888| 日韩中文娱乐网| 黑人巨大精品欧美一区免费视频| 亚洲福利小视频| 日韩成人在线视频网站| 午夜免费日韩视频| 在线观看国产精品日韩av| 国产精品高潮呻吟久久av无限| 久99九色视频在线观看| 欧美性做爰毛片| 亚洲国产精彩中文乱码av在线播放| 亚洲高清久久网| 欧美极品少妇xxxxⅹ免费视频| 国产精品白丝jk喷水视频一区| 在线观看中文字幕亚洲| 九九热精品视频在线播放| 亚洲精品视频在线观看视频| 97视频在线观看成人| 美日韩丰满少妇在线观看| 最新中文字幕亚洲| 亚洲一区二区三区成人在线视频精品| 国产综合福利在线| 日韩欧美精品免费在线| 欧美日韩国产丝袜另类| 91在线看www| 色爱精品视频一区| 亚洲人高潮女人毛茸茸| 色中色综合影院手机版在线观看| 日韩中文字幕在线视频| 91精品国产自产在线| 中文字幕亚洲综合久久| 国产91对白在线播放| 久久在精品线影院精品国产| 成人日韩在线电影| 国产精品久久久久9999| 国产日本欧美一区二区三区| 欧美丰满少妇xxxxx做受| 最新日韩中文字幕| 亚洲性av在线| 一区二区三区黄色| 亚洲乱码一区av黑人高潮| 亚洲xxxxx性| 国产精品一区二区久久久| 欧美日韩国产一区二区| 久久久噜噜噜久久| 91精品国产高清久久久久久|