<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 基于RTX51的單片機軟件設計

    時間:2024-09-27 06:30:00 理工畢業(yè)論文 我要投稿
    • 相關推薦

    基于RTX51的單片機軟件設計

    1 概述

    很多單片機的應用中都需要同時執(zhí)行很多任務,對于這樣的應用,我們可以利用實時操作系統(tǒng)來靈活地安排系統(tǒng)資源。RTX51是美國Keil公司開發(fā)的一種小型的應用于MCS51系列單片機的實時多任務操作系統(tǒng),它可以工作所有8051單片機以及派生家族中,簡化了復雜的軟件設計,縮短了項目周期。我們實踐中用RTX51來開發(fā)單片機軟件。設計單片機控制的GPS接收板軟件,取得了很好的效果。

    2 RTX51介紹

    RTX51有2個模式:RTX51完全模式和最小模式。RTX51最小模式版是RTX51完全版的一個子集,可以很容易地運行在8051系統(tǒng)上,而不需要外部RAM(DXATA)。RTX51完全模式有4個任務優(yōu)先級,可以和中斷函數并行處理,各個任務之間通過使用“郵箱”系統(tǒng)來進行信號和消息的傳遞,可以從內存池中申請和釋放內存;同時,可以強制一個任務停止執(zhí)行,等待一個中斷,或者是其它中斷傳來的信號量或者消息。RTX51對系統(tǒng)硬件的要求如表1所列。

    2.1 RTX51任務

    RTX51區(qū)分2類任務:快速任務和標準任務。快速任務有很快的響應速度,每個快速任務使用8051一個單獨的寄存器組,并且有自己的堆棧區(qū)域。RTX51支持最大同時有3個快速任務。標準任務需要多一點的時間來進行任務切換,因此使用的內部RAM相對快速任務要少,所有的標準任務共用1個寄存器組和堆棧。當任務切換的時候,當前任務的寄存器狀態(tài)和堆棧內容轉移到外部存儲器中。RTX51支持最大16個標準任務。

    RTX51任務狀態(tài):

    ①運行(RUNNIGN)——當前正在運行的任務處于RUNNING狀態(tài),同一時間只有1個任務可以運行。

    ②就緒(READY)——等待運行的任務處于READY狀態(tài),在當前運行的任務退出運行狀態(tài)后,就緒隊列中優(yōu)先級最高的任務進入到運行狀態(tài)。

    ③阻塞(BLOCKED)——等待一個事件的任務處于BLOCKED狀態(tài),如果事件發(fā)生且優(yōu)先級比正在運行的任務高,此任務進入運行狀態(tài);如果優(yōu)先級比正在運行的任務低,此任務進入READY狀態(tài)。

    ④刪除(DELETED)——沒有開始的任務處于刪除狀態(tài)。

    ⑤任務切換——RTX51包含一個事件驅動的任務切換機制,它能夠按照任務的優(yōu)先級進行切換,也就是搶占式多任務系統(tǒng);另外還有一個可選的時間片輪轉切換任務模式,在時間片輪轉模式下,同級別的任務是按照時間片分別占用CPU的。RTX51任務有4個優(yōu)先級:0、1、2可以分配給標準任務,優(yōu)先級3是為快速任務保留的。每個任務都可以等待事件的發(fā)生,而并不增加系統(tǒng)的負擔;任務可以等待消息、信號、中斷、超時事件或者它們的組合。任務切換是按照一定規(guī)則進行的,包括:進入到“就緒”狀態(tài)的優(yōu)先級高的任務先執(zhí)行;如果“就緒”狀態(tài)的幾個任務是同一個優(yōu)先級,那么最先進入“就緒”狀態(tài)的先執(zhí)行。

    RTX51任務切換圖如圖1所示。

    2.2 RTX51事件

    ◇超時(timeout):掛起運行的任務指定數量的時間周期。

    ◇間隔(interval):類似于超時,但是軟件定時器沒有復位,典型應用是產生時鐘。

    ◇信號(signal):用于任務內部同步協(xié)調。

    ◇消息(message):適用于RTX51 Full,用于信息的交換。我們可以把一個消息交送到一個特定的郵箱。消息由2字節(jié)組成,可以是用戶按照自己的需求定主的數據,也可以是指向數據的指針。如果郵箱的消息列表滿,而且是中斷發(fā)送消息,這個消息將會丟失;如果是任務發(fā)送消息,那么任務將會進入到等待狀態(tài),直到郵箱重新有了位置可以接收這一條消息。郵箱是按照FIFO的原則來管理消息的,如果幾個任務都在等待接收消息,那么最先進入等待接收隊列的將接收消息。一個郵箱最多可以存儲8條消息。當郵箱滿的時候,最多只能有16個等待任務。

    ◇中斷(interrup):適用于RTX51 Full,信號量用于管理共享的系統(tǒng)資源。通過使用“令牌”,允許在同一時刻只有一個任務使用某些資源。如果幾個任務申請訪問同一個資源,那么首先提出申請的將允許訪問,其它的任務進入等待隊列,直到第1個任務操作完畢,下一個任務才能繼續(xù)。

    Os_wait()函數掛起一個任務來等待一個事件的發(fā)生。這樣可以同步2個或幾個任務。它的工作過程如下:當任務等待的事件沒有發(fā)生的時候,系統(tǒng)掛起這個任務;當事件發(fā)生時,系統(tǒng)根據任務切換規(guī)則切換任務。

    2.3 RTX51中斷處理

    RTX51完全模式提供2種方法來處理中斷:一種是C51的中斷函數,另一種是RTX51的斷。它又可以分為快速任務中斷和標準任務中斷。對于中斷函數這種方法,它同時也可以在不使用RTX51的情況下使用,當中斷發(fā)生的時候,程序就跳到了相應的中斷函數,它和正在運行的任務是互相獨立的,中斷的處理是在RTX51系統(tǒng)之外,和任務切換規(guī)則沒有關聯(lián)。對于任務中斷的方法,不管使用快速是標準任務來處理中斷,如果中斷發(fā)生,等待中斷的任務就從“等待”狀態(tài)進入到就緒狀態(tài),并按照任務切換規(guī)則進行切換。這種中斷處理是完全集成在RTX51的內部,硬件中斷事件的處理和信號、信息的處理是完全相同的。在系統(tǒng)響應中斷使能寄存器,這樣才能遵守任務的切換規(guī)則并保證中斷程序的無誤進行。必須注意中斷使能寄存器是由RTX51完全控制的,禁止用戶手動的修改。

    3 應用實例

    以下給出RTX51在單片機控制的GPS接收板上的應用。

    (1)系統(tǒng)硬件組成

    單片機W77E58,快速8051內核、32KB ROM、1KB的XDATA RAM,符合使用RTX51的硬件要求;鍵盤、GPS定位模塊、液晶顯示模塊。

    (2)系統(tǒng)軟件構成

    軟件運

    【基于RTX51的單片機軟件設計】相關文章:

    基于單片機的MicroDrive接口設計03-20

    單片機控制GSM模塊實現(xiàn)短信收發(fā)的軟件設計03-20

    一種基于網絡的監(jiān)控軟件設計與實現(xiàn)11-20

    基于PIC單片機的熱能表研制03-18

    基于單片機的實時傳真信息監(jiān)測系統(tǒng)03-18

    基于單片機的CAN智能總線節(jié)點的設計03-07

    基于51單片機復位電路設計03-07

    基于單片機的液位測量系統(tǒng)設計03-07

    基于單片機技術的波形發(fā)生器采用單片機設計(一)03-07

    主站蜘蛛池模板: 精品不卡一区二区| 99久久精品国产免看国产一区| 亚洲精品国产字幕久久不卡| 四虎国产精品永久一区| 亚洲国产精品一区二区久久hs| 国产亚州精品女人久久久久久| 凹凸69堂国产成人精品视频| 一本一道精品欧美中文字幕| 久久99精品久久久久久不卡| 99久久伊人精品综合观看| 国产精品亚洲精品观看不卡| 日韩人妻精品无码一区二区三区| 精品国产成人国产在线观看| 成人国内精品久久久久影院VR| 国产精品电影在线观看| 国产乱码精品一品二品 | 精品人妻系列无码人妻免费视频| 国产91精品一区二区麻豆网站| 人妻少妇精品无码专区二区| 亚洲AV无码成人精品区狼人影院| 精品久久久久久无码中文字幕| 亚洲综合一区二区精品导航| 亚洲国产精品人久久| 国产精品视频一区二区三区经| 国产92成人精品视频免费| 国产成人久久精品激情| 欧美精品videosse精子| 亚洲综合精品香蕉久久网 | 九九热在线精品视频| 98视频精品全部国产| 国产精品99久久99久久久| 国产精品区免费视频| 精品蜜臀久久久久99网站| 奇米影视7777久久精品| 久久精品国产亚洲AV电影| 国产精品亚韩精品无码a在线| 国产日韩精品中文字无码| 国产成人精品手机在线观看| 成人精品视频99在线观看免费| 国产精品1区2区3区在线播放| 国产精品久久久久影视不卡 |