夏開(kāi)云
(南京江寧高等職業(yè)技術(shù)學(xué)校,江蘇 南京 211100)
我國(guó)交通指揮信號(hào)燈法規(guī)規(guī)定如下[1-2]。
(1)紅燈停:紅燈亮?xí)r不準(zhǔn)車(chē)輛和行人通行;
(2)綠燈行:綠燈亮?xí)r允許行車(chē)輛和行人通行;
(3)黃燈亮等一等:黃燈亮?xí)r,已經(jīng)越過(guò)停止線(xiàn)的車(chē)輛和行人可以繼續(xù)通行,還沒(méi)有越過(guò)停止線(xiàn)的不準(zhǔn)繼續(xù)通行;
(4)綠色箭頭燈亮:車(chē)輛和行人在相應(yīng)的車(chē)道上按照箭頭所指的方向通行;
(5)黃燈閃爍:車(chē)輛和行人在相應(yīng)的車(chē)道上時(shí),在確保安全的情況下可以通行。
正常情況下,交通信號(hào)燈分為東西支干和南北主干道。通常,東西支干道通行時(shí)間為20 s,南北主干道通行時(shí)間為30 s,且每個(gè)方向綠燈轉(zhuǎn)紅燈時(shí)黃燈先亮5 s。交通燈還設(shè)置了人工控制狀態(tài),如果一道有車(chē)而另一道無(wú)車(chē),執(zhí)勤交警會(huì)通過(guò)交通燈的人工控制系統(tǒng)為有車(chē)道放行。有緊急車(chē)輛要求通過(guò)時(shí),人工禁止普通車(chē)輛通行。交通信號(hào)燈的出現(xiàn),使交通秩序得到了有效管制,既有利于交通疏導(dǎo),也減少了交通事故的發(fā)生。
單片機(jī)控制交通燈電路[3]的單片電路主要以單片機(jī)為中心,電源、時(shí)鐘和復(fù)位電路給單片機(jī)提供電源和信號(hào),而單片機(jī)接收到信號(hào)則對(duì)發(fā)光二極管和其他設(shè)備進(jìn)行相應(yīng)的控制。設(shè)計(jì)框圖如圖1所示。
圖1 單片機(jī)控制交通燈電路設(shè)計(jì)框圖
單片機(jī)控制[4]交通燈電路原理,如圖2所示。
交通燈控制電路工作過(guò)程:接通電源,程序開(kāi)始進(jìn)入循環(huán)狀態(tài),東西向紅燈亮,南北向綠燈亮,同時(shí)數(shù)碼管從30 s開(kāi)始進(jìn)行倒計(jì)時(shí),剩余5 s時(shí)紅綠燈都不亮,轉(zhuǎn)為4個(gè)方向的黃燈,每隔1 s亮一次,蜂鳴器發(fā)聲;倒計(jì)時(shí)結(jié)束后,數(shù)碼管再次重新開(kāi)始20 s倒計(jì)時(shí),東西向綠燈亮,南北向紅燈亮,剩余5 s時(shí)紅綠燈都不亮,轉(zhuǎn)為4個(gè)方向的黃燈,每隔1 s亮一次,蜂鳴器發(fā)聲,依次循環(huán)。
圖2 單片機(jī)控制交通燈電路原理圖
按下K1按鍵后數(shù)碼管進(jìn)入50 s倒計(jì)時(shí),東西向綠燈亮,南北向紅燈亮,倒計(jì)時(shí)結(jié)束后數(shù)碼管再次重新開(kāi)始50 s倒計(jì)時(shí),依次循環(huán)。由于本電路是上電復(fù)位,所以需要重新通電,再按下K2按鍵后數(shù)碼管進(jìn)入50 s倒計(jì)時(shí),東西向紅燈亮,南北向綠燈亮,倒計(jì)時(shí)結(jié)束后數(shù)碼管重新開(kāi)始50 s倒計(jì)時(shí),依次循環(huán)。
ATC89C51是以8051為核的ISP系統(tǒng)可編程芯片,最高工作時(shí)鐘頻率為80 MHz。8051由中央處理器、內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM、內(nèi)部程序存儲(chǔ)器ROM、并行I/O口、串行口、定時(shí)/計(jì)數(shù)器、中斷系統(tǒng)和時(shí)鐘電路組成[1]。
(1)中央處理器是單片機(jī)的控制核心,由運(yùn)算器和控制器兩部分組成。
(2)內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM:8051共有256個(gè)RAM單元,可讀可寫(xiě),一旦掉電,數(shù)據(jù)就會(huì)丟失。其中,高128個(gè)單元被專(zhuān)用寄存器占用;低128個(gè)單元供用戶(hù)使用,用于暫存中間數(shù)據(jù)。
(3)內(nèi)部程序存儲(chǔ)器ROM:8051內(nèi)部共有4 kB掩膜ROM,用于存放程序,而ROM只能讀不能寫(xiě)。若突然斷電,不會(huì)造成數(shù)據(jù)丟失。程序運(yùn)行過(guò)程中原始數(shù)據(jù)不會(huì)改變。
(4)并行I/O口:利用8051內(nèi)部的4個(gè)8位I/O接口實(shí)現(xiàn)數(shù)據(jù)的并行輸入輸出。
(5)串行口:實(shí)現(xiàn)單片機(jī)與其他設(shè)備之間的串行數(shù)據(jù)通信,可以利用8051內(nèi)部的一個(gè)全雙工異步串行口。該串行口除了實(shí)現(xiàn)串行通信外,還能擴(kuò)展外部I/O端口。
(6)定時(shí)/計(jì)數(shù)器:利用8051內(nèi)部的16個(gè)定時(shí)/計(jì)數(shù)器,實(shí)現(xiàn)定時(shí)或計(jì)數(shù)功能。
(7)中斷源:8051內(nèi)部共有5個(gè)中斷源,根據(jù)優(yōu)先級(jí)別不同分為高級(jí)和低級(jí)兩個(gè)級(jí)別。
(8)時(shí)鐘電路:8051內(nèi)部自帶時(shí)鐘電路,只需外接石英晶體,兩端并聯(lián)微調(diào)電容即可產(chǎn)生時(shí)鐘振蕩信號(hào)。
芯片具有系統(tǒng)可編程的特性,配合PC端的相應(yīng)控制程序即可將用戶(hù)的程序代碼燒進(jìn)單片機(jī)內(nèi)部。STC89C51RC系列單片機(jī)具有高速、低功耗等優(yōu)點(diǎn),內(nèi)部集成MAX810專(zhuān)用復(fù)位電路。
89C51的復(fù)位引腳(RST)是第9腳,此引腳連接高電平的時(shí)間超過(guò)2個(gè)機(jī)器周期(一個(gè)機(jī)器周期為6個(gè)時(shí)鐘脈沖),即可使單片機(jī)復(fù)位。本電路由1個(gè)電阻和1個(gè)電容構(gòu)成。在系統(tǒng)上電時(shí),經(jīng)C1與R1充電,使RST端為高電平,持續(xù)時(shí)間大于2個(gè)機(jī)器周期完成復(fù)位。電容充電結(jié)束后系統(tǒng)復(fù)位結(jié)束,開(kāi)始正常工作。復(fù)位操作有兩種基本形式:一種是上電與按鍵均有效的復(fù)位,另一種是本系統(tǒng)所采用的上電復(fù)位,電路如圖3所示。
圖3 復(fù)位電路
發(fā)光二極管簡(jiǎn)稱(chēng)LED,是一類(lèi)特殊的二極管。由于在管內(nèi)加入了特殊氣體,當(dāng)加以正向電流時(shí)便能導(dǎo)通發(fā)光。本次設(shè)計(jì)中,它用于模擬交通燈。
89C51單片機(jī)內(nèi)部有一個(gè)具有高增益的反相輸入放大器,輸入輸出引腳分別為XTAL1和XTAL2。只要兩個(gè)引腳之間具有合適的可調(diào)電阻,就構(gòu)成了穩(wěn)定的振蕩電路。一般C2和C3的電容取30 pF左右。為了減小寄生電容,晶振和電容盡可能安裝得與單片機(jī)的XTAL1和XTAL2靠近些。晶振的頻率范圍1.2~12 MHz。振蕩頻率越高,系統(tǒng)的時(shí)鐘頻率就越高,單片機(jī)此時(shí)的運(yùn)行速度也就越快。對(duì)于外部振蕩器,則應(yīng)將外部振蕩信號(hào)直接加到XTAL1,而使XTAL2懸空。外部晶振時(shí)鐘電路如圖4所示。
按鍵功能區(qū)的主要任務(wù)是通過(guò)系統(tǒng)按鍵改變電路的現(xiàn)象,能夠通過(guò)按鍵模塊對(duì)系統(tǒng)各方向信號(hào)燈預(yù)設(shè)時(shí)間,并根據(jù)現(xiàn)實(shí)情況進(jìn)行合理化設(shè)置。本電路設(shè)置了2個(gè)按鍵K1和K2,按K1南北的綠燈亮?xí)r間為50 s,按K2東西的綠燈亮?xí)r間為50 s。
圖4 晶振時(shí)鐘電路
數(shù)碼管的實(shí)質(zhì)是7個(gè)發(fā)光二極管,但具有單向?qū)щ娦?,一般通過(guò)5 mA左右的電流即可發(fā)光。顯示器的右下角用一個(gè)圓點(diǎn)型發(fā)光二極管作為小數(shù)點(diǎn),用字母DP來(lái)表示。通過(guò)程序控制7個(gè)發(fā)光二極管的亮滅,用不同組合顯示各種數(shù)字、字母等。
數(shù)碼管的連接方式有共陽(yáng)極和共陰極兩種[2]。共陽(yáng)極接法是指發(fā)光二極管的陽(yáng)極(正極)連在一起構(gòu)成公共陽(yáng)極。使用時(shí),公共陽(yáng)極接+5 V。陰極輸入低電平對(duì)應(yīng)的段,發(fā)光極管就導(dǎo)通點(diǎn)亮;陰極輸入高電平的段,則不亮。共陰極接法是指把發(fā)光二極管的陰極(負(fù)極)連在一起構(gòu)成公共陰極。使用時(shí),公共陰極接地。當(dāng)陽(yáng)極端輸入高電平對(duì)應(yīng)的段,發(fā)光二極管導(dǎo)通點(diǎn)亮;陽(yáng)極輸入低電平的段,則不亮。本系統(tǒng)采用的是共陽(yáng)極接法。
LED顯示器[5]是現(xiàn)在最常用的顯示器之一,顯示電路如圖5所示。
圖5 LED顯示器電路
本電路接直流穩(wěn)壓電源+5 V電壓,由于當(dāng)時(shí)采用排針導(dǎo)致正負(fù)極之間的距離過(guò)小,一不小心易引起電路短路,所以用兩根電子線(xiàn)將它們纏繞在排針上,增大了正負(fù)極之間的距離,避免了短路現(xiàn)象的發(fā)生。
傳統(tǒng)交通燈電路目前在技術(shù)上已經(jīng)比較成熟,但是交通堵塞問(wèn)題依然嚴(yán)重。為了更好地解決這一問(wèn)題,需要在硬件和軟件上對(duì)車(chē)流和人流的控制做進(jìn)一步改善,使交通燈更加智能化。