智汇工业-智慧工业、智能制造及工业智能、工业互联门户网站,专业的工业“互联网+”传媒

多任務機制在單片機系統中的應用

來源:網絡

點擊:1098

A+ A-

所屬頻道:新聞中心

關鍵詞: 多任務機制在單片機系統中的應用,多任務機制 單片機系統 中斷機制

    摘 要:提出了一種嶄新的基于任務機制的單片機系統程序結構,討論了具體實現方法,并給出應用實例。
    關鍵詞:多任務機制 單片機系統 中斷機制
      傳統的單片機系統監控程序通常是基于單任務機制的。這種機制具有簡單直觀,易于控制的優點。然而由于程序只能按單一的線索順序執行,缺乏靈活性,在復雜系統中難以勝任。為了在更廣泛的領域應用單片機系統,必須對傳統的單任務機制進行改進。
      多任務機制是現代操作系統才具有的突出優點。在這種機制下,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      ;不為零則返回
         cjne b,#00h,exit
         dec  r 0;訪問計數器被減為零
         dec  r 0
         mov  dph,@r 0;將任務入口讀入dptr
         dec  r 0
         mov  dpl,@r 0;
         mov  a,#00h
         jmp  @a+dptr;跳轉到相應任務入口
         exit:mov  @r 0,a;修改訪問

    (審核編輯: 智匯小新)

    聲明:除特別說明之外,新聞內容及圖片均來自網絡及各大主流媒體。版權歸原作者所有。如認為內容侵權,請聯系我們刪除。

    主站蜘蛛池模板: 西安logo设计公司/西安包装设计公司/西安画册设计公司/西安广告公司/西安品牌设计公司/泰勒广告 雾度计-雾度仪-透光率测试仪-3nh品牌雾度仪生产厂家 | 品牌服装网-服装品牌加盟招商,服装品牌排行榜,服装品牌大全 | 新余婚庆公司_新余最好的婚庆公司_新余高端婚礼-爱尚婚礼策划 | 球磨机配件_烘干机配件_回转窑配件_球磨机小齿轮_球磨机大齿轮-巩义市兴农机械制造公司 | 激光清洗机_激光除锈机_激光焊接机 - 上海锡昊激光科技有限公司 激光切管机_等离子切管机_相贯线切管机厂家|服务为先-山东美峰智能设备有限公司 | 什木坊全屋定制官网_木门|护墙|衣柜|橱柜等全品类定制家具 | 济宁山银煤矿机械有限公司,钻采工具,防爆电器,凿岩机械,风动工具,矿山机械,建筑机械,支护设备,通风防尘,铁路设备,仪器仪表,大型设备,矿用泵,钎具类,消防类,矿车类,配件区类 | 云南亿华工贸有限公司-云南护栏网-云南锌钢护栏-昆明市政护栏-工地护栏-昆明护栏网厂家 | 木材粉碎机,木头木材破碎机,大型木材粉碎机多少钱一台-晨红木材粉碎机厂家-巩义市晨红机械厂 | 碳化硅微粉_超细碳化硅微粉_潍坊凯华碳化硅微粉有限公司 | 乌鲁木齐万疆通管道设备有限公司 销售热线;13565955557-新疆 乌鲁木齐 万疆通 管道设备 波纹补偿器 膨胀节 金属软管 伸缩器 管件 阀门 维修 | 园林绿化平台|园林绿化网|苗木网|苗圃网||苗木报价网|园林招标网|园林苗木网|园林工程网|景观设计网|园林机械网|绿化苗木网| | 沈阳东鹰实业有限公司【官网】-聚氨酯清扫器-胶带输送机保护装置 | 明星代言,明星代言费,明星代言价格查询-良策明星经纪公司 | 人仁康集团 -- 10A抗菌舱研发生产厂家| 智能试剂柜-疾控|高校实验室|医院药品智能试剂管理柜-北京晶品赛思 | 上海汽车音响_上海汽车隔音降噪_上海汽车音响改装店_上海音豪 | 深圳市佳顺优印印刷有限公司,佳顺优印,画册印刷,海报印刷,封套印刷,手提袋印刷,包装盒印刷,彩盒印刷,无碳纸印刷,不干胶印刷,信封印刷,便笺印刷,笔记本印刷,台历印刷,挂历印刷,国际会展中心附近印刷厂,宝安印刷厂,宝安教材印刷厂 | 郑州月嫂|月嫂培训|月嫂服务|郑州布卢家政服务有限公司 | 爬架网@建筑爬架网@冲孔建筑爬架网片@工地冲孔建筑爬架网片@工地冲孔建筑爬架网片厂家@工地冲孔建筑爬架网片生产厂家-安平县诺德金属制品有限公司 | 维启科技-创造科技的无限可能 | 上海维启信息技术有限公司 建筑仿真 BIM 虚拟现实 VR AR 顶岗实习 建筑智能模型 | 山东净化车间_净化工程_净化公司-山东海蓝净化装饰工程有限公司 山东金起起重机械有限公司[官网]-金桥银路悬臂吊,金起龙门吊,山东金起起重行吊,单梁起重机 | 山东优科机械设备有限公司,养鸡设备,湿帘设备,通风降温加湿设备,山东养鸡设备,山东湿帘设备 | 咪咕体育直播,咪咕直播,CCTV5直播,体育直播,高清直播,腾讯体育直播,篮球直播,足球直播 | 慢直播摄像头厂家,监控直播摄像机厂家,景区慢直播设备,rtmp推流直播摄像头,实时摄像头监控直播-监控慢直播厂家:专注监控慢直播系统解决方案 | 网络公关公司_舆情监测_危机公关_品牌公关_一夜红传媒 | 中华收藏网-中藏网-藏品拍卖|字画拍卖|艺术品拍卖|古玩城|收藏资讯|古玩交易|书画定制 | 柱塞泥浆泵|压滤机专用泵|陶瓷泥浆泵_咸阳华星泵业有限公司 | 云南破碎机-制砂机-洗砂机-振动筛-昆明昆重机械厂家 | 莱湾科技-智能会议室|多功能|多媒体|音视频|无纸化|远程视频会议室运维 | 江苏宇力医疗器械有限公司 | 万级无菌室-阳性对照室-干细胞实验室-广州沃霖实验室设备有限公司 | 环保除尘设备_燃气/燃油热水锅炉_光氧空气净化器_蒸汽玉米压片机_压片设备_烘干设备-山东金盾节能环保设备有限公司 | 陕西筱润智能科技有限公司 干部人事智能档案柜 智能密集架 智能档案柜 部队选层文件智能柜 智能枪弹柜 财务智能档案柜 边防武警智能密集架 医院智能档案柜 部队选层文件智能柜智能枪弹柜 学校医院文件柜 企事业单位公检法智能文件柜 生产厂家-筱润智能科技有限公司 RFID射频智能密集架 全自动智能选层档案柜 智能密保柜 枪柜部队营房营具床桌椅办公家具 办公用品档案盒设备货架 全自动智能选层柜生产厂家-筱润智能科技有限公司 | 耐油橡胶接头,耐酸碱橡胶接头,耐高温橡胶接头|淞江集团 | 生物质蒸发器_燃气蒸发器_燃气锅炉价格|厂家直销-山东泰锅锅炉设备有限公司 | 千家网-智能建筑与智能家居产品解决方案平台 | 自动_链条式_电动推杆_电动开窗器厂家_山东鑫宏玺智能科技有限公司 | 葡萄糖酸钠_食用葡萄糖_精萘-安徽鹏腾实业有限公司 | 燃气锅炉-供暖锅炉-热水锅炉-电锅炉-北京锅炉安装公司-北京亦辰科技有限公司 | 红都服装官网-北京红都西服-红都西服定制-北京红都集团 |