【《紅外檢測車流量的智能交通燈結(jié)構(gòu)系統(tǒng)設(shè)計》18000字】_第1頁
【《紅外檢測車流量的智能交通燈結(jié)構(gòu)系統(tǒng)設(shè)計》18000字】_第2頁
【《紅外檢測車流量的智能交通燈結(jié)構(gòu)系統(tǒng)設(shè)計》18000字】_第3頁
【《紅外檢測車流量的智能交通燈結(jié)構(gòu)系統(tǒng)設(shè)計》18000字】_第4頁
【《紅外檢測車流量的智能交通燈結(jié)構(gòu)系統(tǒng)設(shè)計》18000字】_第5頁
已閱讀5頁,還剩47頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

--3--前言在各個交叉口設(shè)置交通信號燈已成為最常見、最有效的交通分流手段。但是這項技術(shù)從19世紀(jì)就已經(jīng)出現(xiàn)了。1858年在英國倫敦安裝了有紅色和藍色的兩種顏色的信號燈,用機械扳手來切換信號,以燃燒煤氣為光源,用以指導(dǎo)道路交通運輸,這是世界上第一個真正意義上的交通信號燈。到1896年,英國鐵路信號工程師從女性紅綠兩種著裝受到啟發(fā),設(shè)計并改進了首次為紅綠燈為交通燈,交通燈由此逐漸產(chǎn)生。該交通燈依舊用煤氣作為光源,紅色表示停止,綠色表示前進,通過它交通事故數(shù)量明顯下降。隨著第二次工業(yè)革命的完成,根據(jù)生產(chǎn)的需求,使各種交通運輸工具飛速的發(fā)展,給道路交通壓力急劇增加。單一靠交通警察手搖式的交通燈在實際使用過程中暴露出了不足,交警有可能不能準(zhǔn)確判斷道路情況,夜間不能使用簡單的標(biāo)牌指標(biāo),極大限制了它應(yīng)用的推廣和范圍。20世紀(jì)初,在美國出現(xiàn)了最早的由電力點燃的紅綠交通燈,形狀由方形變?yōu)閳A形,并增加了黃燈。紅燈表示車輛停止通行,綠燈表示車輛看以通行,黃燈表示車輛謹(jǐn)慎通行。之后,由于技術(shù)方面的限制,在幾十年內(nèi),交通信號燈的切換一直由人工控制。直到上世紀(jì)70年代微軟公司的迅速崛起,交通燈才告別各種各樣的處理系統(tǒng),使用微軟公司提供的處理系統(tǒng)進行紅、綠、黃信號的邏輯切換控制,徹底進入了自動控制時代。交通信號對交通事故管理起到了很大的作用,大大減少了交通事故的發(fā)生。在1968年,聯(lián)合國就制定并公布關(guān)于《道路交通和道路標(biāo)志、信號的協(xié)議》作為各國制定交通標(biāo)志的基礎(chǔ),協(xié)定了各種信號燈的含義。本系統(tǒng)使用紅外傳感器來檢測車輛的流動。這可以通過硬件計算車的數(shù)量和時間,通過更好的邏輯處理程序來實現(xiàn)交通狀況的智能分析,并借助調(diào)整算法來設(shè)置流量可以。交通管制系統(tǒng)的設(shè)計具有簡單的結(jié)構(gòu),高可靠性,低成本,良好的實時性能,方便的安裝和維護的優(yōu)點,具有廣泛的應(yīng)用前景。特別是在高度集中的人口密度城市,智能交通光控系統(tǒng)的設(shè)計尤為重要。城市交通控制系統(tǒng)運用智能控制系統(tǒng),滿足城市快速發(fā)展的需要,最直接的作用是解決交通擁堵問題,改善干線道路暢通的通道,減少車輛等待時間,本研究具有實用意義。1緒論1.1智能交通燈的背景及意義隨著社會經(jīng)濟的飛速發(fā)展,人口的大量流動,交通的便捷性,帶動世界各地的城市和鄉(xiāng)村地區(qū)車輛的流動急劇增加。這種增長導(dǎo)致了巨大的交通擁堵,給經(jīng)濟、人類健康和環(huán)境帶來了巨大的后果。交通管理、監(jiān)控和控制的經(jīng)典方法在性能、成本、維護和支持方面變得低效。隨著交通壓力的逐漸增大,車輛也在逐年擴大,交通問題已經(jīng)成為所有城市迫切需要解決的問題之一。當(dāng)今的交通燈控制系統(tǒng)已經(jīng)成為維護城市交通運行的重要工具。如果沒有交通信號燈的支持,城市交通將變得混亂,影響人們的日常生活?;诮煌鳈z測的智能交通燈控制系統(tǒng)是城市交通系統(tǒng)發(fā)展的重要支撐,需要大力推廣和發(fā)展。由于傳統(tǒng)的紅綠燈都是定時分配時間,造成了以下主要缺點:一是交叉口同一方向的車流容易較多,定時分配容易,某一方向的車輛扎堆速度較快,從而影響下一個交叉口的交通狀況。二是當(dāng)某一方向無車或少量車流時,無法控制其他階段車輛的優(yōu)先權(quán),造成交通指揮盲區(qū),影響交通指揮效率。最后,由于無法確定大流量相位的釋放時間,導(dǎo)致大流量車輛需要等待多個控制周期才能完全通過。本文提出了紅外檢測車流量的智能交通燈系統(tǒng)的設(shè)計。為了有效緩解交通堵塞,可以減少路口前面的車輛排隊數(shù),可以智能合理地設(shè)置交通信號的時間和相位切換。1.2課題主要研究內(nèi)容本次課題主要研究的內(nèi)容,有如下幾個方面:1.紅外檢測車流量的智能交通燈系統(tǒng)的工作原理。2.紅外檢測模塊的檢測原理及其硬件電路設(shè)計。3.智能交通燈控制系統(tǒng)的硬件設(shè)計。4.對紅外車檢測流量的智能交通燈系統(tǒng)的程序設(shè)計。1.3課題研究方案隨著現(xiàn)代電子技術(shù)的飛速發(fā)展,產(chǎn)生了一大批先進的電子產(chǎn)品。尤其是單片機的發(fā)展非常迅速。由于單片機的特殊結(jié)構(gòu),在某些應(yīng)用領(lǐng)域,它承擔(dān)著普通微機無法完成的任務(wù)。它是一種高性能、低價格的處理器。集成度高、體積小、可靠性高、控制功能強、電壓低。由于這些特點,單片機在人類生活中得到了廣泛的應(yīng)用。本文設(shè)計了一種基于單片機和外圍電路的高效、可用性強、可靠性高的智能交通信號燈電路。已知有東、西、南、北三個方向的紅、黃、綠燈,東西方向兩個數(shù)碼管,南北方向兩個數(shù)碼管。信號燈要求按照下表定時顯示和切換,要求在數(shù)碼管上顯示東西、南北方向各狀態(tài)下的倒計時剩余時間。設(shè)置十字路口東西方向綠燈通行時間為20s時,南北紅燈禁止通行時間為25s時,因為當(dāng)東西綠燈倒計時結(jié)束后,要有5s秒的黃燈閃爍時間。表1.1交通燈亮燈狀態(tài)表東西方向南北方向序號狀態(tài)1序號狀態(tài)11綠燈亮,紅、黃燈滅1紅燈亮,綠、黃燈滅2黃燈亮,紅、綠燈滅2紅燈亮,綠、黃燈滅3紅燈亮,綠、黃燈滅3綠燈亮,紅、黃燈滅4紅燈亮,綠、黃燈滅4黃燈亮,紅、綠燈滅回到狀態(tài)1回到狀態(tài)1對于智能交通燈控制系統(tǒng)盡可能增加一些拓展功能,以滿足實際應(yīng)用要求的需要。在一個交通燈路口,能盡可能地提高單位時間的車流量,就算達到了性能最優(yōu)化。按照一個城市十字路口的規(guī)律,一個路口可以分為主干道和支干道,各干道的放行時間根據(jù)實際車流量來設(shè)定,主干道的放行時間大于支干道的時間,本文設(shè)定值時也應(yīng)以此為參考。假設(shè)以下場景,在南北和東西兩干道單交叉于一個十字路口,每個干道都有一組紅、黃、綠的交通信號指示燈。紅燈亮起時,禁止通行;綠燈亮起時,允許車輛通行,但轉(zhuǎn)彎的車輛不得妨礙直行的車輛行駛。黃燈閃爍時,則提示人們注意紅、綠燈的狀態(tài)即將互相切換。同時,黃燈閃爍時間為兩交叉干道的共用停車時間。在正常通行模式下,當(dāng)黃燈閃爍時,沒有超過停止線的車輛,禁止通行。設(shè)南北干道比東西干道的車流量大。十字路口的東西向、南北向各有一組紅綠燈和一個時鐘系統(tǒng),時鐘系統(tǒng)由兩個LED數(shù)碼管組成,用于顯示紅綠燈的時間。時鐘系統(tǒng)以倒計時方式顯示,即每盞燈亮?xí)r,時鐘為點亮的最大時間,此后每1秒數(shù)據(jù)減少1,數(shù)據(jù)減少到0時,指示燈進行轉(zhuǎn)換。階段1:東西方向干道通車時,綠燈常亮。南北方向次干道禁止通行,紅燈常亮;階段2:東西方向干道通車時間截至后,東西方向干道由綠燈轉(zhuǎn)為黃燈并閃爍5S,南北方向干道仍保持紅燈常亮;階段3:當(dāng)南北方向紅燈倒計時結(jié)束,即刻轉(zhuǎn)換為綠燈常亮,此時東西方向由黃燈閃爍轉(zhuǎn)為紅燈常亮;階段4:南北方向通行時間過了之后,南北方向由綠燈轉(zhuǎn)為黃燈并閃爍,東西方向仍保持紅燈常亮;階段5:當(dāng)東西紅燈倒計時結(jié)束,即刻轉(zhuǎn)為綠燈常亮,此時南北方向由黃燈閃爍轉(zhuǎn)為紅燈常亮,此時回到階段1。階段6:改變紅綠燈倒計時的因素:車流量和特殊狀況;1.車流量檢測:設(shè)置東西方向綠燈通行時間為20s時,南北紅燈禁止通行時間為25s時,我們用紅外檢測模塊來模擬十字路口車流狀況。當(dāng)紅燈禁止通行時,有車輛通過斑馬線時,交通燈控制系統(tǒng)默認(rèn)為闖紅燈不計數(shù),此時蜂鳴器發(fā)出鳴叫;當(dāng)綠燈長亮?xí)r,車輛正常通行,紅外檢測模塊自動對車輛進行計數(shù),并把計數(shù)信息傳遞給單片機處理。此時由車流量改變紅綠燈倒計時的因素又分兩種情況:(1)在同一個計數(shù)周期內(nèi),通車數(shù)量小于前一次通行時間的一半時,下一個周期回來保持紅綠燈通行時間減5s,直到綠燈通行時間到達15s時,停止遞減,維持現(xiàn)狀。(2)在同一個計數(shù)周期內(nèi),通車數(shù)量大于或等于前一次通行時間的一半時,下一個周期回來綠燈通行時間會+5秒,紅燈禁止通行時間,也會在原來默認(rèn)情況下+5秒,直到綠燈通行時間到達60s,南北干道通行時間達到為75s。2.特殊通行:(1)工作人員按下緊急模式按鈕,時鐘系統(tǒng)暫停運行,東西方向、南北方向干道都亮紅燈,各個干道禁止通行,直至退出緊急模式。(2)東西干道通行模式,東西方向干道綠燈亮,南北方向禁止通行。南北干道通行模式,南北方向干道綠燈亮,東西方向禁止通行。(3)夜間通行,各個干道黃燈閃爍。

2系統(tǒng)設(shè)計及要求2.1單片機概述2.1.1單片機的發(fā)展單片機是采納超大規(guī)模技術(shù),將微處理器CPU、存儲器、輸入/輸出口及其他部件電路集成在一塊芯片上的微型計算機。在單片機開發(fā)系統(tǒng)等軟件的指令控制下,這些硬件電路能夠準(zhǔn)確、快速、高效地實現(xiàn)預(yù)先制定的工作。單片機是一種微型計算計,與計算機以樣都需要在軟件系統(tǒng)、硬件電路等共同發(fā)揮作用下才能正常使用,它能通過對程序的控制設(shè)計來完成相關(guān)的功用。單片機的發(fā)展經(jīng)歷了單片機微型計算機階段、單片機微控制器階段、嵌入式系統(tǒng)與單片機應(yīng)用系統(tǒng)階段的三個階段。單片機的應(yīng)用也日益普遍,在儀器儀表、家用電器、醫(yī)療設(shè)施、航空航天、特種設(shè)備等領(lǐng)域的智能化管理和過程控制方面,都有不可或缺的作用。隨著應(yīng)用市場對單片機的要求越來越高,現(xiàn)在它正在以微型單片化,低功耗化,更高效、更復(fù)雜的性能發(fā)展。2.1.2主控制器選擇主控制器采用SCT89C51單片機,它有3個16位定時器/計數(shù)器,即定時器T0、T1、T2。T0、T1外部脈沖計數(shù)實時操作,所以可以很容易的車流量檢測信號輸入。8個中斷源,促進交通流定時器中斷檢測。32個通用I/O口,復(fù)位后為:P1、P2、P3、P4是準(zhǔn)雙向口/弱上拉,P0口是漏極開路輸出,作為I/O口用時,需要加上拉電阻。STC89C51單片機掉電典型功耗<0.1μA,可由外部中斷喚醒,中斷返回后,繼續(xù)執(zhí)行原程序。圖2.1單片機STC89C551引腳圖如圖2.1所示,STC89C51引腳功能說明:VCC(40引腳):電源電壓VSS(20引腳):接地P0端口(P0.0~P0.7):P0口是一個漏極開路的8位雙向I/O口。作為輸出端口,每個引腳能驅(qū)動8個TTL負載。對端口P0寫入“1”時,可以作為高阻抗輸入。在訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。訪問外部程序和數(shù)據(jù)存儲器時,P0口也可以提供低8位地址和8位數(shù)據(jù)的復(fù)用總線。此時,P0口內(nèi)部上拉電阻有效。P1端口~P3端口都有相同的功能引腳。都是一個帶有內(nèi)部上拉電阻的8位雙向I/O端口。作為輸出緩沖器可以驅(qū)動4個TTL輸入。當(dāng)一個端口被寫入1時,該端口被內(nèi)部上拉電阻拉到一個高電位,可以用作輸入端口。當(dāng)它作為輸入口時,那些被外部信號拉低的引腳會由于內(nèi)部上拉電阻而輸入一個電流。P3口除作為一般I/O口外,還有其他一些復(fù)用功能,如下表所示:表2P3口引腳復(fù)用功能引腳號復(fù)用功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2(外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0的外部輸入)P3.5T1(定時器1的外部輸入)P3.6外部數(shù)據(jù)存儲器寫選通P3.7外部數(shù)據(jù)存儲器讀選通RST(9腳):復(fù)位輸入。當(dāng)連續(xù)使用兩個機器周期以上的高電平時,對單片機進行單片機的復(fù)位和初始化操作。ALE/PROG(30腳):地址鎖存器在訪問外部程序存儲器時,通過輸入電平信號的高低,鎖存低8(29引腳):允許程序存儲的信號端,作為外部程序存儲器選通信號。EA/VPP(31引腳):訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器讀取指令,必須接GND。注意加密方式1時,將內(nèi)部鎖定位RESET。為了執(zhí)行內(nèi)部程序指令,應(yīng)該接VCC。XTAL2(18引腳):振蕩電路的反相放大器,要使振蕩電路的周期和晶體固有的周期效用保持一致,必須使外部晶體和微調(diào)電容接到振蕩引腳和時鐘引腳。XTAL1(19引腳):這里的18引腳和19引腳一起,再加上外部時鐘和外部晶體以及微調(diào)電容元件,共同構(gòu)成反相振蕩電路放大器的輸入端。2.2芯片74HC245簡介74HC2455譯碼器是雙Р溝道增強型MOS管。如圖2.2所示,該芯片是一種三態(tài)輸出、八路信號收發(fā)器,它采用CMOS工藝,適用于顯示屏以及其他數(shù)字電路的驅(qū)動。它在智能交通燈控制系統(tǒng)中主要用于完成數(shù)據(jù)總線的雙向異步通信,保護脆弱的主控芯片,通常在主控芯片的并行接口與外部受控設(shè)備的作為雙向的八路緩沖器。由于單片機的數(shù)據(jù)地址/控制總線端口都有一定的負載能力,如果負載能力超過的負載承受性能,應(yīng)該增加驅(qū)動芯片,增大其驅(qū)動能力。74HC245芯片的管腳定義:A0~A7引腳數(shù)據(jù)輸入/輸出;B0~B7引腳數(shù)據(jù)輸入/輸出;OE引腳輸出使能;DIR引腳方向控制;GND引腳邏輯地;VDD引腳邏輯電源。圖2.2驅(qū)動芯片74HC2452.3電源電路通常單片機的供電電壓為直流5V,本文設(shè)計采取的是USB轉(zhuǎn)DIP轉(zhuǎn)接板對單片機進行供電。如圖2.3所示,POWER模塊是DC電源接口,2、3引腳必須接地GND,1引腳實際是接電源VCC。自鎖開關(guān)S1在供電電路中的功能是對電源VCC起到開關(guān)作用,3引腳起到常開功能,與POWER模塊的1引腳相連,常開的4號引腳連接直流電源VCC。圖2.3DC電源插口2.4紅外檢測方案2.4.1光電傳感器的原理光電傳感器又叫光電開關(guān),它利用光的吸收或反射測試,通過同步對象沒有循環(huán)檢測。對象不限于金屬,一切能夠反射光線的物體都可以被檢測到。光電傳感器的輸入電流通過發(fā)射端轉(zhuǎn)換成光信號,接收端根據(jù)接收到的光信號強度來判斷否檢測到車輛,并轉(zhuǎn)換成電信號進行車流量統(tǒng)計。如圖2.4所示光電傳感器的計數(shù)原理圖。信號產(chǎn)生:由發(fā)射器中的發(fā)光二級管將電信號轉(zhuǎn)化成穩(wěn)定光信號。信號采集:由接受器中發(fā)光二極管的PN節(jié)處通過管殼的圓形玻璃窗口能夠接受外部光源從而將光信號轉(zhuǎn)變成電信號。信號處理:電信號通過放大器放大和調(diào)制器整形處理,進行時鐘邏輯轉(zhuǎn)換成數(shù)字信號傳遞給負載。數(shù)字顯示:將數(shù)字信號傳遞給單片機判斷處理,在通過數(shù)碼管將電信號轉(zhuǎn)變成可讀的數(shù)字。圖2.4光電傳感器的計數(shù)原理2.4.2光電傳感器的選擇普通的光電開關(guān)在市面上種類繁多,而且價格便宜,基于本設(shè)計對于光電傳感器的要求較高,要求光電傳感器在抗干擾性強,不受惡劣氣象條件或物體顏色的影響,并且使用壽命長,安裝簡便。在參考市面上各種光電計數(shù)器的性能指標(biāo)以及相對經(jīng)濟性的情況下,本文選用紅外光電傳感器E18-D50NK這是一種集發(fā)射與接收于一體的光電傳感器,檢測距離可以根據(jù)要求進行調(diào)節(jié)。選用紅外光電傳感器E18-D50NK的檢測最大距離是80厘米,可以安裝在十字路口車輛停止線出,可以根據(jù)檢測距離調(diào)控或者更換檢測距離更遠的傳感器。如紅外感應(yīng)光電開關(guān)E3F-DS200C1,它的檢測最大距離200厘米,這讓檢測距離更加長。它的內(nèi)部原理圖如下圖2.5所示,是由發(fā)光二極管、整流穩(wěn)壓器、電源、放大器、解調(diào)器、時鐘邏輯、負載共同組成。當(dāng)傳感器檢測到物體時輸出低電平狀態(tài),沒有檢測到物體時輸出高電平狀態(tài)。圖2.5紅外光電傳感器E18-D50NK傳感器內(nèi)部原理圖2.4.3流量檢測的設(shè)置設(shè)置紅外光電傳感器只對綠燈通行車輛計數(shù),當(dāng)檢測到有車輛闖紅燈時,蜂鳴器發(fā)出鳴叫,但傳感器不對其闖紅燈車輛計數(shù)。紅外檢測模塊對一個計數(shù)周期內(nèi)進行計數(shù),下一個周期自動清零。如圖2.6所示。(1)在同一個計數(shù)周期內(nèi),通車數(shù)量小于前一次通行時間的一半時,下一個周期回來保持紅綠燈通行時間減5s,直到綠燈通行時間到達15s時,停止遞減,維持現(xiàn)狀。(2)在同一個計數(shù)周期內(nèi),通車數(shù)量大于或等于前一次通行時間的一半時,下一個周期回來綠燈通行時間會+5秒,紅燈禁止通行時間,也會在原來默認(rèn)情況下+5秒,直到綠燈通行時間到達60s,南北干道通行時間達到為75s。圖2.6流量檢測的設(shè)置2.5信號燈顯示方案信號燈顯示方案要求實現(xiàn)數(shù)碼管倒計時、狀態(tài)燈變換等功能。顯示模塊分兩個部分,數(shù)碼管顯示和LED燈顯示。數(shù)碼管倒計時提醒司機在路口注意信號燈變化的時間,提醒駕駛員燈色發(fā)生改變的時間,在“禁止”與“通行”作出合適的選擇。LED燈顯示是利用紅、黃、綠不同顏色的燈來實現(xiàn)信號燈的變化。司機和行人通常希望選擇帶有倒計時顯示的信號燈控制,他們認(rèn)為有紅綠燈的十字路口更安全。倒計時顯示是一種在信號燈顏色變化的關(guān)鍵時刻減少駕駛員復(fù)雜判斷的方法。這兩個顯示器結(jié)合在一起,使設(shè)計更加合理和可靠。2.5.1數(shù)碼管顯示數(shù)碼管是一種半導(dǎo)體發(fā)光器件,是由多個發(fā)光二極管組成。發(fā)光二極管簡稱LED是一種常見的發(fā)光器件。它由一個PN結(jié)組成,具有單向?qū)щ娦?,它通過將電子與空穴結(jié)合釋放能量來發(fā)光,通常用來表示機器的狀態(tài)和其他信息。LED是工作電壓低的元件,導(dǎo)電時的一般約為1.6V-2.4V即能導(dǎo)通發(fā)光,反相擊穿電壓大于5V。因為LED的正向伏安特性曲線較陡,工作電流小,典型值為10mA左右,在電路的應(yīng)用中必須串聯(lián)適當(dāng)?shù)南蘖麟娮杵鳎员苊怆娏鬟^大發(fā)熱而燒壞管子。如圖2.7所示,數(shù)碼管是由能顯示多少位數(shù)字而命名,可分為1位、2位、4位等數(shù)碼管;數(shù)碼管按其發(fā)光二極管的連接方式分為共陰極數(shù)碼管和共陽極數(shù)碼管。共陽極數(shù)碼管是指將所有發(fā)光二極管的陽極接到一起形成公共陽極(COM)的數(shù)碼管,共陽極數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到+5V,當(dāng)某一字段發(fā)光二極管的陰極為低電平時,相應(yīng)字段就點亮,當(dāng)某一字段的陰極為高電平時,相應(yīng)字段就不亮。如圖2.8所示,共陰極數(shù)碼管是指將所有發(fā)光二極管的陰極接到一起形成公共陰極(COM)的數(shù)碼管,共陰極數(shù)碼管在應(yīng)用時應(yīng)將公共極COM接到地線GND上,當(dāng)某一字段發(fā)光二極管的陽極為高電平時,相應(yīng)字段就點亮,當(dāng)某一字段的陽極為低電平時,相應(yīng)字段就不亮。由于數(shù)碼管的價錢便宜,使用簡單在電器領(lǐng)域應(yīng)用極為普遍。圖2.7數(shù)碼管顯示圖2.8共陰極數(shù)碼管結(jié)構(gòu)圖2.4.2信號燈顯示在十字路路口中的交通信號燈,是采用LED為光源做成的信號燈。由于采用LED燈作為光源,較之傳統(tǒng)光源具壽命長,功耗低,發(fā)光效率高,可以有少量的損壞而不影響總體效果,色澤純正方便在一個現(xiàn)實面上實現(xiàn)幾種顏色和圖形。LED燈壽命可以長達10萬小時以上,由于它的驅(qū)動電壓小,方便編程,消耗功率小于10W

,可以大幅降低信號燈的維護成本。如圖2.9所示,信號燈由3個發(fā)紅、黃、綠光LED燈組成。圖2.9信號燈顯示2.6蜂鳴器選擇蜂鳴器為發(fā)聲元件,在其兩端施加直流電壓或者方波電壓就可以發(fā)聲,其主要參數(shù)是外形尺寸、發(fā)聲方向、工作電壓、工作頻率、工作電流、驅(qū)動方式等。它是一種采用直流電壓電源作為一體化結(jié)構(gòu)的電子訊響器,廣泛應(yīng)用于計算機、報警器、電子玩具、汽車電子設(shè)備、電話機、定時器等電子產(chǎn)品中作發(fā)聲器件。蜂鳴器主要分為壓電式蜂鳴器和電磁式蜂鳴器兩種類型。這些都可以根據(jù)需要來選擇。本設(shè)計采用兩端施加直流電壓的有源蜂鳴器,通過紅外光電傳感器檢測到的信號判斷否有車輛闖紅燈,如果有車輛闖紅燈蜂鳴器鳴叫報警。2.7單元電路設(shè)計根據(jù)系統(tǒng)設(shè)計方案要求,連接各單元電路,得到系統(tǒng)電路原理圖附件1。(1)系統(tǒng)描述:東西方向的紅外光電傳感器檢測將車輛脈沖信號分別傳入到單片機T1和WR的入口,T1和WR是輸入脈沖計數(shù),而單片機T0口的時機,在設(shè)定的時間內(nèi),通過單片機計時器T0溢出中斷,將發(fā)回的統(tǒng)計值,單片機通過執(zhí)行相應(yīng)的項目,因此控制交通狀態(tài)燈開關(guān)和數(shù)碼管倒計時時間顯示。單片機根據(jù)交通流量的變化在特定工作條件如下:當(dāng)接通電源,單片機控制系統(tǒng)剛開始工作,將同時執(zhí)行東西方向干道綠燈長亮20s和南北方向干道倒計時紅燈長亮25s,然后東西方向由綠燈變?yōu)辄S燈閃爍保持5s,南北方向保持紅燈5秒。此后東西方向變?yōu)榧t燈長亮30s,南北方向為綠燈長亮25s后,南北方向保持黃燈5s,東西方向紅燈狀態(tài)5s后,再掃描。車流量相關(guān)的參數(shù)描述:車流量是指在某一時間內(nèi)通過特定道路地點的車輛數(shù)量,車流量用公式表示:車流量=通過車輛數(shù)/時間。它是一個隨機數(shù)的流量,在同一時間段、相同的地方檢測到的數(shù)據(jù)也有差別。參考時間:選擇合適的時間作為參考值,以更準(zhǔn)確地表示十字路口的交通流量。

3系統(tǒng)硬件電路設(shè)計3.1系統(tǒng)設(shè)計實現(xiàn)本設(shè)計所需的特定功能,選用SCT89C51單片機及外圍設(shè)備構(gòu)成單片機最小系統(tǒng),用發(fā)出紅、綠、黃光的發(fā)光二極管構(gòu)成4組信號燈指示模塊,8個LED數(shù)碼管東西南北各兩個構(gòu)成倒計時顯示模塊,若干按鍵組成模式選擇按鈕和緊急按鈕等。如圖3.1所示,該系統(tǒng)以單片機為中心,形成集處理和自動控制為一體的閉環(huán)控制系統(tǒng)。該系統(tǒng)的硬件電路由單片機、狀態(tài)燈、LED顯示器、驅(qū)動顯示電路、按鍵控制電路等組成。其中P0,P1,用于連接LED數(shù)碼管的型和位,P2用于控制紅綠黃發(fā)光二極管,XTAL1和XTAL2接入晶振時鐘電路,RST引腳接上復(fù)位電路,P3用于按鍵控制電路。圖3.1系統(tǒng)的硬件總體框圖3.2單片機最小系統(tǒng)如圖3.2所示,SCT89C51共有4個8位的并行I/O口,分別記作P0、P1、P2、P3。4個I/O口都是8位雙向口,其結(jié)構(gòu)和特征基本相同,但又各具特點。單片機的時鐘信號通常由內(nèi)部時鐘模式和外部時鐘模式產(chǎn)生。振蕩電路設(shè)置在單片機內(nèi),只有單片機的XTAL1、XTAL2針腳上的外部晶體(簡稱晶體振蕩器)才能形成自激發(fā)振蕩器,并能在單片機內(nèi)產(chǎn)生時鐘脈沖信號。復(fù)位電路通常采用自動復(fù)位和按鈕復(fù)位兩種方式。最簡單的自動復(fù)位電路是對外部復(fù)位電路中的電容進行充電來實現(xiàn)自動復(fù)位。晶體振蕩器為單片機提供工作信號脈沖,這個脈沖信號單片機的工作速度。如12M晶體振蕩器單片機的工作速度為每秒12M,單片機的工作頻率不能大于每秒24M穩(wěn)定值。圖中晶振振蕩器Y1的振蕩頻率取12MHz,電容C2的作用是穩(wěn)定頻率,電容C3的作用快速起振,這里取值都為22pF。圖3.2單片機最小系統(tǒng)3.3上拉電阻從電源到設(shè)備引腳上的電阻稱為上拉電阻,作用使引腳平方平時為為高電平狀態(tài)。上拉電阻就是通過一個電阻將不確定的信號鉗位在高電平,同時起到限流作用。在交通燈控制系統(tǒng)中單片機SCT89C51接入上拉電阻RP1阻值10KΩ和RP2阻值為1KΩ,如圖3.3所示。在實物制作中用阻值為10KΩ的排阻103代表上拉電阻RP1,用阻值為1KΩ的排阻102代表上拉電阻RP2。當(dāng)端口P0作為I/O口輸出時,輸出低電平為0

,輸出高電平為并非5V的高組態(tài)。由于單片機P0端口內(nèi)部沒有上拉電阻,是開漏的,不能真正的輸出高電平,給所接的數(shù)碼管顯示提供電流。無論它的驅(qū)動能力多大,相當(dāng)于它是沒有電源的,無法給負載提供所需的電流,因此外部電路要對P0端口提供需要電源。P0端口連接上拉電阻,電阻的一端連接到直流電源VCC,電源通過上拉電阻器向負載提供電流。

在大多數(shù)情況下,P0端口都需要加上拉電阻的。附件1所示,上拉電阻RP1通過引腳與驅(qū)動芯片74HC245相連接圖,對單片機提供一個驅(qū)動電流,比如單片機P0.0輸入一個高電平,驅(qū)動芯片74HC245的A0端口輸入一個高電平,與之對應(yīng)的輸出端口A輸出一個高電平。單片機的驅(qū)動電流本身是很小的,它驅(qū)動數(shù)碼管亮度是很暗的,加一個驅(qū)動芯片使電流可以達到幾十毫安,給數(shù)碼管電路提供更大的電流,使之變亮。

P2端口需要接一個上拉電阻RP2,電阻的一端連接直流電源VCC,是由于單片機驅(qū)動電流很小,沒達到驅(qū)動信號燈亮的最小電流,上拉電阻RP2的作用是對直流電源VCC起到限流作用,增大了單片機對信號燈的驅(qū)動電流,使信號燈發(fā)光。圖3.3上拉電阻3.4電源電路模塊如圖2.4所示,電源電路由DC電源插口和自鎖開關(guān)組成,本系統(tǒng)采取的是用USB轉(zhuǎn)DIP轉(zhuǎn)接板直接對單片機進行供電。圖3.4電源電路3.6顯示驅(qū)動電路3.6.1信號顯示驅(qū)動電路74HC245譯碼器接受3位二進制加權(quán)地址輸入(A0,A1和A2),并當(dāng)使能時,提供8個互斥的低有效輸出(Y0至Y7)。74HC245兩個低電平有效使能輸入端(E1和E2)和一個高電平有效使能輸入端(E3)。當(dāng)E1和E2設(shè)置為低電平有效并且E3設(shè)置為高電平有效,則74HC245輸出為低電平有效,否則它的所有輸出端將輸出為高電平有效。使用此復(fù)合使能功能特性,需要4片74HC245芯片和1個反相器,可以很容易地實現(xiàn)并行擴展,可以組合成為1-32(5-32線)的解碼器。任意使用低電平有效使能輸入端作為共同的信號數(shù)據(jù)輸入,把其余未共同作為信號數(shù)據(jù)輸入使用的端口作為選通端,則74HC245亦可同時擔(dān)任一個8路輸出的數(shù)據(jù)分配器,未共同使用的使能輸入端必須始終保持固定在各自合適的高電平有效或低電平有效使能狀態(tài)。74HC245解碼器專為高性能的存儲器解碼或在數(shù)據(jù)從一個地方傳輸?shù)搅硪粋€地方的傳輸系統(tǒng)中有較短的時間延遲,在高性能的存儲器過程中,用這種解碼器很容易的提升整個解碼系統(tǒng)的效率。將高速性能的存儲解碼用在快速賦能電路中時,解碼器數(shù)據(jù)傳輸系統(tǒng)的數(shù)據(jù)延遲時間和存儲器的電路賦能時間一般要比存儲器的一次數(shù)據(jù)存取所用的平均時間小,當(dāng)肖特基鉗位的系統(tǒng)解碼器提高了晶體管的開關(guān)速度,由它引起的有效數(shù)據(jù)傳輸系統(tǒng)的延遲時間很小可以忽略不計。HC138解碼器根據(jù)三位二進制輸入碼和電路賦能輸入條件,從八個賦能輸出端轉(zhuǎn)換一個低電平輸出。三個賦能輸入端中有兩個低電平有效和一個高電平有效,減少了線路擴展時所需要的外部柵極或逆變器,擴展至24線路形成24線路解碼器不需外部柵極;擴展至32線路形成32線路解碼器,這里通常外部需要接一個逆變器。在調(diào)制解碼器的實際應(yīng)用中,賦能輸入端也可被拿來用作數(shù)據(jù)傳輸輸入端。如圖3.5所示,在本設(shè)計中,將74HC245芯片的引腳1、20接直流電源VCC并一起接單片機引腳40,引腳19、10接地。芯片引腳A0~A7接單片機P0.0~P0.7,芯片引腳B0~B7接數(shù)碼管引腳A~G。如果整個芯片的輸入端為高電平,則輸出端為高電平;當(dāng)輸入端輸入低電平時,輸出端輸出低電平,這里只是相當(dāng)于增大了單片機的驅(qū)動能力。圖3.5芯片74HC245電路圖3.6.2數(shù)字顯示電路數(shù)碼管顯示,要求十字路口同一干道方向上的信號燈顯示的時間一樣。用SCT89C51單片機的P0.0~P0.7口驅(qū)動數(shù)碼管的段碼,用上拉電阻RP1為數(shù)碼管顯示提供驅(qū)動電流并給單片機提供高電平,74HC25解碼器對增大單片機P0端口的驅(qū)動能力,如圖附件1所示。如圖3.6所示,用單片機P1.0、P1.1口連接來控制東西方向數(shù)碼管LEDD的顯示,P1.2、P1.3口來控制南北方向數(shù)碼管LEDB的顯示。信號燈顯示驅(qū)動電路采用單片機的P0口和P2來驅(qū)動和控制數(shù)碼管的時間與各種信號燈的燃亮。在這里本文用上拉電阻RP2來給信號燈提供驅(qū)動電流,單片機P2.1~P2.3端口控制東西方向信號燈的燃滅,P2.4~P2.6端口控制南北方向信號燈的燃滅。東西方向和南北方向的位線可以公共來使用,可以節(jié)約單片機的口線。圖3.6信號顯示電路圖3.6蜂鳴器驅(qū)動電路模塊如圖3.7所示,蜂鳴器驅(qū)動電路包含3個部分:三極管、蜂鳴器、限流電阻。單片機P3.0端口驅(qū)動蜂鳴器是否報警。三極管Q1起放大電流作用,使基極的低電平使三極管飽和導(dǎo)通,使蜂鳴器報警;而基極高電平則使三極管不導(dǎo)通,蜂鳴器不報警。蜂鳴器驅(qū)動電路中加一個限流電阻構(gòu)成偏置電路。當(dāng)通過預(yù)先向集電極提供恒定電流來減小輸入基極電流時,可以減小集電極電流。當(dāng)輸入基極電流增加時,集電極電流增加。因此,減少的信號和增加的信號都可以被放大。圖3.7蜂鳴器驅(qū)動電路3.7鍵盤輸入電路模塊單片機控制系統(tǒng)中分為兩種功能鍵,分別是獨立式結(jié)構(gòu)按鍵盤和矩陣式結(jié)構(gòu)鍵盤。在單片機按鍵控制設(shè)計中每個獨立鍵盤一端單獨占用一根I/O端口線,這就表示每個獨立鍵盤單獨工作互不影響,它的另一端通常接地GND或接電源VCC,這種接法順序比其他接法更加簡單并且增加了按鍵控制系統(tǒng)穩(wěn)定性;矩陣鍵盤接法順序相對來說較復(fù)雜,但是它占用的單片機I/O線較少,提高了I/O口的利用率。按照本設(shè)計控制系統(tǒng)的需求,在系統(tǒng)中采用獨立式鍵盤接線方法。獨立式鍵盤的功能實現(xiàn),是使用單片機的I/O口來讀取電平高低來判別按鍵是否有動作。獨立式鍵盤是常開按鍵,它的一端可以公共接地,另一端連接單片機的I/O端口,程序設(shè)計中將啟動此I/O口設(shè)置為高電平,平常按鍵無動作時此單片機I/O口保持高電平。當(dāng)按鍵動作時,此I/O口接地發(fā)生短路,使它轉(zhuǎn)變?yōu)榈碗娖?。按鍵釋放后,I/O口與地發(fā)生分離,利用單片機內(nèi)部的上拉電阻,使此I/O口保持在高電平。我們所要做的就是在程序中查尋此I/O口的電平狀態(tài),就能是判斷按鍵是否有動作了。如圖3.8所示,K0按鍵是夜間模式與單片機引腳P15相連;K1按鍵是緊急模式與單片機引腳P11相連;K2按鍵是東西干道通行模式與單片機引腳P12相連;K3按鍵是南北干道通行模式與單片機引腳P13相連;K4按鍵是查看時間車流量與單片機引腳P14相連;K7按鍵是確認(rèn)鍵與單片機引腳P17相連。圖3.8鍵盤控制原理圖3.8紅外檢測模塊紅外檢測模塊是采用2個XH-3P直針座接線端子構(gòu)成,直針座采用直流5V供電與單片機DX、NB引腳相連接。在實設(shè)計中采用紅外光電傳感器E18-D50NK用于檢測計數(shù),與接線端子連接構(gòu)成紅外檢測器,用這種方式可以方便的更換光電開關(guān)。當(dāng)車輛通過紅外光電傳感器時,接收器檢測到光信號強弱的變化,并轉(zhuǎn)換成電信號發(fā)送到單片機中。單片機執(zhí)行相應(yīng)程序自動計算輸入的電信號,完成車流量統(tǒng)計。在仿真模型設(shè)計中采用按鍵代替紅外檢測模塊,對車輛檢測的模擬。圖3.9紅外接近傳感器4系統(tǒng)軟件程序的設(shè)計4.1編程語言環(huán)境控制系統(tǒng)的正常運作,不僅需要設(shè)備系統(tǒng)的支持,還需要軟件支持。由于軟件系統(tǒng)的可行性和靈活性,該系統(tǒng)的功能變化可以在不修改該系統(tǒng)現(xiàn)有設(shè)備的情況下進行。為了達到軟件系統(tǒng)的運用效率,有必要選擇操作效率高的編程語言。編譯環(huán)境就是集成開發(fā)環(huán)境,是一系列用于提供軟件開發(fā)環(huán)境的開發(fā)工具,通常包括:代碼編輯器、編譯器、調(diào)試器、圖形用戶界面等工具。4.1.1編程語言的選擇紅外檢測車流量的智能交通燈控制系統(tǒng)的程序設(shè)計采用C語言編程,C語言是一種面向過程的語言,它在用戶創(chuàng)建或運行的過程中執(zhí)行自己的功能。而匯編語言是一種面向機器的編程語言,它的一條指令與一條機械語言直接對應(yīng)。C語言與匯編語言編程的選用,在給硬件設(shè)施做初始化時應(yīng)選擇用匯編語言編程,在給硬件設(shè)施做復(fù)雜操作時應(yīng)選擇用C語言。面向過程的語言遵循執(zhí)行你語言的算法,所以很容易學(xué)習(xí)。在C語言中使用關(guān)鍵詞來表達意思并在日常生活中做出一些決定,所以它的語法是很容易理解。C語言的優(yōu)點:(1)C語言編程具備很高的運行工作率。(2)C語言在編程實際應(yīng)用上的語句使用具有簡潔、緊湊、對語法應(yīng)用有靈活的機制,可以直接對此硬件設(shè)備進行訪問。(3)用C語言編程的程序具有極佳的可移植性,可以在不同的軟件平臺和硬件設(shè)備上使用。4.1.2系統(tǒng)語言開發(fā)環(huán)境隨著單片機使用的增多,相關(guān)技術(shù)的日益成熟,單片機軟件也在日益優(yōu)化,版本不斷的更新。本設(shè)計中使用的KeiluVision5是一款流行軟件,主要用于對51系列單片機的開發(fā),它的集成開發(fā)環(huán)境可以對ARM單片機進行使用。它的集成開發(fā)環(huán)境主要包含C語言編譯器、宏匯編器、調(diào)試器、實時內(nèi)核等組件。通過一個集成開發(fā)環(huán)境,我們的軟件可以編譯C語言源代碼、編譯匯編語言源代碼。鏈接模塊對象模塊和庫產(chǎn)生一個對象文件,生成十六進制文件進行程序調(diào)試。4.2程序主體設(shè)計全部控制程序?qū)嶋H上分為若干模塊:鍵盤設(shè)置處理程序,狀態(tài)燈控制程序,LED顯示程序,消抖動延時程序,次狀態(tài)判斷及處理程序,緊?;蜻`規(guī)判斷程序,中斷服務(wù)子程序,車流量計數(shù)程序,紅綠燈時間調(diào)整程序等。整個軟件程序方面主要分兩大部分:按鍵處理程序和50ms掃描程序。流程圖如圖4.1所示。圖4.1系統(tǒng)總的流程圖4.3子程序設(shè)計4.3.1鍵盤掃描程序設(shè)計程序要對按鍵控制完成相關(guān)功能,它是調(diào)用中斷程序來實現(xiàn)控制功能。獨立式鍵盤的功能實現(xiàn),是使用單片機的I/O口來讀取電平高低來判別按鍵是否有動作。按鍵程序設(shè)計中將啟動單片機此I/O口設(shè)置為高電平,按鍵動作時此I/O口接地,變?yōu)榈碗娖?。按鍵釋放后,I/O口與地發(fā)生分離,變?yōu)楦唠娖健R袛喟存I的動作,就要在循環(huán)程序中查尋此I/O口的電平狀態(tài)。圖4.2中斷子程序流程圖4.3.2中斷程序本程序的核心是定時中斷子程序,定時器被調(diào)用,它會在原始值上以加1計數(shù),如果在程序啟動運行時,沒有對TH0和ITL0進行設(shè)置賦值,則TH0和TL0的默認(rèn)值均為0。本文晶振振蕩器Y1的振蕩頻率取12MHz,所以它的時鐘工作頻率為12MHz,一個機器周期有12個時鐘。此時的一個機器周期時間為1us,要使TH0和TL0計滿,它中共需要216-1個數(shù),然后一個脈沖計數(shù)器溢出,并立即向應(yīng)用處理器請求中斷。因此一個脈沖計數(shù)器的溢出一次共需的時間為約為65.6ms。如果設(shè)置定時時間為50ms,就提前要給TH0和TL0進行賦值。在初始值的上記50000個數(shù)后,定時器將溢出,時間恰好是中斷的50ms。設(shè)置定時器時間為1s時,中斷程序就要產(chǎn)生中斷20次,對中斷進行計數(shù),便可以精確控制它的時間,負責(zé)更新數(shù)碼管輸出數(shù)據(jù)和各個信號燈狀態(tài)的切換狀態(tài)。相應(yīng)代碼在附件4。中斷程序的流程圖如圖4.2所示。 圖4.3定時中斷流程圖

5系統(tǒng)仿真與實物5.1軟件簡介本文硬件設(shè)計是用AltiumDesigner19畫出電路原理圖,程序設(shè)計是用KeiluVision5進行C語言編程,仿真電路圖是用Proteus7.6建立模型。5.1.1Keil5編程軟件簡介KeiluVision5編程軟件又稱Keil5,它的集成開發(fā)環(huán)境,主要是對51單片機內(nèi)核的軟件。Keil5軟件用管理工程的相似方法,來進行對文件的管理。使用Keil5軟件進行項目時,主要具有以下過程:(1)創(chuàng)建編程語言的源程序;(2)編譯源文件;(3)糾正源文件中的錯誤;(4)編譯器與目標(biāo)文件連接;(5)測試連接的應(yīng)用程序;5.2Protues仿真軟件簡介Proteus軟件是一個的EDA工具。它可以對原理圖進行布圖、對PCB設(shè)計、對程序的調(diào)試到對單片機模型仿真,它完成了從一段思維到一個完整的產(chǎn)品過程。本文采用Proteus7.6軟件,主要具有以下特點:(1)具備優(yōu)越的原理圖繪制性能;(2)實現(xiàn)了對單片機仿真和外圍電路的仿真;(3)提供對市面上通用單片機系統(tǒng)進行仿真;(4)支持對仿真的調(diào)試;5.3AltiumDesigner軟件簡介AltiumDesigner19是一體化的電子產(chǎn)品開發(fā)系統(tǒng),它主要包括以下部分:原理圖設(shè)計部分、PCB繪制部分、信號完整性分析部分等。使用可以輕松的進行原理圖設(shè)計,對電路原理圖進行設(shè)計時,提高了畫圖的質(zhì)量和效率。5.2系統(tǒng)仿真原理圖本仿真設(shè)計采用的是,Proteus7.6和Keil5軟件共同進行仿真。首先啟動用Proteus7.6畫好仿真電路圖并設(shè)置相關(guān)器件的參數(shù),用鼠標(biāo)左鍵雙擊此單片機,添加Keil5軟件編譯程序生成的HEX文件。完成后按下仿真按鈕,開始對整個系統(tǒng)進行仿真。在Proteus軟件中沒有單片機SCT89C5主控器件,在仿真時采用AT89C51代替,它們的功能引腳都是相同的,整個系統(tǒng)仿真如圖附件3所示。5.4仿真結(jié)果分析經(jīng)過對該系統(tǒng)進行仿真測試,發(fā)現(xiàn)紅綠黃燈的切換狀態(tài)不滿足實際交通控制需要。因為從綠燈通行狀態(tài)切換到紅燈禁止?fàn)顟B(tài)時,或者反向從紅燈狀態(tài)切換到綠燈狀態(tài),沒有中間黃燈閃爍的等待狀態(tài)。通常,交通信號燈控系統(tǒng)中,綠燈通行狀態(tài)切換到紅燈禁止?fàn)顟B(tài)時,需要經(jīng)過黃燈閃爍。綜上所述,再次修改程序代碼,一側(cè)的黃燈閃爍時,另一側(cè)維持紅燈狀態(tài)不變,即保持紅燈靜止5s后,再實現(xiàn)信號燈的變色,并與十字路口另一側(cè)的狀態(tài)切換時間保持一致。5.4.1智能交通信號燈正常工作啟動仿真開始,東西干道綠燈長亮20s,南北干道紅燈長亮25s。東西綠燈長亮20s后,立即切換黃燈閃爍5s,南北紅燈保持不變。東西黃燈閃爍結(jié)束后,立即切換為紅燈長亮30s,南北紅燈立即切換為綠燈25s。圖5.1東西方向干道綠燈,南北方向干道紅燈圖5.2南北方向干道綠燈,東西方向干道紅燈5.4.2智能交通信號燈特殊情況顯示1.發(fā)生緊急情況,要禁止全部車輛駛?cè)肼房跁r,工作人員則按下K1緊急模式按鍵,時鐘系統(tǒng)暫停運行,數(shù)碼管顯示的時間是按下K1鍵的那一可的倒計時。此時東西方向和南北方向干道的信號燈全部顯示為紅燈,現(xiàn)在紅外傳感器只檢測有無闖紅燈的車輛,不對闖紅燈車輛進行計數(shù),如果有闖紅燈車輛,蜂鳴器發(fā)出鳴叫,提示行人有車輛。在次按下K1鍵或K7確認(rèn)鍵,時鐘系統(tǒng)恢復(fù)運行,數(shù)碼管從頭開始倒記時。圖5.3禁止通行交通信號燈顯示2.發(fā)生緊急情況,需要一方向干道停止車輛進入路口,則工作人員按下K2東西通行按鍵或者K3南北通行按鍵。如果按下K2按鍵,東西方向干道進入綠燈長亮,南北方向禁止通行,時鐘停止工作,各個干道上的數(shù)碼管全部顯示為0?,F(xiàn)在紅外傳感器檢測南北有無闖紅燈的車輛,對東西方向干道車輛進行計數(shù),不對闖紅燈車輛進行計數(shù),如果有闖紅燈車輛,蜂鳴器發(fā)出鳴叫,提示有車輛從南北方向干道進入路口。在次K7確認(rèn)鍵,時數(shù)碼管從頭開始時。圖5.4僅東西方向干道通行交通信號燈顯示圖5.5僅南北方向干道通行交通信號燈顯示3.按下夜間模式按鈕K0鍵,東西方向與南北方向干道的信號燈全部變?yōu)辄S燈閃爍,數(shù)碼管全部顯示為0,紅外傳檢測模塊停止工作。在次K7確認(rèn)鍵,時鐘系統(tǒng)恢復(fù)運行,數(shù)碼管從頭開始倒記時。圖5.6是在夜間通行模式下的交通信號燈顯示。圖5.6夜間通行交通信號燈顯示5.4.3車流量檢測與查看當(dāng)?shù)谝淮伟聪翶4查看時間車流量按鍵,功能是查看各個方向干道上的數(shù)碼管總倒計時。查看完數(shù)碼管總倒計時,第二次按下K4查看時間車流量按鍵,數(shù)碼管顯示為一段時間內(nèi)的車流。用按鍵K5東西車流量和按鍵K6南北車流量來代替紅外檢測模塊,按鍵閉合一下,代表檢測到一輛車經(jīng)過,并在綠燈亮的一方向干道對車輛計數(shù)。圖5.7是東西方向干道上檢測到的車輛顯示圖。圖5.7東西方向干道上的車流量顯示5.4.4智能交通燈自動調(diào)節(jié)通行時間1.在同一個方向計數(shù)周期內(nèi),通車數(shù)量小于南北西方向默認(rèn)通行時間的一半(25÷2=12.5)時,下一個周期回來保持紅綠燈通行時間減5s。圖5.9是檢測到哥哥方向上車輛為0的車流量顯示圖。圖5.8是東西方向、南北方向的車流量均沒達到默認(rèn)通行時間的一半,東西方向和南北方向通行時間分別逐階段遞減5秒,直到綠燈通行時間到達15s時,停止遞減,信號燈顯示維持現(xiàn)狀。圖5.8車流量顯示圖5.9交通信號燈顯示2.在同一個方向計數(shù)周期內(nèi),通車數(shù)量大于或等于默認(rèn)通行時間的一半時,下一個周期回來綠燈通行時間會+5秒,紅燈禁止通行時間,也會在原來默認(rèn)情況下+5秒。圖5.10是東西方向上的車流量大于通行時間的一半(20÷2=10)時,下個周期東西通行時間加5s的信號燈顯示圖。圖5.10車流量顯示5.5實物焊接根據(jù)附件2的PCB板圖,采用飛線來對器件進行焊接,實現(xiàn)對實物的制作。焊接過程主要注意:1.在萬用板上對零部件的焊接完,要注意零部件引腳是否松動;2.使用數(shù)字萬用表對焊接好零部件的進行測量,查看是否出有損壞;3.燒錄程序,對實物進行測試;測試的結(jié)果與仿真模型完全一樣,證明智能交通燈實物運行良好。結(jié)論智能交通燈在交通運輸領(lǐng)域有著非常重要的作用。使用光電開關(guān)的方法在一定程度上可以節(jié)約成本,方便部署。本文的研究設(shè)計采用SCT89C51單片機作為實驗工具模擬交通燈控制系統(tǒng),可以根據(jù)實際路況自動判斷車流量情況,并將其反映到對交通燈的邏輯控制上,實現(xiàn)一定程度的智能交通控制功能。首先通過信息采集,主要是對路口各方向的車流量進行采集,利用紅外線傳感器檢測對車流量進行計數(shù)。該系統(tǒng)可完成傳統(tǒng)信號燈的控制功能,紅綠黃燈按一定的規(guī)律依次循環(huán)顯示,并采用LED顯示器,以動態(tài)掃描的方式完成倒計時功能。在此基礎(chǔ)上,通過傳感器對車流量的情況進行數(shù)據(jù)采集。將采集的數(shù)據(jù)以脈沖信號的方式傳送還給控制中心,進行與設(shè)定值比較,是否超過設(shè)定的車輛數(shù)量。根據(jù)比較的結(jié)果,將比值與紅綠燈時長的關(guān)系輸出時長控制信號,使交通信號燈可根據(jù)車流量改變,提高了十字路口的車輛通行。附件1總電路圖附件2PCB板圖附件3仿真原理圖附件4源程序#include<reg51.h> //頭文件#defineucharunsignedchar#defineuintunsignedint //宏定義ucharbuf[4]; //秒顯示的變量ucharsec_dx=20; //東西數(shù)默認(rèn)ucharsec_nb=30; //南北默認(rèn)值floatset_timedx=20; //設(shè)置東西方向的時間floatset_timenb=30; //設(shè)置南北方向的時間intn;uchardatacountt0,countt1,flag,flag1,flag2,count2,flag3,flag5;//定時器0中斷次數(shù)//定義6組開關(guān)sbitk3=P3^4; //確認(rèn)sbitk5=P3^1; //禁止sbitk6=P1^5; //夜間模式sbitk7=P3^7; //車輛檢測,模式鍵sbitk8=P3^5; //東西車輛檢測sbitk9=P3^6; //南北車輛檢測sbitBUZZ=P3^0;sbitRed_nb=P2^6; //南北紅燈標(biāo)志sbitYellow_nb=P2^5; //南北黃燈標(biāo)志sbitGreen_nb=P2^4;//南北綠燈標(biāo)志sbitRed_dx=P2^3; //東西紅燈標(biāo)志sbitYellow_dx=P2^2; //東西黃燈標(biāo)志sbitGreen_dx=P2^1; //東西綠燈標(biāo)志 bitset=0; //調(diào)時方向切換鍵標(biāo)志=1時,南北,=0時,東西bitdx_nb=0; //東西南北控制位bitshanruo=0; //閃爍標(biāo)志位bityejian=0; //夜間黃燈閃爍標(biāo)志位bitflag_k8=0,flag_k9=0;ucharcodetable[11]={ //共陰極字型碼 0x3f,//--0 0x06,//--1 0x5b,//--2 0x4f,//--3 0x66,//--4 0x6d,//--5 0x7d,//--6 0x07,//--7 0x7f,//--8 0x6f,//--9 0x00//--NULL};//函數(shù)的聲明部分voiddelay(intms); //延時子程序voidkey(); //按鍵掃描子程序voidkey_to1(); //鍵處理子程序voidkey_to2();voidkey_to3();voiddisplay(); //顯示子程序voidlogo(); //開機LOGOvoidBuzzer();//主程序voidmain(){ TMOD=0X11; //定時器設(shè)置 TH1=0X3C; TL1=0XB0; TH0=0X3C; //定時器0置初值0.05S TL0=0XB0; EA=1; //開總中斷 ET0=1; //定時器0中斷開啟 ET1=1; //定時器1中斷開啟 TR0=1; //啟動定時0 TR1=1; //關(guān)閉定時1 EX0=1; //開外部中斷0 EX1=1; //開外部中斷1logo(); //開機初始化 P2=0Xc3; //開始默認(rèn)狀態(tài),東西綠燈,南北紅燈sec_nb=sec_dx+5; //默認(rèn)南北通行時間比東西多5秒 while(1) //主循環(huán) { key(); //調(diào)用按鍵掃描程序 display(); //調(diào)用顯示程序 } }//函數(shù)的定義部分voidkey(void) //按鍵掃描子程序{ if(k3!=1) //當(dāng)K3(確認(rèn))鍵按下時 { display(); //調(diào)用顯示,用于延時消抖 if(k3!=1) //如果確ò聰? { flag=0; TR0=1; //啟動定時器0 flag3=0; TR1=1; sec_nb=set_timenb; //從中斷回復(fù),仍顯示設(shè)置過的數(shù)值 sec_dx=set_timedx; //顯示設(shè)置過的時間 //關(guān)定時器1 if(set==0) //時間倒時到0時 { P2=0X00; //滅顯示 Green_dx=1; //東西綠燈亮 Red_nb=1; //南北紅燈亮 sec_nb=sec_dx+5; //回到初值 } else { P2=0x00; //南北綠燈,東西紅燈 Green_nb=1; Red_dx=1; sec_dx=sec_nb+5; } } } if(k5!=1) //當(dāng)K5(禁止)鍵按下時 { display(); //調(diào)用顯示,用于延時消抖 if(k5!=1) //如果確定按下 { flag3=0; flag5=1-flag5; if(flag5==1) { TR0=0; //關(guān)定時器 P2=0x00; //滅顯示 Red_dx=1; Red_nb=1; } //全部置紅燈 if(flag5==0){ TR0=1; P2=0X00; //滅顯示 Green_dx=1; //東西綠燈亮 Red_nb=1; //南北紅燈亮 sec_dx=set_timedx; sec_nb=sec_dx+5;} //回到初值 do { display(); //調(diào)用顯示,用于延時 } while(k5!=1); //等待按鍵釋放 } } if(k6!=1) //當(dāng)K6(夜間模式)按下 { display(); //調(diào)用顯示,用于延時消抖 if(k6!=1) //如果確定按下 { TR0=0; //關(guān)定時器 P2=0x00; flag3=1; sec_dx=00; //四個方向的時間都為00 sec_nb=00; do { display(); //調(diào)用顯示,用于延時 } while(k6!=1); //等待按鍵釋放 } } if(k7!=1) //當(dāng)K6(夜間模式)按下 { display(); //調(diào)用顯示,用于延時消抖 if(k7!=1) //如果確定按下 { flag++; if(flag>=3) flag=1; //模式超出范圍重置 if(flag==1) { TR0=0;TR1=1; sec_dx=set_timedx; sec_nb=set_timenb; //顯示設(shè)置的初始通行時間 do { display(); //調(diào)用顯示,用于延時 } while(k7!=1); } if(flag==2) { TR0=0;TR1=1; sec_dx=flag2; sec_nb=flag1; //顯示車輛計數(shù) do { display(); //調(diào)用顯示,用于延時 } while(k7!=1); } } } if(k8!=1&&flag_k8==0) // { display(); //調(diào)用顯示,用于延時消抖 if(k8!=1&&flag_k8==0) //如果確定按下 { flag_k8=1; if(Green_dx==1) { flag2++; //東西車流量加 if(flag2>=99) flag2=0; } elseif(Red_dx==1) { BUZZ=0; countt1=0; } if(flag==0) {; } if(flag==1) { sec_dx=set_timedx; sec_nb=set_timenb; //顯示設(shè)置的通行時間 } if(flag==2) { sec_nb=flag1; //顯示車輛計數(shù) sec_dx=flag2; } } } elseif(k8==1&&flag_k8==1) {flag_k8=0;} if(k9!=1&&flag_k9==0) { display(); //調(diào)用顯示,用于延時消抖 if(k9!=1&&flag_k9==0) //如果確定按下 { flag_k9=1; if(Green_nb==1) { flag1++; //南北車流量加 if(flag1>=99) flag1=0; } elseif(Red_nb==1) { BUZZ=0; countt1=0; } //車輛最大計數(shù)99 if(flag==0) {; } if(flag==1) { sec_nb=set_timenb; //設(shè)置的數(shù)值賦給東西南北 sec_dx=set_timedx; } if(flag==2) { sec_nb=flag1; //計數(shù)的車輛賦給東西南北 sec_dx=flag2; } } } elseif(k9==1&&flag_k9==1) {flag_k9=0;}}voiddisplay(void)//顯示子程序{ buf[1]=sec_nb/10; //第1位東西秒十位 buf[2]=sec_nb%10; //第2位東西秒個位 buf[3]=sec_dx/10; //第3位南北秒十位 buf[0]=sec_dx%10; //第4位南北秒個位 P1=0xff; //初始燈為滅的 P0=0x00; ////滅顯示 P1=0xfe; //片選LED1 P0=table[buf[1]]; //送東西時間十位的數(shù)碼管編碼 delay(1); //延時 P1=0xff; //關(guān)顯示 P0=0x00; //滅顯示 P1=0xfd; //片選LED2 P0=table[buf[2]]; //送東西時間個位的數(shù)碼管編碼 delay(1); //延時 P1=0xff; //關(guān)顯示 P0=0x00; //關(guān)顯示 P1=0Xfb; //片選LED3 P0=table[buf[3]]; //送南北時間十位的數(shù)碼管編碼 delay(1); //延時 P1=0xff; //關(guān)顯示 P0=0x00; //關(guān)顯示 P1=0Xf7; //片選LED4 P0=table[buf[0]]; //送南北時間個位的數(shù)碼管編碼 delay(1); //延時}voidtime0(void)interrupt1using1 //定時中斷子程序{ TH0=0X3C; //重賦初值 TL0=0XB0; //12m晶振50ms//重賦初值 TR0=1; //重新啟動定時器 countt0++; //軟件計數(shù)加1 if(countt0==10) //加到10也就是半秒 { if((sec_nb<=5)&&(dx_nb==0)&&(shanruo==1)) //東西黃燈閃 { Green_dx=0; Yellow_dx=0; } if((sec_dx<=5)&&(dx_nb==1)&&(shanruo==1)) //南北黃燈閃 { Green_nb=0; Yellow_nb=0; } } if(countt0==20) //定時器中斷次數(shù)=20時(即1秒時) { countt0=0; //清零計數(shù)器 sec_dx--; //東西時間減1 sec_nb--; //南北時間減1// BUZZ=1; if((sec_nb<=5)&&(dx_nb==0)&&(shanruo==1)) //東西黃燈閃{ Green_dx=0; Yellow_dx=1; } if((sec_dx<=5)&&(dx_nb==1)&&(shanruo==1)) //南北黃燈閃{ Green_nb=0; Yellow_nb=1; } if(sec_dx==0&&sec_nb==5) //當(dāng)東西倒計時到0時,重置5秒,用于黃燈閃爍時間 { sec_dx=5; shanruo=1; } if(sec_nb==0&&sec_dx==5) //當(dāng)南北倒計時到0時,重置5秒,用于黃燈閃爍時間 { sec_nb=5; shanruo=1; } if(dx_nb==0&&sec_nb==0) //當(dāng)黃燈閃爍時間倒計時到0時 { P2=0x00; //重置東西南背方向的紅綠燈 Green_nb=1; Red_dx=1; dx_nb=!dx_nb; shanruo=0; if(flag1*10/set_timenb>=5) //比如現(xiàn)在通行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論