激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频

基于RTX51的單片機軟件設計

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

基于RTX51的單片機軟件設計

1 概述

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

2 RTX51介紹

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

2.1 RTX51任務(wù)

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

RTX51任務(wù)狀態(tài):

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

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

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

④刪除(DELETED)——沒(méi)有開(kāi)始的任務(wù)處于刪除狀態(tài)。

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

RTX51任務(wù)切換圖如圖1所示。

2.2 RTX51事件

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

◇間隔(interval):類(lèi)似于超時(shí),但是軟件定時(shí)器沒(méi)有復位,典型應用是產(chǎn)生時(shí)鐘。

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

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

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

Os_wait()函數掛起一個(gè)任務(wù)來(lái)等待一個(gè)事件的發(fā)生。這樣可以同步2個(gè)或幾個(gè)任務(wù)。它的工作過(guò)程如下:當任務(wù)等待的事件沒(méi)有發(fā)生的時(shí)候,系統掛起這個(gè)任務(wù);當事件發(fā)生時(shí),系統根據任務(wù)切換規則切換任務(wù)。

2.3 RTX51中斷處理

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

3 應用實(shí)例

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

(1)系統硬件組成

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

(2)系統軟件構成

軟件運

【基于RTX51的單片機軟件設計】相關(guān)文章:

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

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

一種基于網(wǎng)絡(luò )的監控軟件設計與實(shí)現11-20

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

基于單片機的實(shí)時(shí)傳真信息監測系統03-18

基于單片機的CAN智能總線(xiàn)節點(diǎn)的設計03-07

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

基于單片機的液位測量系統設計03-07

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

激情欧美日韩一区二区,浪货撅高贱屁股求主人调教视频,精品无码成人片一区二区98,国产高清av在线播放,色翁荡息又大又硬又粗视频