張 婷
(山西大學(xué)商務(wù)學(xué)院,山西 太原 030001)
隨著經(jīng)濟(jì)發(fā)展,車輛增多,交通也隨之發(fā)展,交通燈在各個(gè)道路的應(yīng)用必不可少。通過仔細(xì)觀察,分析了十字路口交通燈的顯示和控制策略,并利用單片機(jī)實(shí)現(xiàn)了一個(gè)交通路口的交通燈控制。傳統(tǒng)的交通燈控制系統(tǒng),每個(gè)路口通行時(shí)間固定,可以一定程度的滿足指揮交通的需求,但是隨著車流量的增大,我們經(jīng)常會(huì)遇到堵車或者一方有車走不動(dòng),另一個(gè)方向卻沒多少車輛的情況。傳統(tǒng)的交通燈已經(jīng)顯示出不足之處。本文設(shè)計(jì)出能伴隨車流量的改變而調(diào)整紅綠燈的顯示時(shí)間的交通燈系統(tǒng)。另外,計(jì)算機(jī)的發(fā)展極大地促進(jìn)了虛擬儀器的發(fā)展。虛擬儀器可以直接利用計(jì)算機(jī)搭建與現(xiàn)實(shí)環(huán)境相差無幾的仿真環(huán)境來模擬實(shí)際應(yīng)用,極大地提高開發(fā)效率。本文利用protues軟件對(duì)設(shè)計(jì)的交通燈進(jìn)行了基本功能仿真,驗(yàn)證了設(shè)計(jì)可行性,極大地縮短了研發(fā)周期,并且可以為后期更靈活的改進(jìn)設(shè)計(jì)服務(wù)。
交通燈由單片機(jī)控制主電路,顯示電路,信號(hào)燈模塊和車流量檢測模塊組成。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。圖中單片機(jī)模塊是整個(gè)控制系統(tǒng)的核心,通過它可以控制顯示電路和信號(hào)燈模塊按照要求亮滅,也可以切換為自動(dòng)調(diào)節(jié)通行時(shí)間模式,通過車流量檢測模塊采集車流量信息從而控制通行時(shí)間長短。顯示電路用于顯示通行時(shí)間倒計(jì)時(shí)。信號(hào)燈模塊采用LED進(jìn)行紅黃綠燈顯示。電源模塊為整體電路供電。
圖1 交通燈結(jié)構(gòu)框圖
本設(shè)計(jì)采用AT89C52為核心控制器件。單片機(jī)想要工作,需要有時(shí)鐘電路、供電電路及復(fù)位電路配合[1]。AT89C52為常用的時(shí)鐘電路,采用內(nèi)部時(shí)鐘電路,配合外部12M晶振和電容與XTAL1和XTAL2連接組成,為單片機(jī)提供基本的機(jī)器周期脈沖。單片機(jī)復(fù)位電路為手動(dòng)復(fù)位電路,當(dāng)單片機(jī)發(fā)生異常工作時(shí)可通過復(fù)位按鈕讓單片機(jī)復(fù)位[2]。
AT89C52是一個(gè)低電壓、高性能CMOS 8位單片機(jī),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),所以編程簡單。AT89C52單片機(jī)由于其控制結(jié)構(gòu)簡單,標(biāo)準(zhǔn)編程,價(jià)格低廉,在電子行業(yè)中有著廣泛的應(yīng)用。AT89C52有40個(gè)引腳,32個(gè)外部雙向輸入/輸出(I/O)端口,AT89C52可以按照常規(guī)方法進(jìn)行編程,也可以在線編程。其將通用的微處理器和Flash存儲(chǔ)器結(jié)合在一起,特別是可反復(fù)擦寫的 Flash存儲(chǔ)器可有效地降低開發(fā)成本。單片機(jī)最小系統(tǒng)如圖2所示。
圖2 單片機(jī)最小系統(tǒng)仿真圖
車流量檢測的方法有很多比如磁頻類車輛檢測器、紅外線檢測和超聲波檢測等。現(xiàn)代交通中攝像頭廣泛應(yīng)用于高速交通、隧道、立交橋和城市十字路口等。視頻采集系統(tǒng)優(yōu)點(diǎn)是不需要破壞地面,安裝和維護(hù)比較簡單,但是也有一定的缺點(diǎn),比如受天氣影響因素較大。
為了實(shí)現(xiàn)資源充分利用,本文綜合考慮后采用了視頻采集模塊作為傳感器,上位機(jī)端通過圖像分析對(duì)車流量進(jìn)行判斷[3]。在視頻方位內(nèi)設(shè)置虛擬框線,也就是檢測區(qū),當(dāng)框線內(nèi)有車輛時(shí)圖像灰度值會(huì)發(fā)生變化??稍O(shè)置多個(gè)檢測區(qū),當(dāng)大排長隊(duì)時(shí)多個(gè)檢測區(qū)灰度值均發(fā)生變化與對(duì)向車道檢測值差別較大時(shí),可控制信號(hào)燈增加通行時(shí)間。差別大小設(shè)置多個(gè)閾值,從而控制不同的通行時(shí)間。后期也可以除了在十字路口外,在十字路口沿線設(shè)置多點(diǎn)視頻采集,從而提高車流量信息的準(zhǔn)確率。
顯示模塊分為倒計(jì)時(shí)顯示和紅黃綠信號(hào)燈模塊。倒計(jì)時(shí)模塊采用數(shù)碼管,信號(hào)燈采用LED燈。數(shù)碼管也稱發(fā)光管,是可以顯示數(shù)字和其他信息的電子設(shè)備[4]。本設(shè)計(jì)選用了8段發(fā)光數(shù)碼管。與單片機(jī)的IO口連接顯示十字路口紅黃綠燈的倒計(jì)時(shí)時(shí)間。由于單片機(jī)IO口有限,采用了動(dòng)態(tài)控制的方法來讓數(shù)碼管逐一顯示,縮短延時(shí)時(shí)間,從而構(gòu)成同時(shí)顯示的現(xiàn)象。
紅黃綠信號(hào)燈采用常見的發(fā)光二極管。模擬十字路口通行時(shí),紅燈停,綠燈行,黃燈亮了等一會(huì)的信號(hào)燈情況。亮滅控制由單片機(jī)控制來實(shí)現(xiàn)。
還設(shè)置了按鍵電路,如果遇到故障可以手動(dòng)設(shè)置通行時(shí)間和控制信號(hào)燈。另外可實(shí)現(xiàn)固定通行時(shí)間和根據(jù)車流量自動(dòng)通行時(shí)間模式間的切換。
圖3 顯示模塊仿真圖
單片機(jī)的C51編程選用了keil4軟件。學(xué)習(xí)了keil建立一個(gè)C51工程的步驟,并最終程序編譯通過。本設(shè)計(jì)模擬了最基本的直行情況。通行過程為十字路口東西方向通行15 s,數(shù)碼管開始15 s倒計(jì)時(shí),此時(shí)東西方向綠燈亮15 s,南北方向紅燈亮15 s;之后為黃燈等待時(shí)間,東西南北方向皆為黃燈亮且顯示3 s倒計(jì)時(shí);隨后為十字路口南北方向通行15 s,數(shù)碼管倒計(jì)時(shí)15 s,南北方向綠燈亮,東西方向紅燈亮;最后又是黃燈等待3 s的時(shí)間。之后交替重復(fù)這4個(gè)過程。流程圖如圖4所示。
圖4 主程序流程圖
對(duì)該系統(tǒng)進(jìn)行了電路仿真[5],本文采用了常用的電路仿真軟件protues軟件來對(duì)整體電路進(jìn)行仿真,protues里對(duì)C51程序的下載方便,加載程序后可以隨時(shí)開始運(yùn)行觀察結(jié)果,通過不斷調(diào)試得到了跟設(shè)計(jì)目的相符的結(jié)果,驗(yàn)證了設(shè)計(jì)程序和電路的可行性。
根據(jù)該系統(tǒng)設(shè)計(jì)的電路在protues中畫出仿真電路圖如圖5所示。
圖5 仿真電路圖
仿真電路中可以設(shè)定固定通行時(shí)間,也可以通過按鍵模擬車流量情況對(duì)通行時(shí)間進(jìn)行修改。驗(yàn)證了電路設(shè)計(jì)的正確性。
通過交通燈的設(shè)計(jì)、編程與仿真,實(shí)現(xiàn)了十字路口交通燈的控制,在實(shí)際問題中提升了理論學(xué)習(xí),又解決了一些實(shí)際問題。系統(tǒng)設(shè)計(jì)簡單易實(shí)現(xiàn)。但是沒有添加更復(fù)雜交通燈的控制比如左右轉(zhuǎn),后期根據(jù)實(shí)際通行狀況,應(yīng)該給該系統(tǒng)添加復(fù)雜控制。車流量檢測可采用高級(jí)算法,精確控制。甚至后期可以加入定位模塊為整個(gè)城市的交通暢通提供便利。