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

評論