潘 琳
(鹽城工學院 電氣工程學院,江蘇 鹽城 224001)
交通燈在現代社會中扮演著非常重要的角色,是管理城市交通的重要工具。交通燈是由紅、黃、綠三種信號燈和一個顯示倒計時的計時器組成,在每個十字路口基本都有一套交通燈控制系統,對安全行車和車輛分流起著關鍵的作用。目前大多數的交通燈通行時間都是設定好的,其最大的缺點就是在高峰期和夜間的時候綠燈的最佳時間不能達到現實要求,因此車輛的分流也得不到最佳的分配,還有在一些緊急情況下,特殊車輛也不能做到最優通行,這些問題經常會造成城市交通擁堵,通行效率低。為了對交通進行合理的管理,研究了基于單片機的智能交通燈控制系統。
本設計除了可以實現交通燈控制系統的基本功能,還可以通過按鍵調整主次干道的通行時間,設定緊急情況按鈕,允許緊急車輛強行通過,根據時間表對紅綠燈點亮和熄滅時間進行自動調整。
設十字交叉路口的交通干道為南北和東西兩個方向,其中南北方向為主干道,東西方向為支干道,各路口均有紅、黃、綠三種顏色的交通信號燈以及顯示通行/停止倒計時時間的數碼管。交通燈控制系統的功能如下:
(1)南北方向(主干道)每次通行的時間為40 s,而東西方向(支干道)每次通行的時間為30 s;在綠燈變成紅燈前,要求黃燈先亮5 s,綠燈才能變成紅燈,并且黃燈是每秒鐘亮一次。
(2)設置三個按鍵來調節主干道和支干道的通行時間,第一個按鍵為模式按鍵,第一次按下是調節主干道的通行時間,第二次按下是調節支干道的通行時間,第三次按下是按剛剛重新設定的時間運行,改變時間時四個方向紅燈均亮,還有兩個按鍵分別是增加和減少時間的按鍵。
(3)設計一個緊急狀況按鍵,當出現突發事件時,四個方向均為紅燈,只允許指定的車輛通行。
(4)有內部24小時鐘,可以對交通燈點亮和熄滅時間進行自動調整。
本設計電路是由STC89C52單片機為控制核心,另外通過六個電路模塊實現功能,分別是最小系統模塊、按鍵控制模塊、電源模塊、時鐘模塊、交通信號燈顯示模塊、數碼管顯示模塊。硬件設計框圖如圖1所示。

圖1 硬件設計框圖
單片機最小系統是由STC89C52單片機、復位電路和晶振電路組成,晶振頻率為11.0592MHz。
本系統需要有一個+5V的直流電源給各個模塊供電。從P1口輸入220V的交流電壓,經過變壓器變為15V的交流電壓,再利用橋式整流電路,將交流轉變為直流,把15V的交流電壓轉變為0~8V的波動直流電壓,再經過電容濾波后得到較為平穩的直流電壓,經LM7805穩壓器把電壓穩定在+5V,最后再經過兩個電容濾波得到穩定的+5V直流電源。
按鍵模塊由 K1、K2、K3、K4 四個按鍵組成,,K1、K2、K3用來調節通行的時間,K1按鍵第一次按下是改變主干道的通行時間,第二次按下是改變支干道的通行時間,第三次按下是按照剛剛重新設定好的時間運行,調時間的時候紅燈亮禁止通行,還有兩個是增減時間按鈕,K2是增加時間,K3減少時間。K4是緊急模式按鍵,用來在出現突發狀態時,各路口都為紅燈,只讓特定的車輛通行。K1、K2、K3、K4分別與單片機的 P3.4、P3.5、P3.6、P3.7 相連。
本系統要對交通燈進行實時計時,所以用了DS1302時鐘芯片。DS1302是美國DALLAS公司生產的內部時鐘芯片,這種芯片功耗低、性能高,它可以對時間進行計時,能完整地提供秒、分、時、日、星期、月、年的信息,并且每個月的天數和閏年的天數可自動調整。DS1302芯片有八個管腳,分別是 VCC1、VCC2、X1、X2、RST、SCLK、I/O 和 GND. 其中VCC1是后備電源,VCC2是主電源,X1和X2是芯片的兩個振蕩源,接一個晶振和兩個電容,晶振的大小為32.768 kHz,電容大小為22pF,不同的晶振大小對系統的誤差也不一樣。RST為復位端,是通過RST為高電平來實現數據的傳送。當RST為高電平時,所有傳送的數據都初始化,DS1302芯片就可以運行;當RST為低電平時,數據的傳送則會被終止。SCLK是時鐘輸入端,當SCLK是低電平時,RST才能是高電平。I/O是串行數據輸入輸出端。
DS1302與單片機之間的通信,僅需3根線:復位(RST)、I/O 數據線、串行時鐘(SCLK),RST接單片機的P0.0,SCLK接P0.1,I/O接P0.2,由于P0口沒有上拉電阻,且當P0口作為I/O口的時候,需要在P0口外接一個上拉電阻。
在本系統電路中,數碼管的段碼線與單片機P1口相連,東西方向數碼管位選線十位與P3.0相連,個位與P3.1相連,南北方向數碼管位選線十位與P3.2相連,個位與P3.3相連。
為了讓數碼管的顯示更加明顯,需要一個驅動模塊來驅動數碼管,驅動模塊是由4個NPN管和4個1K的電阻組成。三極管的發射極與數碼管的位選線相連,集電極接電源,基極通過電阻與單片機的P3.0~P3.3相連。
交通信號燈顯示模塊如圖所示,采用紅、黃、綠三種LED燈來模擬十字路口的交通信號燈。東西方向紅燈D1(D7)、黃燈 D2(D8)、綠燈 D3(D9)分為接到單片機的 P2.0、P2.1 和 P2.2,南北方向紅燈 D4(D10)、黃燈 D5(D11)、綠燈D6(D12)分別接到 P2.3、P2.4 和 P2.5,該電路采用的是共陽極接法,將所有的陽極接到一起,通過一個1K的電阻與電源相連,當P2口為低電平時二極管才會點亮。
在keil uvision4環境下編譯并調試程序,包括主程序模塊、按鍵掃描子程序模塊和定時器中斷子程序模塊。主程序控制東西南北方向的信號燈的時間以及數碼管的顯示。按鍵掃描子程序是通過按鍵改變數碼管的顯示時間和信號燈的狀態。定時器中斷子程序是實現1s定時。主程序流程圖如圖2。
交通燈控制系統的實物圖如圖3所示。實物上電后顯示的是東西方向綠燈亮同時南北方向紅燈亮。外設有四個按鍵來改變交通燈顯示的狀態,第一個按鍵K1為設置按鍵,第一次按下可以改變南北方向即主干道的通行時間。第二次按下K1可以改變東西方向即支干道的通行時間。第三次按下K1鍵就是按照剛剛設定的時間進行運行。K2是增加時間的按鍵,K3是減少時間的按鍵。調節通行時間時,四個方向均為紅燈顯示。K4是緊急狀況按鍵,是用在突發狀態時,按下去之后,四個方向均為紅燈,只允許指定的車輛如救護車、消防車、警車等通過。

圖2 主程序流程圖

圖3 智能交通燈控制系統實物圖
本文設計的智能交通燈控制系統能夠根據不同的交通狀況,靈活的調節主次干道的通行時間,以及對道路突發情況的應對,實現對車流的智能調控,改善了道路交叉口的擁堵問題,提高了通行效率,具有較強的應用價值。