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

評論