基于AT89C51單片機的交通燈控制系統(tǒng)設(shè)計與仿真
2.1 最小應(yīng)用系統(tǒng)
系統(tǒng)中,復(fù)位電路、時鐘電路與51單片機組成最小應(yīng)用系統(tǒng),使交通控制系統(tǒng)可以正常工作。其中復(fù)位電路采用按鍵復(fù)位,如圖2所示。本文引用地址:http://m.butianyuan.cn/article/171283.htm
2.2 數(shù)碼時間顯示電路
七段LED數(shù)碼管是由八個發(fā)光二極管構(gòu)成,通過給其引腳不同的高低電平,從而顯出0~9的數(shù)字和小數(shù)點,本文通過四個一位數(shù)碼管并聯(lián)通過P3口當中的P3.0與P3.1與STATIC DISPLAY模塊來控制數(shù)碼管時間的顯示,如圖2所示。
2.3 信號燈電路設(shè)計
本電路的設(shè)計,應(yīng)用單片機P2口中的P2.1~P2.6通過7405芯片來控制12個發(fā)光二極管模擬交通信號燈的工作情況,其中P2.1,P2.2,P2.3分別通過7405來控制A道路的綠燈、黃燈和紅燈,用P2.4,P2.5,P2.6分別通過7405來控制B道路的綠燈、黃燈和紅燈。采用共陽極的連接方式,所以當P2.1~P2.6中相應(yīng)輸出高電平經(jīng)過7405取反變成低電平時對應(yīng)的發(fā)光二極管變亮。
根據(jù)上述對系統(tǒng)各部分的電路設(shè)計,本文設(shè)計的完整系統(tǒng)電路圖如圖2所示。
2.4 控制開關(guān)
當需要根據(jù)實時交通堵塞情況實行人為控制時或遇到緊急情況時,開關(guān)能夠起到控制的作用,并能使各路交通回到初始狀態(tài)。
3 軟件設(shè)計
主程序中完成對交通燈系統(tǒng)的初始化工作,使得主干道與支道能正常轉(zhuǎn)換工作,在此系統(tǒng)中,由于要用七段LED數(shù)碼管顯示交通倒計時間,在主程序當中,分別調(diào)用了三個子程序,一個是延時子程序,延時500ms,在用一個寄存器來計循環(huán)次數(shù),循環(huán)2次,達到定時1 s,分別為綠燈閃爍調(diào)用時間,數(shù)碼管顯示調(diào)用時間,一個是顯示子程序,用來顯示主干道與支道的時間,另一個是中斷子程序。主程序流程圖如圖3所示。
本系統(tǒng)采用兩種中斷來實現(xiàn)交通燈控制器的功能。
設(shè)置外部中斷INT0,該中斷用來處理緊急情況,當交通燈控制器出現(xiàn)故障或交通出現(xiàn)嚴重事故需要封鎖道路時,調(diào)用該中斷,使主道和支道的交通燈均為紅燈20 s。該中斷具有最高的優(yōu)先級。
設(shè)置外部中斷INT1,該中斷用來處理根據(jù)主道與支道車輛實時交通情況的多少實行延長時間通行,通行延時30s。
評論