《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于RTX51實時操作系統(tǒng)的交通燈控制系統(tǒng)的設(shè)計
基于RTX51實時操作系統(tǒng)的交通燈控制系統(tǒng)的設(shè)計
邢鵬康,,胡 彬
河南工業(yè)職業(yè)技術(shù)學院
摘要: 相對與傳統(tǒng)的開發(fā)方式而言,,用實時操作系統(tǒng)進行開發(fā)是一種效率更高的方式?,F(xiàn)以道路交通燈控制系統(tǒng)為例。具體介紹了基于小型多任務(wù)實時操作系統(tǒng)RTX51開發(fā)軟件系統(tǒng)的方法和步驟,,給出了系統(tǒng)的硬件電路及軟件設(shè)計方案,。實踐測量表明,,基于RTX51開發(fā)的軟件系統(tǒng),系統(tǒng)在實時性,、穩(wěn)定性和可靠性等方面都得到了提高,。
Abstract:
Key words :

關(guān)鍵詞:交通燈控制系統(tǒng)實時操作系統(tǒng),;RTX51

O 引言
    一個高效的單片機智能控制系統(tǒng),,不僅要求系統(tǒng)能夠同時執(zhí)行多個任務(wù),對每個任務(wù)作出實時響應(yīng),,而且要求系統(tǒng)能夠及時響應(yīng)隨機發(fā)生的外部事件,,并對其作出快速處理。對于這樣的系統(tǒng)應(yīng)用,,采用實時操作系統(tǒng)RTOS(Real-time-Operating System)作為系統(tǒng)軟件設(shè)計平臺是一個良好的選擇,,它可以靈活地安排系統(tǒng)資源,簡化復(fù)雜的軟件設(shè)計,,加快軟件的開發(fā)效率,,大大縮短了項目的開發(fā)周期。道路交通燈是最常見的一種多任務(wù)控制系統(tǒng),,本文以此為倒,詳細闡述了51嵌入式實時操作系統(tǒng)RTX51開發(fā)軟件的方法和步驟,。

1 系統(tǒng)硬件電路設(shè)計
    交通信號燈控制系統(tǒng)主要實現(xiàn)以下三個功能:
    (1)信號燈指示,,即完成十字路口紅、黃,、綠交通信號燈的控制,。
    (2)時間顯示,各個信號燈持續(xù)的時間顯示,。
    (3)緊急情況響應(yīng),,當系統(tǒng)出現(xiàn)故障或者有緊急情況是能夠及時響應(yīng)。
    根據(jù)以上功能要求,,完整的交通燈控制系統(tǒng)硬件電路如圖l所示,,主要由三部分模塊組成:單片機最小系統(tǒng)模塊、紅綠色顯示模塊,、倒計時顯示模塊,、緊急中斷模塊。
a.JPG

     (1)單片機最小系統(tǒng):包括時鐘電路和開關(guān)復(fù)位電路,。單片機選用具有成本低廉且具有串口ISP下載功能的STC89C52單片機,,晶振選用12 MHz。
    (2)信號燈指示電路:東西南北四個方向分別有紅,、綠,、黃三個狀態(tài)指示的燈,其中南北方向的紅綠黃發(fā)光二極管分別連接到P1.O~P1.2,東西方向的紅綠黃發(fā)光二極管分別連接到P1.3~P1.5,。
    (3)倒計時顯示:每個交通燈狀態(tài)倒計時時間由兩位共陽數(shù)碼管顯示,,八位段碼分別連接到P0.0~P2.7,兩位位選通過反向器分別連接到P3.4,、P3.5,。
    (4)緊急中斷:開關(guān)K1為緊急中斷開關(guān),當有特殊情況時按下K1,,K1連接到單片機P3.2外部中斷O輸入端,。

2 基于RTX51的軟件設(shè)計
    近年來,利用嵌入式實時操作系統(tǒng)來開發(fā)嵌入式系統(tǒng)的軟件已是大勢所趨,。這是因為傳統(tǒng)的這類設(shè)計中,,大多采用了中斷結(jié)合單任務(wù)的順序機制進行,這種設(shè)計方法雖然比較直觀,,但是也帶來了諸如穩(wěn)定性差,、不便于調(diào)試等問題。尤其是當系統(tǒng)比較復(fù)雜,、實時性要求比較高時,,這種單任務(wù)機制的缺陷更為明顯。利用嵌入式實時操作系統(tǒng),,程序開發(fā)者可以將復(fù)雜的系統(tǒng)分成多個相對獨立的任務(wù),,從而分而治之,降低了系統(tǒng)的復(fù)雜性,;通過對不同的任務(wù)賦以不同的優(yōu)先級,,從而能夠保證系統(tǒng)的實時性;同時,,由于軟件系統(tǒng)有多個任務(wù)組成,,所以其模塊化程度好。提高了系統(tǒng)的可維護性,。因此,,這里利用實時操作系統(tǒng)RTX51來進行軟件系統(tǒng)的設(shè)計。
2.1 RTX51實時操作系統(tǒng)介紹
    RTX51是美國Keil公司開發(fā)的一種運行于8051單片機環(huán)境中的實時多任務(wù)操作系統(tǒng)(RTOS),,其常用于處理復(fù)雜的多任務(wù)控制系統(tǒng),。8051單片機支持典型的RTX-51Tiny和RTX-51 Full實時多任務(wù)操作系統(tǒng)。在Keil μVison3集成開發(fā)環(huán)境中提供了RTX-51實時操作系統(tǒng)的編譯和仿真調(diào)試支持,。
    在多任務(wù)嵌入式系統(tǒng)中,,合理的任務(wù)調(diào)度必不可少。單純通過提高處理器速度無法達到目的,,這樣就要求嵌入式系統(tǒng)的軟件必須具有多任務(wù)調(diào)度能力,。在微控制器應(yīng)用系統(tǒng)中通??梢苑纸鉃槎鄠€相互獨立的功能模塊,在RTX51嵌入式實時操作系統(tǒng)中將這些模塊劃分為任務(wù),,引入多任務(wù)機制管理,。依據(jù)系統(tǒng)功能優(yōu)先級分配不同的任務(wù),多個任務(wù)分別在各自的時間片內(nèi)訪問CPU,,從而產(chǎn)生了微觀上輪流運行,、宏觀上并行運行的多任務(wù)效果,保證了對外界的信息足夠快的速度進行響應(yīng)處理,,又能并行運行多個任務(wù),,因此能很好完成對多個信息的實時測量、處理并進行響應(yīng)的多個實時控制,。
2.2 任務(wù)分配
    在本系統(tǒng)中,,依據(jù)交通燈控制系統(tǒng)功能的分析,將整個軟件系統(tǒng)分解為以下三個任務(wù),,系統(tǒng)初始化,、紅綠黃燈顯示、倒計時顯示,。具體情況如下:
    任務(wù)0:用于系統(tǒng)初始化,,開外部中斷0;啟動任務(wù)1和任務(wù)2,。
    任務(wù)1:紅綠黃信號指示燈控制,,實現(xiàn)紅綠黃燈的五種狀態(tài)控制。狀態(tài)0:東西方向紅燈亮,,同時南北方向綠燈亮,亮的時間為30 S,;狀態(tài)1:東西方向紅燈亮,,南北方向黃燈閃爍,時間為3 S,;狀態(tài)2:東西方向綠燈亮,,同時南北方向紅燈亮,時間為30 S,;狀態(tài)3:東西方向黃燈閃爍,,南北方向紅燈亮,時間為3 S,;狀態(tài)4:當緊急開關(guān)按下時,,響應(yīng)緊急狀況或者故障狀態(tài),東西南北四個方向紅燈均亮,,時間為10S,。
任務(wù)2:各個狀態(tài)指示燈倒計時顯示。兩個數(shù)碼管采用動態(tài)掃描顯示,實時顯示當前交通指示燈狀態(tài)的倒計時時間,。
2.3 程序設(shè)計
    依據(jù)任務(wù)分配,,將三個任務(wù)分別規(guī)劃為_task_0,_task_1,,_task_2,,由于完整的程序較大,這里不便給出,,只給出部分代碼,,如下所示。

b.JPG
c.JPG

3 結(jié)束語
    本文以道路交通燈控制系統(tǒng)為例,,詳細介紹了RTX51實時操作系統(tǒng)在單片機程序設(shè)計中的應(yīng)用,。系統(tǒng)實際運行結(jié)果表明,RTX51實時操作系統(tǒng)既能保證對外界的信息以足夠快的速度進行處理,,又能并行運行多個任務(wù),,具有實時性和并行性的特點,因此能很好地完成對多個信息的實時測量,、處理和進行相應(yīng)的多個實時控制,。此外,使用RTX51實時操作系統(tǒng),,降低了軟件編寫的復(fù)雜度,,提高了產(chǎn)品的開發(fā)效率,方便了系統(tǒng)的維護和功能擴展,。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。