夏開云
(南京江寧高等職業技術學校,江蘇 南京 211100)
我國交通指揮信號燈法規規定如下[1-2]。
(1)紅燈停:紅燈亮時不準車輛和行人通行;
(2)綠燈行:綠燈亮時允許行車輛和行人通行;
(3)黃燈亮等一等:黃燈亮時,已經越過停止線的車輛和行人可以繼續通行,還沒有越過停止線的不準繼續通行;
(4)綠色箭頭燈亮:車輛和行人在相應的車道上按照箭頭所指的方向通行;
(5)黃燈閃爍:車輛和行人在相應的車道上時,在確保安全的情況下可以通行。
正常情況下,交通信號燈分為東西支干和南北主干道。通常,東西支干道通行時間為20 s,南北主干道通行時間為30 s,且每個方向綠燈轉紅燈時黃燈先亮5 s。交通燈還設置了人工控制狀態,如果一道有車而另一道無車,執勤交警會通過交通燈的人工控制系統為有車道放行。有緊急車輛要求通過時,人工禁止普通車輛通行。交通信號燈的出現,使交通秩序得到了有效管制,既有利于交通疏導,也減少了交通事故的發生。
單片機控制交通燈電路[3]的單片電路主要以單片機為中心,電源、時鐘和復位電路給單片機提供電源和信號,而單片機接收到信號則對發光二極管和其他設備進行相應的控制。設計框圖如圖1所示。

圖1 單片機控制交通燈電路設計框圖
單片機控制[4]交通燈電路原理,如圖2所示。
交通燈控制電路工作過程:接通電源,程序開始進入循環狀態,東西向紅燈亮,南北向綠燈亮,同時數碼管從30 s開始進行倒計時,剩余5 s時紅綠燈都不亮,轉為4個方向的黃燈,每隔1 s亮一次,蜂鳴器發聲;倒計時結束后,數碼管再次重新開始20 s倒計時,東西向綠燈亮,南北向紅燈亮,剩余5 s時紅綠燈都不亮,轉為4個方向的黃燈,每隔1 s亮一次,蜂鳴器發聲,依次循環。

圖2 單片機控制交通燈電路原理圖
按下K1按鍵后數碼管進入50 s倒計時,東西向綠燈亮,南北向紅燈亮,倒計時結束后數碼管再次重新開始50 s倒計時,依次循環。由于本電路是上電復位,所以需要重新通電,再按下K2按鍵后數碼管進入50 s倒計時,東西向紅燈亮,南北向綠燈亮,倒計時結束后數碼管重新開始50 s倒計時,依次循環。
ATC89C51是以8051為核的ISP系統可編程芯片,最高工作時鐘頻率為80 MHz。8051由中央處理器、內部數據存儲器RAM、內部程序存儲器ROM、并行I/O口、串行口、定時/計數器、中斷系統和時鐘電路組成[1]。
(1)中央處理器是單片機的控制核心,由運算器和控制器兩部分組成。
(2)內部數據存儲器RAM:8051共有256個RAM單元,可讀可寫,一旦掉電,數據就會丟失。其中,高128個單元被專用寄存器占用;低128個單元供用戶使用,用于暫存中間數據。
(3)內部程序存儲器ROM:8051內部共有4 kB掩膜ROM,用于存放程序,而ROM只能讀不能寫。若突然斷電,不會造成數據丟失。程序運行過程中原始數據不會改變。
(4)并行I/O口:利用8051內部的4個8位I/O接口實現數據的并行輸入輸出。
(5)串行口:實現單片機與其他設備之間的串行數據通信,可以利用8051內部的一個全雙工異步串行口。該串行口除了實現串行通信外,還能擴展外部I/O端口。
(6)定時/計數器:利用8051內部的16個定時/計數器,實現定時或計數功能。
(7)中斷源:8051內部共有5個中斷源,根據優先級別不同分為高級和低級兩個級別。
(8)時鐘電路:8051內部自帶時鐘電路,只需外接石英晶體,兩端并聯微調電容即可產生時鐘振蕩信號。
芯片具有系統可編程的特性,配合PC端的相應控制程序即可將用戶的程序代碼燒進單片機內部。STC89C51RC系列單片機具有高速、低功耗等優點,內部集成MAX810專用復位電路。
89C51的復位引腳(RST)是第9腳,此引腳連接高電平的時間超過2個機器周期(一個機器周期為6個時鐘脈沖),即可使單片機復位。本電路由1個電阻和1個電容構成。在系統上電時,經C1與R1充電,使RST端為高電平,持續時間大于2個機器周期完成復位。電容充電結束后系統復位結束,開始正常工作。復位操作有兩種基本形式:一種是上電與按鍵均有效的復位,另一種是本系統所采用的上電復位,電路如圖3所示。

圖3 復位電路
發光二極管簡稱LED,是一類特殊的二極管。由于在管內加入了特殊氣體,當加以正向電流時便能導通發光。本次設計中,它用于模擬交通燈。
89C51單片機內部有一個具有高增益的反相輸入放大器,輸入輸出引腳分別為XTAL1和XTAL2。只要兩個引腳之間具有合適的可調電阻,就構成了穩定的振蕩電路。一般C2和C3的電容取30 pF左右。為了減小寄生電容,晶振和電容盡可能安裝得與單片機的XTAL1和XTAL2靠近些。晶振的頻率范圍1.2~12 MHz。振蕩頻率越高,系統的時鐘頻率就越高,單片機此時的運行速度也就越快。對于外部振蕩器,則應將外部振蕩信號直接加到XTAL1,而使XTAL2懸空。外部晶振時鐘電路如圖4所示。
按鍵功能區的主要任務是通過系統按鍵改變電路的現象,能夠通過按鍵模塊對系統各方向信號燈預設時間,并根據現實情況進行合理化設置。本電路設置了2個按鍵K1和K2,按K1南北的綠燈亮時間為50 s,按K2東西的綠燈亮時間為50 s。

圖4 晶振時鐘電路
數碼管的實質是7個發光二極管,但具有單向導電性,一般通過5 mA左右的電流即可發光。顯示器的右下角用一個圓點型發光二極管作為小數點,用字母DP來表示。通過程序控制7個發光二極管的亮滅,用不同組合顯示各種數字、字母等。
數碼管的連接方式有共陽極和共陰極兩種[2]。共陽極接法是指發光二極管的陽極(正極)連在一起構成公共陽極。使用時,公共陽極接+5 V。陰極輸入低電平對應的段,發光極管就導通點亮;陰極輸入高電平的段,則不亮。共陰極接法是指把發光二極管的陰極(負極)連在一起構成公共陰極。使用時,公共陰極接地。當陽極端輸入高電平對應的段,發光二極管導通點亮;陽極輸入低電平的段,則不亮。本系統采用的是共陽極接法。
LED顯示器[5]是現在最常用的顯示器之一,顯示電路如圖5所示。

圖5 LED顯示器電路
本電路接直流穩壓電源+5 V電壓,由于當時采用排針導致正負極之間的距離過小,一不小心易引起電路短路,所以用兩根電子線將它們纏繞在排針上,增大了正負極之間的距離,避免了短路現象的發生。
傳統交通燈電路目前在技術上已經比較成熟,但是交通堵塞問題依然嚴重。為了更好地解決這一問題,需要在硬件和軟件上對車流和人流的控制做進一步改善,使交通燈更加智能化。