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

        ?

        多任務程序架構的搭建

        2011-08-08 12:48:16虞益龍
        電腦與電信 2011年12期
        關鍵詞:多任務頻度中斷

        虞益龍

        (常州劉國鈞高等職業(yè)技術學校,江蘇 常州 213000)

        1.引言

        傳統(tǒng)的單片機程序設計多為單任務系統(tǒng),其業(yè)務邏輯順序安排在主函數(shù)中,主函數(shù)一般為死循環(huán),循環(huán)過程中通過調用函數(shù)來完成相應的操作,而對于一些較短的實時任務則通過中斷方式進行處理。此種程序結構簡單、直觀,易于實現(xiàn),但對于較復雜的應用此種結構實現(xiàn)不了,并且不能滿足實時性要求較高的場合,因此必須考慮一種新的結構模式。

        本文提出的方法也是按時間片切換任務的,但不同的是,執(zhí)行任務的時間不是由定時器平均分配的,而是按照執(zhí)行任務中一個完整過程的時間來自動分配的。在單片機系統(tǒng)程式設計中,可按系統(tǒng)的功能或模塊劃分為任務,而每個任務可按具體作業(yè)細分為各個過程??梢娙蝿沼蛇^程組成。按時間片分配任務的設計,系統(tǒng)效率就會更高。

        2.多任務輪循程序架構

        多任務輪循程序架構就是一個系統(tǒng)由多個任務構成,各任務之間相對獨立。本文提出一種基于定時器中斷的多任務輪循程序架構,如圖1所示。在主程序中,根據(jù)任務延時量判斷任務是否就緒,各任務輪循占用CPU時間,由任務延時量控制任務執(zhí)行頻度及CPU關照度,而任務延時量又由定時器T0中斷控制。

        圖1 定時中斷的多任務輪循程序架構流程圖

        基于定時器中斷的多任務輪循架構中,子任務的執(zhí)行依靠主程序任務調度來實現(xiàn),子任務不能設計成死循環(huán)流程。正因為各任務不搶占CPU,所以程序設計不用考慮現(xiàn)場保護問題,簡化了程序設計。程序整體架構有定時器固定節(jié)拍中斷,該節(jié)拍需滿足最快任務執(zhí)行頻度需要。定義定時中斷頻度,由執(zhí)行頻度要求最快的任務確定,太高會降低CPU運行效率,太低任務頻度不好分配,一般低于200Hz即可。本文采用50Hz。對于按鍵掃描程序模塊,每秒按50次頻度執(zhí)行即可,LCD1602和實時時鐘數(shù)據(jù)讀取模塊可以按每秒3次頻度執(zhí)行即可。

        2.1 調用函數(shù)和宏定義

        /*代碼說明:這里通過宏定義,在頭文件中把易變參數(shù)進行定義,這樣使得程序容易修改,一改全改,便于移植。*/

        2.2 定時器設置及初始化

        /*代碼說明:定時中斷在這里就是心臟,依靠定時中斷完成任務延時量的修改,從而實現(xiàn)不同任務運行頻度控制。*/

        2.3 定時器中斷服務

        任務執(zhí)行頻度由任務延時量task_delay[ID]控制,各任務延時量在定時中斷中減一,直到延時量為零,相關任務就緒?!癐D”表示各任務代號。任務調度過程就是對任務延時量檢測過程,只有任務延時量為零時,CPU從其它任務中返回后立即執(zhí)行相應的任務,由于不同任務延時量不同,從而實現(xiàn)不同任務具有不同的執(zhí)行頻度而相互不受時間影響。這里必須滿足一個條件,就是每個任務執(zhí)行一次的時間不能太長,不能超過一次定時中斷時間,否則任務之間執(zhí)行頻度會有影響,對于50Hz的中斷頻率,每個任務執(zhí)行時間最好不超過20ms,即CPU光顧一次任務時間要在20ms以內,這樣就可以保證任務之間相互完全不受影響。

        定時器中斷服務等待任務就緒代碼如下:

        /*代碼說明:在定時中斷服務中,執(zhí)行的任務必須很簡短,重置定時器初值,把大于0的任務延時量減1,該定時中斷作為心臟跳動,不斷進出運行,為了節(jié)省CPU時間,該中斷任務越簡單越好。*/

        2.4 指向函數(shù)的指針函數(shù)

        2.5 任務切換

        任務切換在主程序main()中完成,系統(tǒng)初始化之后,在一個大循環(huán)中,判斷各任務的延時量是否為零,當任務延時量為零時,表示該任務就緒,當前一個任務主動放棄CPU之后,馬上啟動就緒的新任務。各任務之間不具有搶占功能,因此不用考慮堆棧與保護。

        主程序服務及任務切換代碼如下:

        /*代碼說明:根據(jù)任務延時量是否為零選擇執(zhí)行就緒任務,任務執(zhí)行完成后返回再恢復設定的延時量;下劃線表示任務執(zhí)行的頻度,即每秒鐘執(zhí)行多少次。各個不同的任務,根據(jù)需要,設定不同的延時量,延時量在定時中斷中逐步減一歸零,每個任務必須主動放棄CPU,正因此,各任務執(zhí)行時間最好不要超過定時中斷節(jié)拍時間單位,本文為20ms,否則將影響其它任務運行。*/

        2.6 任務過程設計

        /*代碼說明:任務延時量為零時,就緒任務執(zhí)行,任務過程可以根據(jù)需求設置若干個。例:數(shù)碼管顯示模塊可以放在任務0執(zhí)行,按鍵掃描程序模塊放在任務1執(zhí)行。*/

        由此可見,系統(tǒng)按完整過程(最小作業(yè)單元)自動切換任務,不需保留臨時現(xiàn)場數(shù)據(jù),不需定時被動切換,不需額外的調度表。與單任務編程相比,多任務編程也沒有占用系統(tǒng)任何額外資源,其結構和代碼的可讀性也沒有較大的改變。

        3. 結語

        單片機多任務編程方法可歸納為:(1)在單片機多任務編程中,各任務依次排成隊列輪流執(zhí)行;(2)每次執(zhí)行任務只調用其一個過程來執(zhí)行,可保證各任務間最快速地切換;(3)各任務、過程間使用全局變量共享或交換數(shù)據(jù),避免各種參數(shù)傳遞。

        在過去采用傳統(tǒng)方法設計復雜的單片機系統(tǒng)過程中,人們容易發(fā)現(xiàn)系統(tǒng)交叉調用多,重復代碼多,系統(tǒng)運行效率差,邏輯容易混亂且難以調試。鑒于此,需要探索一個結構清晰,易調試,任務明確且可重用、提高開發(fā)效率,無相互調用,無重復代碼的系統(tǒng)。采用定時中斷的多任務輪循程序架構,與傳統(tǒng)設計相比,基于該架構的系統(tǒng)產(chǎn)品消耗硬件資源少,運行效率高,其硬件功能更多以軟件取代,所以運行更穩(wěn)定,易維護,性價比高,取得了更高的經(jīng)濟效益。

        [1]劉明路,王亮生,李世煜.基于RTX51的單片機軟件設計[J].單片機與嵌入式系統(tǒng)應用,2002(3).

        [2]歐偉明.面向嵌入式系統(tǒng)設計的RTX51[J].應用技術研究,2007(5).

        [3]周程.RTX51 Tiny在核數(shù)據(jù)采集系統(tǒng)中的應用[J].核電子學與探測技術,2008,599-610.

        [4]劉光德,林莘,王群.基于RTX51嵌入式實時操作系統(tǒng)的智能稱重儀表的研究[J].科技應用,2004,7-9.

        [5]KEIL Software,Inc.《RTX51 Real-time Kernel》[EB/OL].http://www.keil.com/rtx51,2004.

        猜你喜歡
        多任務頻度中斷
        基于中心化自動加權多任務學習的早期輕度認知障礙診斷
        跟蹤導練(二)(5)
        千里移防,衛(wèi)勤保障不中斷
        解放軍健康(2017年5期)2017-08-01 06:27:44
        眨眼頻度可判斷煙癮大小
        婦女之友(2017年3期)2017-04-20 09:20:00
        基于判別性局部聯(lián)合稀疏模型的多任務跟蹤
        自動化學報(2016年3期)2016-08-23 12:02:56
        基于多任務異步處理的電力系統(tǒng)序網(wǎng)絡拓撲分析
        電測與儀表(2016年5期)2016-04-22 01:13:46
        銅綠假單胞菌MIC分布敏感百分數(shù)與抗菌藥物使用頻度相關性研究
        未知環(huán)境下基于粒子群優(yōu)化的多任務聯(lián)盟生成
        計算機工程(2014年6期)2014-02-28 01:26:17
        AT89C51與中斷有關的寄存器功能表解
        FPGA內嵌PowerPC的中斷響應分析
        微處理機(2012年4期)2012-06-13 11:32:24
        欧美一性一乱一交一视频| 一区二区三区午夜视频在线 | 亚洲精品国偷拍自产在线观看| 99re久久精品国产| 国产激情久久久久久熟女老人| 日韩国产自拍视频在线观看| 精品国产性色av网站| 国产美女亚洲精品一区| 大香蕉青青草视频在线| 成 人片 黄 色 大 片| 人与禽性视频77777| 色狠狠色狠狠综合一区| 亚洲一区二区高清在线| 91精品国产乱码久久中文| 女人被弄到高潮的免费视频| 国产亚洲人成a在线v网站| 色妺妺视频网| 国产高清黄色在线观看91| 亚洲日本一区二区三区四区| 丝袜美腿亚洲一区二区| 亚洲日韩欧洲无码av夜夜摸| 日韩偷拍一区二区三区视频 | 免费人妖一区二区三区| 日本真人做爰免费视频120秒| 国产精品99久久免费| av毛片一区二区少妇颜射| 亚洲乱码av一区二区蜜桃av| 精品久久久bbbb人妻| 亚洲精品乱码久久久久久久久久久久| av无码天一区二区一三区| 区无码字幕中文色| 中文av字幕一区二区三区| 日韩精品无码一区二区三区四区| 丁香六月久久婷婷开心| 国产精品一区二区在线观看完整版 | 大陆啪啪福利视频| 狠狠爱婷婷网五月天久久| а天堂中文在线官网| 国产精品麻花传媒二三区别| 国产一区二区三区杨幂| 人妻免费一区二区三区免费|