基于AT89S52的交通燈綜合實驗設計
3 軟件設計
3.1 工作模式說明
系統分3種工作模式:正常模式、特殊事件模式和時間設置模式,并且通過圖1中K1、K2按鈕可實現模式選擇。交通燈的主要狀態示意圖,如圖2所示,南北方向交通燈亮滅順序及時間長短如圖3所示。本文引用地址:http://www.104case.com/article/170444.htm
(1)正常模式。
狀態1 如圖2程序開始運行先南北段通行60 s,其中車輛和人行道的直行通行40 s,數碼管顯示時間40 s,此時南北段直行通行綠燈亮(SG)、左轉紅燈亮(LR),東西段直行左轉紅燈都亮60 s,同時南北段和東西段方向的數碼管分別從40 s和60 s開始倒計時。
狀態2 南北段直行倒計時至最后5 s時,直行綠燈同時黃燈閃爍(SG SY);左轉紅燈同時黃燈閃爍(LR LY),如圖3所示。
狀態3 如圖2所示,南北段直行倒計時為0時,數碼管顯示時間從20 s開始倒計時,直行通行紅燈亮(SR)、左轉綠燈亮(LC),表示禁止車輛和人的直行,允許左轉,左轉通行20 s,東西段紅燈繼續倒計時。
狀態4 南北段左轉倒計時至最后5 s時,直行紅燈繼續亮(SR),左轉綠燈同時黃燈閃爍(LG LY),如圖3所示。
狀態5 南北段左轉倒計時為0時,數碼管顯示時間從60 s開始倒計時,直行紅燈亮(SR)、左轉紅燈亮(LR),表示禁止南北段的直行和左轉。東西段狀態與南北段交替,開始允許直行通行40 s后左轉通行20 s,再循環至狀態1。
(2)特殊事件模式。特殊事件指臨時需緊急通行的事件,比如急救車、消防車、警車等。此時,應使東西南北4個方向全亮紅燈,并延時10 s,以便特殊事件得到解決。
(3)時間設置模式。如果某路段的時間初始值與該路段的車輛通行狀況不符,可按下中斷鍵進入時間設置模式,對該路段各個路口的直行、左轉時間長度進行設置。
3.2 程序流程圖
軟件設計主要用C語言編程,總程序分為3部分:主程序;顯示控制、狀態處理等子程序;定時、特殊事件和時間設置等中斷處理程序。
(1)主程序流程。系統以正常狀態下交通信號燈各狀態的循環顯示為主程序,如圖4所示。在主程序中,調用數碼管倒計時子程序和中斷延時以實現各種交通狀態。
手機電池相關文章:手機電池修復
評論