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