基于AT89S51的智能交通燈控制系統(tǒng)設計與仿真
摘要:針對城市交通控制問題,提出以AT89S51作為系統(tǒng)的控制核心,實現(xiàn)正常情況下各個方向信號燈的輪流指示及倒計時顯示。系統(tǒng)能根據(jù)各方向車輛的實際通行情況及時切換通行方向,并保證緊急情況下特殊車輛的及時通行。最后利用Proteus仿真調(diào)試驗證了系統(tǒng)設計的正確性。
本文引用地址:http://butianyuan.cn/article/201610/306812.htm隨著經(jīng)濟與社會的快速發(fā)展,城市交通壓力越來越大,如何通過有效的交通管理,實現(xiàn)人、車、路三者之間的協(xié)調(diào),已經(jīng)成為交管部門亟待解決的主要問題之一。除了通過多種交通出行方式緩解交通壓力以外,在路面交通控制中,對交通信號燈的靈活有效控制,已經(jīng)成為城市交通控制系統(tǒng)中重要組成部分。
傳統(tǒng)的十字路口交通控制系統(tǒng)中,一般只采用紅綠黃燈分方向輪流控制形式,沒有考慮到實時的各方向路面車流輛情況,緊急突發(fā)事件的應急處理等,這樣的控制顯得不夠靈活,無法達到最優(yōu)的交通指揮目的。本文提出的智能交通燈控制系統(tǒng),可通過對通行方向?qū)嶋H路面車輛有無的檢測,及時切換通行方向,并針對緊急情況,保證特殊車輛的優(yōu)先通行。此外,還可實現(xiàn)對各方向時間的倒計時顯示,使交通指揮高效靈活。
1 系統(tǒng)設計要求
智能交通燈控制系統(tǒng)要求實現(xiàn)以下控制目的:
1)設東西道為A道,南北道為B道;A道放行60 s;B道放行30 s;綠燈放行,紅燈停止;綠燈轉(zhuǎn)紅燈時,黃燈亮3 s。
2)當一道有車而另一道無車時,交通燈控制系統(tǒng)立即讓有車的車道放行。
3)遇到特殊情況,可撥動應急開關,使各方向均為紅燈,特殊車輛不受紅燈限制,保證其順利通過后將開關撥回原位,系統(tǒng)恢復原狀態(tài)進行。
4)具有遞減時間顯示功能。
2 系統(tǒng)設計方案
系統(tǒng)的控制方案有多種,可采用PLC、CPLD、單片機或純電路設計等設計方案。從控制的靈活性、實現(xiàn)的方便程度以及性價比等方面綜合考慮,本設計采用AT89S51單片機作為控制核心器件。采用紅、綠、黃燈各4個作為交通指示,采用霍爾傳感器分別檢測兩個方向有無車輛通行。處理緊急車輛的開關接到外部中斷引腳INT0。使用兩位數(shù)碼管進行遞減時間顯示,并采用動態(tài)掃描的顯示方式。此外,單片機系統(tǒng)工作需要時鐘電路和復位電路構成最小系統(tǒng)。
整個系統(tǒng)的組成框圖如圖1所示。
3 硬件電路設計
1)單片機最小系統(tǒng):原理圖如圖2所示。AT89S51作為控制核心,加上時鐘電路及復位電路組成單片機最小系統(tǒng)如圖2所示。其中時鐘電路的晶振頻率為12 MHz,為單片機工作提供基本的工作時序。采用按鍵復位電路,在系統(tǒng)上電以及非正常工作時實現(xiàn)復位。
2)信號燈顯示電路:采用12個交通燈模型來模擬實際交通信號燈,其中P1.0~P1.2輸出控制A道的紅、綠、黃燈,即P1口的1個輸出引腳同時控制同一道上不同方向的兩個信號燈,若驅(qū)動能力不夠時可增加驅(qū)動電路以達到功率匹配。同理,P1.3~P1.5輸出控制B道的紅、綠、黃燈,交通燈模型在單片機輸出引腳為高電平時點亮。原理圖如圖3所示。(注:為描述方便,單片機引腳表示方法如:P1.0引腳用P10符號表示。)
3)車輛檢測輸入:采用霍爾傳感器進行車輛有無的檢測,在每個方向車道的入口處安裝一個霍爾傳感器。當該方向車輛入口處有車輛時,霍爾傳感器會發(fā)出一個脈沖,得到車輛的有無信號。本設計只在A、B道上各放置一個霍爾傳感器(實際應是兩個)。由于在Proteus仿真中沒有霍爾傳感器的模型,但是考慮到霍爾傳感器發(fā)出的是單脈沖,此處可采用一個開關替代來進行仿真。車輛檢測輸入部分如圖4所示。
4)緊急開關輸入:當出現(xiàn)緊急情況需要特殊車輛優(yōu)先通行時,可撥通緊急開關,緊急開關可接至外部中斷0,此時各方向交通燈全紅,等待特殊車輛通行后在關掉緊急開關,恢復信號燈的正常顯示。緊急開關輸入部分如圖4所示。
5)倒計時顯示電路:采用共陽極2位數(shù)碼管進行60 s或30s遞減時間顯示,使用P0口輸出LED顯示器的段碼,P2口輸出LED顯示器的位碼??紤]到采用動態(tài)掃描方式,需增加驅(qū)動電路,故在P0口輸出段碼時先接至74HC573鎖存器進行驅(qū)動,再接至LED數(shù)碼管的段控端。通過P2口輸出4個位碼時經(jīng)由74HC04反相驅(qū)動后再接到數(shù)碼管的位控端。電路原理圖如圖5所示。
4 系統(tǒng)軟件設計
根據(jù)系統(tǒng)控制要求及硬件原理圖,軟件采用匯編語言進行程序設計,主程序流程如圖6所示。將A、B車道的傳感器接至P3.6和P3.7,當P3.6=0表示A道有車輛通過;P3.6=1表示A道無車輛通過。同理,可判斷B道車輛通行情況。
對緊急車輛的處理,采用外部中斷的方式,由外部中斷0服務程序處理。LED數(shù)碼管顯示采用動態(tài)掃描方式實現(xiàn)倒計時的顯示,通過定時器T0進行20ms的定時,在定時器T0服務程序中實現(xiàn)十位和個位時間的輪流顯示。由于篇幅限制,外部中斷0服務程序和定時器0中斷服務程序流程此處略。
5 Proteus仿真調(diào)試
軟件采用匯編語言設計,在Keil C51集成開發(fā)環(huán)境下將編寫的程序進行編譯、調(diào)試,并生成目標文件(.hex)。此外,利用EDA仿真軟件Proteus繪制出電路仿真原理圖,CPU選擇AT89S51。雙擊AT89S51,在出現(xiàn)的對話框中的“Program file”加入已生成的.hex文件,并進行仿真調(diào)試。調(diào)試成功后,正常情況下A、B道的紅綠黃信號燈輪流亮并具有倒計時顯示,按下緊急開關則A、B通道紅燈一直亮直至松開緊急開關;若檢測到當前通行道上無車而哦、另一道上有車時,能正確切換通行方向。正常情況下的仿真效果圖如圖7所示仿真顯示當前A道紅燈,B道路燈通行,倒計時時間為16 s。
6 結論
該設計以AT89S51單片機作為控制核心,能實現(xiàn)正常情況的通行指示,各方向車流情況不同的及時通行切換,以及緊急情況下的特殊通行,并通過Proteus軟件的仿真調(diào)試驗證了系統(tǒng)設計的正確性。與傳統(tǒng)交通燈控制系統(tǒng)相比,該系統(tǒng)具有硬件結構簡潔、控制靈活、維護方便等優(yōu)點,在交通控制領域中具有較好的實用價值。
評論