畢業(yè)設(shè)計(jì)----交通燈控制器設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩67頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  畢業(yè)設(shè)計(jì)說(shuō)明書</b></p><p>  課題名稱 基于車流量檢測(cè)的多相位智能 </p><p>  交通燈控制器設(shè)計(jì)(軟件部分)</p><p>  2011年 6月 1日</p><p><b>  摘 要</b></p><

2、;p>  隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷地走向深入。完成了各行各業(yè)的所需的實(shí)時(shí)檢測(cè)和自動(dòng)控制要求,單片機(jī)其實(shí)就是一個(gè)小型計(jì)算機(jī),單片機(jī)一般是作為一個(gè)核心部件來(lái)使用,但是僅僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu),以及針對(duì)具體應(yīng)用對(duì)象特點(diǎn)的軟件結(jié)合,加以完善的,才能實(shí)現(xiàn)軟硬件的完美結(jié)合控制。</p><p>  隨著社會(huì)的發(fā)展,人們生水來(lái)的提高,有能力買車的人越來(lái)越多,城市車輛的增加,使得城市

3、的交通壓力不斷加大。然而現(xiàn)在還有一部的城市里能夠減小交通壓力的交通燈并沒(méi)能有效的解決這個(gè)問(wèn)題,為了解決這個(gè)問(wèn)題本文對(duì)智能交通燈的研究意義和智能交通燈的研究現(xiàn)狀進(jìn)行了分析,發(fā)現(xiàn)有一部分交通燈存在的缺點(diǎn)就是控制通行的交通綠燈通行的時(shí)間固定死了,并沒(méi)能實(shí)現(xiàn)隨車輛的增加和減小而改變時(shí)間。為了解決這個(gè)問(wèn)題提出了通過(guò)車流量檢測(cè)來(lái)改變能行時(shí)間的改進(jìn)方法。本設(shè)計(jì)的方案為在每條車道分別用兩個(gè)傳感器檢測(cè)車輛數(shù),車進(jìn)來(lái)時(shí)檢測(cè)自加,車出去時(shí)檢測(cè)自減,然后單片機(jī)

4、通過(guò)公式自動(dòng)算出倒計(jì)時(shí)的時(shí)間,用以控制倒計(jì)時(shí),然后判斷倒計(jì)時(shí)是否為0來(lái)控制信號(hào)燈的亮滅,通過(guò)硬件以及模型的制作最終實(shí)物了這些功能,實(shí)現(xiàn)了多相位控制,可以很好的指揮車的禁行。</p><p>  關(guān)鍵詞:?jiǎn)纹瑱C(jī);交通燈;車流量檢測(cè);多相位</p><p><b>  Abstract</b></p><p>  With the rapid de

5、velopment of science and technology,MCU applications are continually deepening. All walks of life needed to complete real-time detection and automatic control requirements, the MCU is actually a small computer,MCU is gen

6、erally used as a core component,But knowledge alone is not enough MCU, Should be based on specific hardware architecture, and application-specific software features object combination to perfect in order to achieve the p

7、erfect combination of hardware and software</p><p>  As society develops, people are raw water to increase, have the ability to more and more people buy cars, city vehicles increased, making the city's i

8、ncreasing traffic pressure. However, there is still one of the city to reduce traffic pressure on the traffic lights did not effectively solve this problem, in order to solve this problem this paper, the research signifi

9、cance of intelligent traffic lights and intelligent traffic light analysis of current research found that Part of the traffic ligh</p><p>  Key words: MCU; Traffic lights; Flow detection; Multi-phase</p&g

10、t;<p><b>  目 錄</b></p><p>  第一章 緒論……………………………………………………………………………… 1</p><p>  第一節(jié) 交通燈控制系統(tǒng)的發(fā)展………………………………………………… 1</p><p>  第二節(jié) 課題研究背景和目的…………………………………………………… 3

11、</p><p>  第三節(jié) 課題研究的意義………………………………………………………… 4</p><p>  第四節(jié) 課題研究的任務(wù)………………………………………………………… 4</p><p>  第五節(jié) 課題研究的內(nèi)容………………………………………………………… 4</p><p>  第二章 方案設(shè)計(jì)………………………

12、………………………………………………… 6</p><p>  第一節(jié) 交通燈的通行規(guī)則……………………………………………………… 6</p><p>  一、 相位的概念…………………………………………………………… 6</p><p>  二、 交通燈的基本運(yùn)行狀態(tài)…………………………………………… 6</p><p>

13、  第二節(jié) 交通燈控制系統(tǒng)的功能要求…………………………………………… 8</p><p>  一、 LED 信號(hào)燈…………………………………………………………… 8</p><p>  二、 倒計(jì)時(shí)顯示…………………………………………………………… 8</p><p>  三、 車輛數(shù)顯示…………………………………………………………… 9</

14、p><p>  四、 車流量的檢測(cè)及控制………………………………………………… 9</p><p>  第三節(jié) 交通燈控制系統(tǒng)的結(jié)構(gòu)和基本原理…………………………………… 9</p><p>  第三章 硬件電路的組成及連接……………………………………………………… 11</p><p>  第一節(jié) 通訊電路的組成及連接………………

15、………………………………… 11</p><p>  第二節(jié) 車流量檢測(cè)電路的組成及連接………………………………………… 12</p><p>  第三節(jié) 車輛數(shù)顯示電路的組成及連接………………………………………… 13</p><p>  第四節(jié) 狀態(tài)燈電路的組成及連接……………………………………………… 14</p><p&g

16、t;  第五節(jié) 倒計(jì)時(shí)電路的組成及連接……………………………………………… 15</p><p>  第四章 交通燈控制系統(tǒng)的程序設(shè)計(jì)………………………………………………… 16</p><p>  第一節(jié) 程序主體設(shè)計(jì)流程……………………………………………………… 16</p><p>  一、發(fā)送程序的總流程圖…………………………………………………

17、… 16</p><p>  二、接收程序的總流程圖…………………………………………………… 17</p><p>  第二節(jié) 各功能塊的程序設(shè)計(jì)…………………………………………………… 18</p><p>  一、按鍵模塊的程序設(shè)計(jì)…………………………………………………… 18</p><p>  二、延時(shí)子程序的設(shè)計(jì)……………

18、………………………………………… 20</p><p>  三、顯示程序的設(shè)計(jì)………………………………………………………… 21</p><p>  四、LED 燈程序設(shè)計(jì)………………………………………………………… 23</p><p>  五、中斷程序的設(shè)計(jì)………………………………………………………… 24</p><p>  六

19、、車流量計(jì)算公式的程序設(shè)計(jì)…………………………………………… 25</p><p>  七、發(fā)送與接收的程序設(shè)計(jì)………………………………………………… 26</p><p>  第五章 仿真及實(shí)物制作簡(jiǎn)介………………………………………………………… 29</p><p>  第一節(jié) 系統(tǒng)制作與調(diào)試………………………………………………………… 29<

20、;/p><p>  第二節(jié) 硬件制作與調(diào)試………………………………………………………… 29</p><p>  結(jié)束語(yǔ)…………………………………………………………………………………… 31</p><p>  致謝……………………………………………………………………………………… 32</p><p>  參考文獻(xiàn)………………………

21、………………………………………………………… 33</p><p>  附錄一 整體仿真圖…………………………………………………………………… 34</p><p>  附錄二 實(shí)物電路板核心控制板圖…………………………………………………… 35</p><p>  附錄三 交通燈立體模型圖…………………………………………………………… 35&

22、lt;/p><p>  附錄四 發(fā)送單片機(jī)部分程序………………………………………………………… 36</p><p>  附錄五 接收單片機(jī)部分程序………………………………………………………… 41</p><p><b>  緒 論</b></p><p>  交通燈控制系統(tǒng)的發(fā)展</p>&l

23、t;p>  當(dāng)今,紅綠燈安裝在各個(gè)道口上,已經(jīng)成為疏導(dǎo)交通車輛最常見(jiàn)和最有效的手段。但這一技術(shù)在19世紀(jì)就已出現(xiàn)了。</p><p>  1858年,在英國(guó)倫敦主要街頭安裝了以燃煤氣為光源的紅,藍(lán)兩色的機(jī)械扳手式信號(hào)燈,用以指揮馬車通行。這是世界上最早的交通信號(hào)燈。1868年,英國(guó)機(jī)械工程師納伊特在倫敦威斯敏斯特區(qū)的議會(huì)大廈前的廣場(chǎng)上,安裝了世界上最早的煤氣紅綠燈。它由紅綠兩以旋轉(zhuǎn)式方形玻璃提燈組成,紅色表

24、示“停止”,綠色表示“注意”。1869年1月2日,煤氣燈爆炸,使警察受傷,遂被取消。</p><p>  電氣啟動(dòng)的紅綠燈出現(xiàn)在美國(guó),這種紅綠燈由紅綠黃三色圓形的投光器組成,1914年始安裝于紐約市5號(hào)大街的一座高塔上。紅燈亮表示“停止”,綠燈亮表示“通行”。</p><p>  1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。帶控制的紅綠燈,一種是把壓力探測(cè)器安在地下,車輛一接近紅燈便

25、變?yōu)榫G燈;另一種是用擴(kuò)音器來(lái)啟動(dòng)紅綠燈,司機(jī)遇紅燈時(shí)按一下嗽叭,就使紅燈變?yōu)榫G燈。紅外線紅綠燈當(dāng)行人踏上對(duì)壓力敏感的路面時(shí),它就能察覺(jué)到有人要過(guò)馬路。紅外光束能把信號(hào)燈的紅燈延長(zhǎng)一段時(shí)間,推遲汽車放行,以免發(fā)生交通事故。</p><p>  從1868年英國(guó)倫敦首次使用燃汽色燈信號(hào)以來(lái),城市交通信號(hào)機(jī)由手動(dòng)到自</p><p>  動(dòng),交通信號(hào)由固定周期到可變周期,系統(tǒng)控制方式由點(diǎn)控到面控

26、,從無(wú)車輛檢測(cè)器到有車輛檢測(cè)器,經(jīng)歷了近百年的歷史。到1963年加拿大多倫多市建立了一套使用IBM650型計(jì)算的集中協(xié)調(diào)感應(yīng)控制信號(hào)系統(tǒng),從而標(biāo)志著城市道路交通信號(hào)系統(tǒng)的發(fā)展進(jìn)入了一個(gè)新的階段。各個(gè)時(shí)期典型交通信號(hào)系統(tǒng)得特征如附表所示。之后,美國(guó)、英國(guó)、德國(guó)、日本、澳大利亞等多家相繼建成數(shù)字電子計(jì)算機(jī)區(qū)域交通控制系統(tǒng),這種系統(tǒng)一般還配備交通監(jiān)視系統(tǒng)組成交通管制中心。到80年代初,全世界建有交通管制中心的城市有300多個(gè),代表了未來(lái)交通控

27、制的發(fā)展方向。</p><p>  表1.1 交通信號(hào)系統(tǒng)發(fā)展?fàn)顩r</p><p>  信號(hào)燈的出現(xiàn),使交通得以有效管制,對(duì)于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國(guó)《道路交通和道路標(biāo)志信號(hào)協(xié)定》對(duì)各種信號(hào)燈的含義作了規(guī)定。綠燈是通行信號(hào),面對(duì)綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和

28、過(guò)人行橫道的行人優(yōu)先通行。紅燈是禁行信號(hào),面對(duì)紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號(hào),面對(duì)黃燈的車輛不能越過(guò)停車線,但車輛已十分接近停車線而不能安全停車時(shí)可以進(jìn)入交叉路口。</p><p>  在西方發(fā)達(dá)國(guó)家,交通控制系統(tǒng)基本上完成了由傳統(tǒng)的交通控制系統(tǒng)向智能交通控制系統(tǒng)ITS的轉(zhuǎn)變,而在我國(guó),智能交通系統(tǒng)則剛剛處于起步階段。對(duì)于傳統(tǒng)的交通控制系統(tǒng)而言,對(duì)紅綠燈一般采用定時(shí)控制,無(wú)法對(duì)實(shí)際的交通流

29、進(jìn)行識(shí)別優(yōu)化,以至于不能適應(yīng)交通量的不確定性和隨機(jī)性的原因,往往造成交通資源的浪費(fèi)和道路的梗阻。而智能交通控制系統(tǒng)則在不產(chǎn)生大的硬件改動(dòng)的情況下有效的提高效率。</p><p>  ITS:Intelligent Transport systems。這一國(guó)際性術(shù)語(yǔ)于1994年被正式認(rèn)定。在此之前,美國(guó)稱這類技術(shù)或相關(guān)研究項(xiàng)目為“智能車輛道路系統(tǒng)(IVHS)”(Intelligent VelIiele Highwa

30、y System)。日本將這類技術(shù)稱為UTMS、VICS等:歐盟則稱之為“道路交通信息技術(shù)(RTI)”。國(guó)際標(biāo)準(zhǔn)化組織(ISO)為ITS設(shè)立的專項(xiàng)叫ISO/TC.204,使用的術(shù)語(yǔ)是“1rICS(交通運(yùn)輸信息與控制系統(tǒng))”。</p><p>  智能交通系統(tǒng)強(qiáng)調(diào)的是系統(tǒng)性、信息交流的交互性以及服務(wù)的廣泛性,其核心技術(shù)是電子技術(shù)、信息技術(shù)、通信技術(shù)、交通工程和系統(tǒng)工程。智能交通系統(tǒng)ITS是在較完善的道路設(shè)施基礎(chǔ)上,

31、將先進(jìn)的電子技術(shù)、信息技術(shù)、傳感器技術(shù)和系統(tǒng)工程技術(shù)集成運(yùn)用于地面交通管理所建立的一種實(shí)時(shí)、準(zhǔn)確、高效、大范圍、全方位發(fā)揮作用的交通運(yùn)輸管理系統(tǒng)。</p><p>  在國(guó)內(nèi),受客觀條件的制約,ITS起步比較晚,在20世紀(jì)90年代初,我國(guó)的相</p><p>  關(guān)學(xué)者開始意識(shí)到研究和開發(fā)ITS的重要性。到90年代中期,由于受到國(guó)外ITS研發(fā)的影響,政府部門也開始重視對(duì)ITS的研究,隨后,

32、又得到中央部門和部分地方政府的支持。</p><p>  1999年,我國(guó)成立了全國(guó)智能交通系統(tǒng)(ITS)協(xié)調(diào)指導(dǎo)小組及辦公室,同年,</p><p>  又成立了全國(guó)智能交通運(yùn)輸系統(tǒng)(ITS)專家咨詢委員會(huì),其中,同濟(jì)大學(xué)、清華大學(xué)、北方交通大學(xué)、北京航空航天大學(xué)、吉林工業(yè)大學(xué)、東南大學(xué)等高校的有關(guān)專家為咨詢委員,并啟動(dòng)了國(guó)家“九五”科技攻關(guān)課題和國(guó)家“十五”科技攻關(guān)課題。目前,在對(duì)一些

33、大中型城市引入的國(guó)外ITS進(jìn)行研究的基礎(chǔ)上已經(jīng)逐漸開始摸索開發(fā)設(shè)計(jì)適合自己國(guó)情的ITS系統(tǒng)。</p><p><b>  課題研究背景和目的</b></p><p>  隨著城市機(jī)動(dòng)車輛的不斷增加,許多大城市出現(xiàn)了交通超負(fù)荷運(yùn)行的情況。因此,自80年代后期,這些城市紛紛修建城市高速道路,在高速道路建設(shè)完成的初期,它們也曾有效地改善了交通狀況。然而,隨著交通量的快速增長(zhǎng)

34、和缺乏對(duì)高速道路的系統(tǒng)研究和控制。高速道路沒(méi)有充分發(fā)揮出預(yù)期的作用。而城市高速道路在構(gòu)造上的特點(diǎn),也決定了城市高速道路的交通狀況必然受高速道路與普通道路耦合處交通狀況的制約。所以,如何采用合適的控制方法,最大限度利用好耗費(fèi)巨資修建的城市高速道路。緩解主干道與匝道、城區(qū)同周邊地區(qū)的交通擁堵狀況,越來(lái)越成為交通運(yùn)輸管理和城市規(guī)劃部門亟待解決的主要問(wèn)題。</p><p>  目前,國(guó)內(nèi)大部分中小城市仍采用傳統(tǒng)的交通燈控

35、制模式,但隨著城市的不斷發(fā)展,基于車流量的智能交通燈控制系統(tǒng)必將受到廣大人民的青睞。傳統(tǒng)的交通信號(hào)燈,通常采用定時(shí)分配方式控制,主要存在三方面的缺陷:(1)車道放行車輛時(shí),十字路口經(jīng)常出現(xiàn)不同相位上車輛放行時(shí)問(wèn)相同,車輛多的一方容易出現(xiàn)車輛堆積,造成下一路口的交通阻塞;(2)當(dāng)某相位上無(wú)車時(shí),恰好是該相位上的車輛通行時(shí)間,則在這段時(shí)間內(nèi),就出現(xiàn)了交通指揮盲點(diǎn);(3)當(dāng)一路口車流量很大時(shí),不能夠自動(dòng)延長(zhǎng)口的綠燈時(shí)間,導(dǎo)致在一個(gè)周期內(nèi)此路口

36、的車輛不能完全通過(guò)。</p><p>  對(duì)基于車流量檢測(cè)的多相位智能交通燈控制系統(tǒng)進(jìn)行設(shè)計(jì)目的在于,更好的解決上述問(wèn)題,以及對(duì)所學(xué)知識(shí)的綜合運(yùn)用,將理論知識(shí)與實(shí)際應(yīng)用相結(jié)合。本系統(tǒng)利用按鈕模擬傳感器檢測(cè)車流量狀態(tài),用單片機(jī)AT89S52對(duì)路口車流量進(jìn)行統(tǒng)計(jì),并執(zhí)行相應(yīng)的處理程序,來(lái)實(shí)現(xiàn)智能交通燈控制系統(tǒng),達(dá)到了根據(jù)車流量大小實(shí)時(shí)控制路口的通行情況。</p><p><b>  

37、課題研究的意義</b></p><p>  本文設(shè)計(jì)的交通信號(hào)控制系統(tǒng)利用按鈕模擬傳感器檢測(cè)車流量狀態(tài),用單片機(jī)AT89S52對(duì)路口車流量進(jìn)行統(tǒng)計(jì),并執(zhí)行相應(yīng)的處理程序,來(lái)實(shí)現(xiàn)智能交通燈控制系統(tǒng),達(dá)到了根據(jù)車流量大小實(shí)時(shí)控制路口的通行情況。本系統(tǒng)可用在單個(gè)路口實(shí)現(xiàn)獨(dú)立的智能交通控制功能,易于維護(hù),運(yùn)行穩(wěn)定?;谲嚵髁康闹悄芙煌艨刂葡到y(tǒng)設(shè)計(jì)意義重大,特別在人口密度集中的中國(guó),它起著更重要的作用。最直接

38、的作用是改善車輛的堵塞狀況,減少車輛的等待時(shí)間,增加單位時(shí)間內(nèi)的通行量,從而解決交通擁擠的問(wèn)題。另外的社會(huì)經(jīng)濟(jì)效益是:減少交通事故的發(fā)生率、人員的死亡率;推動(dòng)相關(guān)產(chǎn)業(yè)的發(fā)展,增加就業(yè)崗位,促進(jìn)社會(huì)經(jīng)濟(jì)的健康發(fā)展;減少能源消耗量,降低環(huán)境污染程度。</p><p>  此設(shè)計(jì)尤其適合中、小城市的十字路口交通控制,具有結(jié)構(gòu)簡(jiǎn)單、可靠性高、成本低、實(shí)時(shí)性好、安裝維護(hù)方便等優(yōu)點(diǎn),具有廣泛的應(yīng)用前景。所以,基于車流量檢測(cè)的

39、多相位智能交通燈有現(xiàn)實(shí)的社會(huì)意義。</p><p><b>  課題研究的任務(wù)</b></p><p>  設(shè)計(jì)一個(gè)交通燈控制系統(tǒng),能夠?qū)崿F(xiàn)基于車流量檢測(cè)的多相位智能交通燈,根據(jù)十字路口車流量的變化相應(yīng)改變東西南北直行和左行的通行時(shí)間。</p><p><b>  課題研究的內(nèi)容</b></p><p&

40、gt;  基于整個(gè)交通控制系統(tǒng)的發(fā)展情況,本設(shè)計(jì)主要進(jìn)行如下方面的研究:用智能,集成,且功能強(qiáng)大的單片機(jī)芯片為控制中心,設(shè)計(jì)出一套十字路口的交通控制系統(tǒng),以指揮該路口的實(shí)時(shí)通行狀態(tài)。</p><p>  本設(shè)計(jì)主要做了如下幾方面的工作:</p><p> ?。?)是確定系統(tǒng)交通控制的總體設(shè)計(jì),包括十字路口具體的通行禁行方案設(shè)計(jì)以及系統(tǒng)應(yīng)擁有的各項(xiàng)功能,在這里,本設(shè)計(jì)除了有信號(hào)燈狀態(tài)控制能實(shí)

41、現(xiàn)基本的交通功能,還增加了倒計(jì)時(shí)顯示提示,為了便于答辯演示這里增加了車流數(shù)量顯示。</p><p> ?。?)是用按鈕代替智能傳感器設(shè)計(jì)車輛檢測(cè)與記錄,顯示電路等的設(shè)計(jì)對(duì)各器件的選擇及連接,大體分配各個(gè)器件及模塊的基本功能要求。</p><p> ?。?)是進(jìn)行軟件系統(tǒng)的設(shè)計(jì),對(duì)于本系統(tǒng),本人采用單片機(jī)C語(yǔ)言編寫,對(duì)單片機(jī)內(nèi)部結(jié)構(gòu)和工作情況做了充足的研究,了解定時(shí)器,中斷以及延時(shí)原理,總體

42、上完成了軟件的編寫。并用ISIS 7 Professional軟件進(jìn)行仿真,使得程序調(diào)試更加直觀。</p><p> ?。?)是本設(shè)計(jì)用到兩片單片機(jī),一塊負(fù)責(zé)車輛數(shù)檢測(cè)與記算出通行時(shí)間并顯示出來(lái),同時(shí)發(fā)送數(shù)據(jù)到另一塊單片機(jī)進(jìn)行處理,另一塊單片機(jī)負(fù)責(zé)接收通行時(shí)間并用于進(jìn)行交通燈LED狀態(tài)和倒計(jì)時(shí)控制。</p><p> ?。?)是實(shí)物模型的制做。</p><p>&l

43、t;b>  方案設(shè)計(jì)</b></p><p><b>  交通燈的通行規(guī)則</b></p><p><b>  一、相位的概念</b></p><p>  為保證交通系統(tǒng)的嚴(yán)謹(jǐn)性和公平性,本設(shè)計(jì)規(guī)定“相位”概念。</p><p>  相位的定義如下:在單個(gè)十字路口,整個(gè)狀態(tài)周期每個(gè)

44、綠燈亮起的時(shí)間為一個(gè)固定值。</p><p>  相位的意義在于在一個(gè)循環(huán)狀態(tài)周期內(nèi),根據(jù)每個(gè)路口車流量大小可以分配適時(shí)適當(dāng)?shù)木G燈時(shí)間以保證時(shí)間的充分利用,保證車流大的干道可以通過(guò)足夠多的車輛,車流小的干道不用浪費(fèi)時(shí)間。從總體上提升系統(tǒng)的效率。</p><p>  交通燈的基本運(yùn)行狀態(tài)</p><p>  設(shè)在十字路口,分為東西直行向、東西左行、南北直行和南北左行向

45、,在任一時(shí)刻只有一個(gè)方向通行,剩下方向禁行,持續(xù)一定時(shí)間,經(jīng)過(guò)短暫的過(guò)渡時(shí)間,將通行禁行方向?qū)Q。其簡(jiǎn)單狀態(tài)如下圖所示。</p><p>  說(shuō)明:黑色表示亮,白色表示滅。交通狀態(tài)從狀態(tài)1開始變換,直至狀態(tài)8然后循環(huán)至狀態(tài)1,周而復(fù)始,即如下圖所示:</p><p>  圖2-1-2 交通燈運(yùn)行狀態(tài)圖</p><p>  通過(guò)圖2-1-2具體的路口交通燈狀態(tài)的演示

46、分析我們可以把這8個(gè)狀態(tài)歸納如下:</p><p>  狀態(tài)1東西方向紅燈亮,其他燈滅。南北方向直行燈亮,同時(shí)南北人行道綠燈亮,并倒計(jì)時(shí)。此狀態(tài)下,東西向禁止通行,南北向車及行人允許直行。</p><p>  狀態(tài)2東西方向紅燈亮,其他燈滅。南北方向直行燈滅,黃燈亮,南北人行道綠燈亮,并倒計(jì)時(shí)。此狀態(tài)下,東西向禁止通行,南北方向除了已經(jīng)正在通行中的車輛和行人其它都需等待狀態(tài)轉(zhuǎn)換。</

47、p><p>  狀態(tài)3東西方向紅燈亮,其他燈滅。南北方向左行燈亮,同時(shí)南北人行道紅燈亮綠燈滅,并倒計(jì)時(shí)。此狀態(tài)下,東西向禁止通行,南北向車允許左行。</p><p>  狀態(tài)4東西方向紅燈亮,其他燈滅。南北方向左行燈滅,黃燈亮,南北人行道紅燈亮綠燈滅,并倒計(jì)時(shí)。此狀態(tài)下,東西向禁止通行,南北左行方向除了已經(jīng)正在通行中的車輛其它都需等待狀態(tài)轉(zhuǎn)換。</p><p>  狀態(tài)

48、5南北方向紅燈亮,其他燈滅。東西方向直行燈亮,同時(shí)東西人行道綠燈亮,并倒計(jì)時(shí)。此狀態(tài)下,南北向禁止通行,東西向車及行人允許直行。</p><p>  狀態(tài)6南北方向紅燈亮,其他燈滅。東西方向直行燈滅,黃燈亮,東西人行道綠燈亮,并倒計(jì)時(shí)。此狀態(tài)下,南北向禁止通行,東西方向除了已經(jīng)正在通行中的車輛和行人其它都需等待狀態(tài)轉(zhuǎn)換。</p><p>  狀態(tài)7南北方向紅燈亮,其他燈滅。東西方向左行燈亮

49、,同時(shí)東西人行道紅燈亮綠燈滅,并倒計(jì)時(shí)。此狀態(tài)下,南北向禁止通行,東西向車允許左行。</p><p>  狀態(tài)8南北方向紅燈亮,其他燈滅。東西方向左行燈滅,黃燈亮,東西人行道紅燈亮綠燈滅,并倒計(jì)時(shí)。此狀態(tài)下,南北向禁止通行,東西左行方向除了已經(jīng)正在通行中的車輛其它都需等待狀態(tài)轉(zhuǎn)換。</p><p>  在以上狀態(tài)變換過(guò)程中的倒計(jì)時(shí)是不定的,它是由車流量決定倒計(jì)時(shí)間的值,車多時(shí)倒計(jì)時(shí)長(zhǎng),車少

50、時(shí)倒計(jì)時(shí)短。</p><p>  交通燈控制系統(tǒng)的功能要求</p><p>  從要用到單片機(jī)I/O口的數(shù)量及程序和硬件電路的簡(jiǎn)化方面考慮,本設(shè)計(jì)用到兩片單片機(jī)通迅的方式共同模擬完成基本的交通控制,用紅綠黃燈表示禁行,通行和等待的信號(hào)發(fā)生,還能進(jìn)行倒計(jì)時(shí)顯示,車流量檢測(cè)。具體分工為:一塊負(fù)責(zé)車輛數(shù)檢測(cè)與記算出通行時(shí)間,可顯示,同時(shí)發(fā)送數(shù)據(jù)到另一塊單片機(jī)。另一塊單片機(jī)負(fù)責(zé)接收通行時(shí)間并用于進(jìn)

51、行交通燈LED狀態(tài)和倒計(jì)時(shí)控制,本設(shè)計(jì)能模擬基本的交通控制系統(tǒng),</p><p><b>  LED信號(hào)燈</b></p><p>  由前文的交通燈運(yùn)行狀態(tài),本設(shè)計(jì)要設(shè)計(jì)的是一個(gè)路口要有五種信號(hào)燈,一種常亮的右行綠燈,一種直行綠燈,一種左行綠燈,一種狀態(tài)轉(zhuǎn)換燈黃燈,一種停止燈紅燈。</p><p>  對(duì)于這些信號(hào)燈的排放一般有兩個(gè)方案:&l

52、t;/p><p> ?。?)是行三個(gè)燈,列三個(gè)燈,最下面一個(gè)從左到右分別是左行綠燈、直行綠燈、右行常亮綠燈。中間一行從左到右分別是狀態(tài)轉(zhuǎn)換燈黃燈、狀態(tài)轉(zhuǎn)換燈黃燈、無(wú)燈。最上面一行從左到右分別是停止燈紅燈、停止燈紅燈、無(wú)燈。</p><p> ?。?)是只有一行,一共五個(gè)燈,從左到右分別是停止燈紅燈、狀態(tài)轉(zhuǎn)換燈黃燈、左行綠燈、直行綠燈、右行常亮綠燈。其實(shí)這兩種方案是現(xiàn)在交通燈用得最多的,對(duì)于用哪

53、一個(gè)基本上都差不多,本設(shè)計(jì)考慮到做模型美觀及節(jié)省燈數(shù)量,故選擇第二種方案。</p><p><b>  倒計(jì)時(shí)顯示</b></p><p>  倒計(jì)時(shí)顯示可以提醒駕駛員在信號(hào)燈燈色發(fā)生改變的時(shí)間、在“停止”和“通過(guò)”兩者間作出合適的選擇。駕駛員和行人普遍都愿意選擇有倒計(jì)時(shí)顯示的信號(hào)控制方式,并且認(rèn)為有倒計(jì)時(shí)顯示的路口更安全。倒計(jì)時(shí)顯示是用來(lái)減少駕駛員在信號(hào)燈色改變的關(guān)

54、鍵時(shí)刻做出復(fù)雜判斷的1種方法,它可以提醒駕駛員燈色發(fā)生改變的時(shí)間,幫助駕駛員在“停止”和“通過(guò)”兩者間作出合適的選擇。</p><p>  對(duì)于倒計(jì)時(shí)的選擇目前來(lái)說(shuō)可以有三種方案:</p><p> ?。?)完全采用點(diǎn)陣式LED 顯示。這種方案實(shí)現(xiàn)復(fù)雜,且須完成大量的軟件工作;但功能強(qiáng)大,可方便的顯示各種英文字符,漢字,圖形等。</p><p>  (2)完全采用數(shù)

55、碼管顯示。這種方案只顯示有限的符號(hào)和數(shù)碼字符,只限于一些對(duì)顯示要求不高的交通燈,本設(shè)計(jì)不是那種要求比較高的交通燈,不需要顯示各種英文字符,漢字,圖形等,故選擇第二種方案。</p><p> ?。?)采用數(shù)碼管與點(diǎn)陣LED 相結(jié)合的方法因?yàn)樵O(shè)計(jì)既要求倒計(jì)時(shí)數(shù)字輸出,又要求有狀態(tài)燈輸出等,為方便觀看并考慮到現(xiàn)實(shí)情況,用數(shù)碼管與LED燈分別顯示時(shí)間與提示信息。這種方案減少了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度,功能相對(duì)也比較強(qiáng)大。<

56、/p><p><b>  三、車量數(shù)顯示</b></p><p>  對(duì)于車量數(shù)的顯示,這里選用數(shù)碼管顯示,主要是方便模型的演示,或是在實(shí)際應(yīng)該用中便于監(jiān)控、統(tǒng)計(jì)等。</p><p><b>  車流量的檢測(cè)及控制</b></p><p>  隨著我國(guó)經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展,城市人口和機(jī)動(dòng)車擁有量在急劇增長(zhǎng)

57、,交通流量日益加大,交通擁擠堵塞現(xiàn)象日趨嚴(yán)重,交通事故時(shí)有發(fā)生。車輛檢測(cè)器作為智能交通系統(tǒng)的基本組成部分,在智能交通系統(tǒng)中占有重要的地位?,F(xiàn)階段,車輛檢測(cè)器檢測(cè)方式有很多,各有其優(yōu)缺點(diǎn),如紅外線檢測(cè)器、地磁檢測(cè)器、機(jī)械壓電檢測(cè)器,磁頻檢測(cè)器、波頻檢測(cè)器、視頻檢測(cè)器等。一般車流量檢測(cè)器采用傳感器+單片機(jī)+外圍器件來(lái)實(shí)現(xiàn)車流量的檢測(cè)、計(jì)算和控制狀態(tài)。 </p><p>  但是本設(shè)計(jì)由于各條件的限制,只是做出一個(gè)模型

58、,并沒(méi)有選用任何的傳感器來(lái)作為車流量的檢測(cè)設(shè)備,而是用按鈕來(lái)代替各個(gè)檢測(cè)設(shè)備。</p><p>  對(duì)于車流量檢測(cè)和控制的方式,大的方面一般有兩個(gè)方案:</p><p> ?。?)是在各個(gè)路口的直行道和左行道各裝一個(gè)檢測(cè)設(shè)備,用于檢測(cè)車流的密度和流速,從而通過(guò)單片機(jī)處理并控制相應(yīng)的通行時(shí)間,這種方式實(shí)現(xiàn)的精確度不高。</p><p> ?。?)是地各個(gè)路口的直行道和

59、左行道各裝兩個(gè)檢測(cè)設(shè)備,一個(gè)作用是有車通過(guò)時(shí)自加,一個(gè)作用是有車通過(guò)時(shí)自減,通過(guò)兩個(gè)檢測(cè)設(shè)備的配就可以得出在等待的車準(zhǔn)確的數(shù)量,然后根據(jù)車的數(shù)量通過(guò)單片機(jī)自動(dòng)計(jì)算相應(yīng)數(shù)量的車應(yīng)給多長(zhǎng)的通行時(shí)間,從而實(shí)現(xiàn)交通燈禁行的完美控制,故本設(shè)計(jì)選擇第二種方案。</p><p>  第三節(jié) 交通燈控制系統(tǒng)的結(jié)構(gòu)和基本原理</p><p>  單片機(jī)設(shè)計(jì)交通燈控制系統(tǒng),可用單片機(jī)直接控制信號(hào)燈的狀態(tài)變化

60、,基本上可以指揮交通的具體通行,當(dāng)然,接入LED數(shù)碼管就可以顯示倒計(jì)時(shí)以提醒行使者,更具人性化。本系統(tǒng)在此基礎(chǔ)上,加入了車流量檢測(cè)電路為單片機(jī)采集數(shù)據(jù),單片機(jī)對(duì)此進(jìn)行具體處理,及時(shí)調(diào)整控制指揮。</p><p><b>  通訊</b></p><p>  圖2-3 系統(tǒng)的總體框圖</p><p>  據(jù)此,本設(shè)計(jì)系統(tǒng)以兩片單片機(jī)為控制核心,連

61、接成最小系統(tǒng),由車流量檢測(cè)模塊產(chǎn)生輸入負(fù)責(zé)檢測(cè)車流量及處理數(shù)據(jù)的發(fā)送單片機(jī)(這里自己給作為發(fā)送的單片機(jī)命名為發(fā)送單片機(jī)),發(fā)送單片機(jī)處理車流量顯示模塊的輸出。然后,接收單片機(jī)把發(fā)送單片機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)接收進(jìn)行應(yīng)用,控制信號(hào)燈狀態(tài)模塊和LED倒計(jì)時(shí)模塊。系統(tǒng)的總體框圖如上所示。</p><p>  最終,本系統(tǒng)將不斷調(diào)用車流量檢測(cè)模塊對(duì)車流量進(jìn)行檢測(cè)統(tǒng)計(jì),到達(dá)一定時(shí)間將修正通行時(shí)間一滿足不同路況的需要。</p

62、><p>  硬件電路的組成及連接</p><p>  上一章本設(shè)計(jì)對(duì)交通燈控制系統(tǒng)的功能、原理及結(jié)構(gòu)進(jìn)行了詳細(xì)的說(shuō)明,這一章本設(shè)計(jì)將在上一章的結(jié)構(gòu)圖的基礎(chǔ)下針對(duì)交通燈控制系統(tǒng)硬件電路的組成及連接作詳細(xì)的介紹,以便于更好的為編程服務(wù)。本設(shè)計(jì)交通燈控制系統(tǒng)主要用到的元器件有:AT89S52單片機(jī)兩片、74LS138一片、兩位8段數(shù)碼管8個(gè)、8550三極管16個(gè)、各種顏色LED燈若干等。</

63、p><p>  通訊電路的組成及連接</p><p>  在本設(shè)計(jì)中,一塊單片機(jī)端口是不夠用的,因?yàn)槠渲袡z測(cè)車流量要用到16個(gè)端口,用數(shù)碼管顯示車流量要用到16個(gè)端口,數(shù)碼管倒設(shè)計(jì)時(shí)要用到12個(gè)端口,信號(hào)燈控制要用到8個(gè)端口,一塊單片機(jī)的端口是32個(gè),現(xiàn)在要用到的已經(jīng)遠(yuǎn)遠(yuǎn)的超了,所以本設(shè)計(jì)考慮到用兩塊單片機(jī)通訊的方式來(lái)共同實(shí)現(xiàn)控制,這樣不僅解決了端口不夠用的問(wèn)題,也大大簡(jiǎn)化了原有的程序。在這一

64、節(jié)讓我們了解兩片單片機(jī)的組成及連接。圖3-1為通訊電路的組成及連接圖。</p><p>  圖3-1 通訊電路組成及連接圖</p><p>  從圖3-1我們已經(jīng)很直觀的看出所用的的硬件和連接,這里說(shuō)明一點(diǎn)要注意的問(wèn)題,兩片單片機(jī)的這樣通訊一定要共地,所以在做板時(shí)無(wú)論這兩片單片機(jī)是在一塊板上還是不在一塊板上,都要共地才行。</p><p>  我們看圖中所示,發(fā)送

65、單片機(jī)數(shù)據(jù)發(fā)送端口是P3.1/TXD和接收單片機(jī)P3.0/RXD連起來(lái)的,發(fā)送單片機(jī)數(shù)據(jù)發(fā)送端口是P3.0/TXD和接收單片機(jī)P3.1/RXD連起來(lái)的,我們用到的是P3口的第二功能,P3.1/TXD為串行數(shù)據(jù)輸出口,用于把SBUF里的數(shù)據(jù)輸出。P3.0/RXD為串行數(shù)據(jù)輸入口,用于接收數(shù)據(jù),然后把接收到的數(shù)據(jù)存入SBUF。只要我們按照這樣編一個(gè)串行通訊的控制程序就可以實(shí)現(xiàn)通訊了。</p><p>  第二節(jié) 車

66、流量檢測(cè)電路的組成及連接</p><p>  在本設(shè)計(jì)中發(fā)送單片機(jī)的P1和P2口用作16個(gè)車流量檢測(cè)點(diǎn)(用按鈕代替車流量檢測(cè)傳感器)的數(shù)據(jù)入口。</p><p><b>  其中:</b></p><p>  P1.0作為東邊直行車道車輛數(shù)加的檢測(cè)點(diǎn)</p><p>  P1.1作為東邊直行車道車輛數(shù)減的檢測(cè)點(diǎn)</

67、p><p>  P1.2作為東邊左行車道車輛數(shù)加的檢測(cè)點(diǎn)</p><p>  P1.3作為東邊左行車道車輛數(shù)減的檢測(cè)點(diǎn)</p><p>  剩下P1.4到P1.7和P2口都是類似的用法,這里不做一一例舉。圖3-2為東邊的檢測(cè)連接方式。</p><p>  圖3-2 車流量檢測(cè)電路圖</p><p>  如圖3-2所示,傳

68、感器(用按鈕模擬)是低電平起作用的,當(dāng)東邊直行車道有車進(jìn)來(lái)經(jīng)過(guò)PB10的檢測(cè)點(diǎn)的時(shí)候,也就是我們模擬按鈕按下的時(shí)候,發(fā)送單片機(jī)的P1.0口就有一個(gè)低電平信號(hào)輸入,這樣就可以在程序里處理東邊直行道車量數(shù)自加1。當(dāng)東邊直行車道有車出去經(jīng)過(guò)PB11檢測(cè)點(diǎn)的時(shí)候,也就是我們模擬按鈕按下的時(shí)候,發(fā)送單片機(jī)的P1.1口就有一個(gè)低電平信號(hào)輸入,這樣就可以在程序里處理東邊直行道車量數(shù)自減。其他的控制都是這樣的形式完成。全部連線完整之后我們就可以著手于編

69、程了。</p><p>  第三節(jié) 車量數(shù)顯示電路的組成及連接</p><p>  本設(shè)計(jì)加的車量數(shù)顯示,主要是方便模型的演示,當(dāng)然在現(xiàn)實(shí)中也可以讓相關(guān)部分門能能夠知道準(zhǔn)確的車量數(shù),由于各種原因本設(shè)計(jì)所顯示車量數(shù)是比較大小后的數(shù),而不是東南西北直行左行都全顯示,比如說(shuō)本設(shè)計(jì)只顯示東直行和西直行比較大小之后得出一個(gè)最大值,顯示東西方向最大值的車輛數(shù)。剩下的也同理。</p>&

70、lt;p>  另一個(gè)問(wèn)題是,剩下的端口已經(jīng)不夠4個(gè)兩位一體的數(shù)碼管好用了,用所本設(shè)計(jì)用到一個(gè)74LS138譯碼器進(jìn)行端口擴(kuò)展,其中P0.0到P0.7分別與數(shù)碼管的a-g和dp,P3.3、P3.6和P3.和74LS138的輸入口相連,74LS138的8個(gè)輸出口與相應(yīng)數(shù)碼管的掃描端相連接,圖3-3為車量數(shù)顯示電路的組成及連接圖。</p><p>  圖3-3 車量數(shù)顯示電路的組成及連接圖</p>

71、<p>  從圖3-3我們看行出具體的連線,本設(shè)計(jì)所用到的是共陽(yáng)的數(shù)碼管,編寫顯示子程序時(shí),只要給P0口輸出與共陽(yáng)及顯示內(nèi)容相關(guān)的代碼。然后單片機(jī)從P3.3、P3.6和P3.7輸出相應(yīng)的高低掃描電平,用以控制74LS138的輸出口以低電平從Y0口到Y(jié)7口循環(huán)掃描,為什么是低電平有效呢?因?yàn)楸驹O(shè)計(jì)用到了PNP三極管來(lái)驅(qū)動(dòng)數(shù)碼管,當(dāng)?shù)碗娖綊呙柽^(guò)三極管的時(shí)候就有一個(gè)VCC電源從三極管輸出進(jìn)入共陽(yáng)數(shù)碼管,點(diǎn)亮這個(gè)數(shù)碼管。</p

72、><p>  所以在我們編寫顯示子程序的時(shí)候注意這幾點(diǎn)就可以進(jìn)行車量數(shù)顯示的子程序的編寫了。</p><p>  第四節(jié) 狀態(tài)燈電路的組成及連接</p><p>  狀態(tài)燈是車輛以及人行道禁行的指示燈,本設(shè)計(jì)是用接收單片機(jī)進(jìn)行控制的,其中具體用到的控制口如下:</p><p>  P1.0為東西直行道的綠燈通行指示燈,</p>&

73、lt;p>  P1.1為東西左行道的綠燈通行指示燈,</p><p>  P1.2為東西方向狀態(tài)轉(zhuǎn)換的黃燈指示燈,</p><p>  P1.3為東西方向紅燈指示燈,</p><p>  P1.4為南北直行道的綠燈通行指示燈,</p><p>  P1.5為南北左行道的綠燈通行指示燈,</p><p>  P1.

74、6為南北方向狀態(tài)轉(zhuǎn)換的黃燈指示燈,</p><p>  P1.7為南北方向紅燈指示燈,</p><p>  P2.4為南北走向的人行道紅燈。</p><p>  P2.5為南北走向的人行道綠燈。</p><p>  P2.6為東西走向的人行道紅燈。</p><p>  P2.7為東西走向的人行道綠燈。</p>

75、;<p>  圖3-4為狀態(tài)燈電路的組成及連線圖</p><p>  圖3-4 狀態(tài)燈電路的組成及連線圖</p><p>  如圖3-4所示為電其電路組成的一部分,只有東邊示圖,剩下南西北及人行道的組成及接法同理,只要我們?cè)诔绦蛑锌刂葡鄳?yīng)端口輸出低電平,相應(yīng)的燈就會(huì)亮。由此我們就可以進(jìn)行狀態(tài)燈控制的程序編寫了。</p><p>  第五節(jié) 倒計(jì)時(shí)電

76、路的組成及連接</p><p>  本設(shè)計(jì)中倒計(jì)時(shí)也是用數(shù)碼管動(dòng)態(tài)掃描的,和第三節(jié)的差的多,不過(guò)第三節(jié)用到74LS138,本節(jié)所講的倒計(jì)時(shí)電路沒(méi)有用了,故也作說(shuō)明。倒計(jì)時(shí)也是和燈狀態(tài)控制一樣用接收單片機(jī)進(jìn)行控制的,一共用到4個(gè)兩位一體的共陽(yáng)數(shù)碼管,并肯是兩兩并連的,就是東和西并連,南和北并連,所以掃描端口只用到4個(gè)就可以,用到的控制端口如圖3-5 倒計(jì)時(shí)電路組成及連接圖。</p><p>

77、;  圖3-5 倒計(jì)時(shí)電路組成及連接圖</p><p>  圖3-5即為倒計(jì)時(shí)的電路組成及連接,其P0口作為數(shù)據(jù)輸出,輸出與共陽(yáng)數(shù)碼管及內(nèi)容相關(guān)的代碼,P2.0到P2.3口連接4個(gè)三極管,當(dāng)?shù)碗娖綊哌^(guò)相應(yīng)三極管時(shí),就會(huì)有VCC電源進(jìn)入數(shù)碼管,點(diǎn)亮相應(yīng)的數(shù)碼管,所以本設(shè)計(jì)用于送數(shù)據(jù)的P0口是以低電平有效的代碼,掃描口也是以低電平有效來(lái)進(jìn)行掃描,編寫程序的時(shí)候注意這點(diǎn)才可以避免出錯(cuò),能更好更快的完成整個(gè)設(shè)計(jì)。<

78、;/p><p>  第四章 交通控制系統(tǒng)的程序設(shè)計(jì)</p><p>  第一節(jié) 程序主體設(shè)計(jì)流程</p><p>  全部控制程序?qū)嶋H上分為兩部分:發(fā)送單片機(jī)系統(tǒng)部和接收單片機(jī)部分。其中發(fā)送單片機(jī)部分包括車流量檢測(cè)程序,LED顯示程序,鍵盤程序,發(fā)送數(shù)據(jù)程序。其中接收單片機(jī)包括狀態(tài)燈控制程序,次狀態(tài)判斷及處理程序,中斷服務(wù)子程序,紅綠燈時(shí)間調(diào)整程序等。整個(gè)軟件程序方

79、面主要分發(fā)送程序和接收程序兩大部分。</p><p>  一、發(fā)送程序的總流程圖</p><p>  圖4-1-1 發(fā)送程序的總流程圖</p><p>  如圖4-1-1所示,首先是按鍵處理程序,AT89S52通過(guò)對(duì)I1和I2口的掃描,確定是否有鍵按下,是那個(gè)鍵按下,從而程序判斷是相應(yīng)的東邊直行有車過(guò)來(lái)、東邊直行有車出去、東邊左行有車過(guò)來(lái)、東邊左行有車出去、南邊直

80、行有車過(guò)來(lái)、南邊直行有車出去、南邊左行有車過(guò)來(lái)、南邊左行有車出去、西邊直行有車過(guò)來(lái)、西邊直行有車出去、西邊左行有車過(guò)來(lái)、西邊左行有車出去、北邊直行有車過(guò)來(lái)、北邊直行有車出去、北邊左行有車過(guò)來(lái)、北邊左行有車出去,并儲(chǔ)存相應(yīng)的車輛數(shù)值。</p><p>  然后分別對(duì)較東西方向直行車數(shù)量的大小、東西方向左行車數(shù)量的大小、南北方向直行車數(shù)量的大小、南北方向左行車數(shù)量的大小,取出最大的值(即車輛數(shù))進(jìn)行儲(chǔ)存。</p

81、><p>  其次拿這個(gè)最大值來(lái)代入公式Y(jié)=7+2X計(jì)算出Y值(即相應(yīng)綠燈通行時(shí)間初值)儲(chǔ)存起來(lái)并放入SBUF寄存器,然后通過(guò)P3.1口發(fā)送。</p><p>  最后,是數(shù)碼管處理程序,主根通過(guò)按鈕選擇用數(shù)碼管顯示最大值的車輛數(shù)還是通行時(shí)間初值。</p><p>  二、接收程序的總流程圖</p><p>  圖4-1-2 接收程序的總流程圖

82、</p><p>  如圖4-1-2所示,開始之后,首先是啟到定時(shí)器T0和串行口中斷,將定時(shí)器T0設(shè)為50ms一次中斷,在串行中斷里面執(zhí)行的程序主要是完成數(shù)據(jù)的接收及從SBUF里取出數(shù)據(jù)進(jìn)行儲(chǔ)存,循環(huán)接收循環(huán)刷新覆蓋,同時(shí)狀態(tài)燈模塊和倒計(jì)是模塊進(jìn)入初值工作狀態(tài)。</p><p>  然后,用取得的初值,判斷黃燈倒計(jì)時(shí)為0時(shí),對(duì)倒計(jì)是模塊進(jìn)行初值賦值,通過(guò)20次中斷對(duì)倒計(jì)時(shí)值進(jìn)行一次減1,實(shí)

83、現(xiàn)倒計(jì)時(shí)工作,然后判斷倒計(jì)時(shí)間的狀態(tài)以控制相應(yīng)狀態(tài)燈模塊的狀態(tài),如此控制下去,從南北直行到南北左行,從南北左行到東西直行,從東西直行到東西左行,再回到南北直行,如此循環(huán)下去。</p><p>  各功能模塊的程序設(shè)計(jì)</p><p>  這一節(jié)將對(duì)各功能模塊的程序設(shè)計(jì),如果實(shí)現(xiàn)控制作出說(shuō)細(xì)的說(shuō)明。本節(jié)對(duì)應(yīng)相應(yīng)模塊的功能只是選一小段程序作說(shuō)明,完整的程序請(qǐng)看附錄四 發(fā)送單片機(jī)總程序與附錄五

84、 接收單片機(jī)總程序。</p><p><b>  按鍵模塊的程序設(shè)計(jì)</b></p><p>  在講這個(gè)之前先講一下消抖處理,在按鍵計(jì)數(shù)的過(guò)程中,還存在機(jī)械抖動(dòng)與軟件方面的矛盾,即當(dāng)程序檢測(cè)到了有按鍵按下,則會(huì)計(jì)一次數(shù),但是實(shí)際上,按鍵閉合后在微觀上還會(huì)彈起,然后閉合,一直到達(dá)穩(wěn)定,顯然后面的彈落是無(wú)效的,為了使程序避免這個(gè)問(wèn)題,可以在檢測(cè)到首次閉合時(shí),調(diào)用一定時(shí)

85、間的延時(shí)程序。此處延時(shí)程序完全用軟件完成,利用程序執(zhí)行一條指令的時(shí)間,再加上兩次累減嵌套。</p><p>  本設(shè)計(jì)所用到的按鍵有17個(gè),其中16個(gè)與發(fā)送單片機(jī)的P1口和P2口連接用來(lái)模擬車流量的檢測(cè)的傳感器,其中一個(gè)是作為切換數(shù)碼管所顯示內(nèi)容的選擇。它們的外電路的連接都是一端接地一端接單片機(jī)相應(yīng)的口,用的是獨(dú)立式接法,低電平對(duì)單片起作用。它的程序工作原理為,開始進(jìn)入掃描按鈕后,首先是掃按鈕,哪個(gè)按鈕下了就作出

86、自加自減的相應(yīng)處理,最后返回。它的流程圖如圖4-2-1 按鈕模塊流程圖。</p><p><b>  ·</b></p><p><b>  ·</b></p><p><b>  ·</b></p><p>  圖4-2-1 按鈕模塊流程圖&

87、lt;/p><p>  程序控制方式如下(附解釋):</p><p>  /***********************東直行************************************/ </p><p>  if(P10==0&&ip10!=1){ //當(dāng)P10按下ip10不等于1時(shí)</p><p>  

88、delay(10); //消抖動(dòng)處理</p><p>  if(P10==0&&ip10!=1){</p><p>  ip10=1; //把ip10置為1 作用為鎖按鈕</p><p>  dongzhi=dongzhi+1; //東直行車輛數(shù)加1</p><p

89、><b>  }</b></p><p>  if(P10!=0){ //等待按鈕放開,如果放開重新把ip10置為0</p><p>  ip10=0; //解除按鈕封鎖</p><p><b>  }</b></p><p>  i

90、f(P11==0&&ip11!=1&&dongzhi>=1){ //當(dāng)P11按下ip11不等于1東直行車輛數(shù)時(shí)</p><p>  delay(10); //消抖動(dòng)處理</p><p>  if(P11==0&&ip11!=1&&dongzhi>=1){</p><p&g

91、t;  ip11=1; //把ip11置為1作用為鎖按鈕</p><p>  dongzhi=dongzhi-1; //東直行車輛數(shù)減1</p><p>  if(dongzhi==0){</p><p>  dongzhi=0;</p><p><b&g

92、t;  }</b></p><p><b>  }</b></p><p>  if(P11!=0){ //等待按鈕放開,如果放開重新把ip11置為0</p><p>  ip11=0; //解除按鈕封鎖</p><p&g

93、t;<b>  }</b></p><p>  這種設(shè)計(jì)方式比用消抖處理好,因?yàn)橄短幚碛袝r(shí)會(huì)由于延時(shí)子程序的原影響到其他模塊的正??刂疲乙步鉀Q了按鈕一直按著不放還會(huì)一直加或減下去的問(wèn)題。</p><p><b>  延時(shí)子程序的設(shè)計(jì)</b></p><p>  本設(shè)計(jì)單片機(jī)的工作頻率為12MHZ,機(jī)器周期與主頻有關(guān),

94、機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12MHZ)=1us。我們可以知道具體每條指令的周期數(shù),這樣我們就可以通過(guò)指令的執(zhí)行條數(shù)來(lái)確定1ms的時(shí)間。它的工作原理是:首先這里有一個(gè)While和一個(gè)For循環(huán)的嵌套,先給While循環(huán)的i賦值,然后到For循環(huán)里的j賦值0,其次判斷j是否小125,如果小于則j自加1再循環(huán)回來(lái)比較,如果不小于125則跳出,i自減1,如此循環(huán)直到i減到為0整個(gè)延時(shí)才結(jié)束,其程序流程圖如圖4-

95、2-2 延時(shí)子程序流程圖。</p><p>  圖4-2-2 延時(shí)子程序流程圖</p><p>  以下為12M晶振下的1ms延時(shí)子程序:</p><p>  /************************************************************************/</p><p>  void

96、delay(unsigned int i)</p><p><b>  {</b></p><p>  unsigned char j;</p><p>  while(i--)</p><p><b>  {</b></p><p>  for(j=0;j<125;j

97、++) //1ms基準(zhǔn)延時(shí)程序</p><p><b>  {</b></p><p><b>  ;</b></p><p>  } </p><p><b>  } </b></p><p><b>  }

98、</b></p><p>  這個(gè)程序包函有兩個(gè)循環(huán)語(yǔ)句,i是調(diào)用時(shí)應(yīng)自己要延時(shí)的時(shí)間長(zhǎng)短來(lái)給值的。如調(diào)用這個(gè)程序讓它延時(shí)1S,我們就可以這樣寫: delay(1000);</p><p><b>  顯示子程序的設(shè)計(jì)</b></p><p>  顯示部分,本設(shè)計(jì)是用到兩位一體共陽(yáng)數(shù)碼管來(lái)作為顯示的,數(shù)碼管的8個(gè)數(shù)據(jù)口的單片P0口的

99、8個(gè)端口,驅(qū)動(dòng)該數(shù)碼管的方法為:比如說(shuō)要給第一位數(shù)碼管顯示1,第二位數(shù)碼管顯示2,首先要在程序開始時(shí)定義一個(gè)數(shù)組,數(shù)組里有相應(yīng)的共陽(yáng)數(shù)碼管用的代碼,然后在即行顯示程序時(shí),當(dāng)掃描端點(diǎn)亮第一位數(shù)碼管的同時(shí)從數(shù)組中提取1相應(yīng)的代碼通過(guò)P0口輸出給數(shù)碼管,當(dāng)掃描端點(diǎn)亮第二位數(shù)碼管的同時(shí)從數(shù)組中提取2相應(yīng)的代碼通過(guò)P0口輸出給數(shù)碼管,其實(shí)就是輪著點(diǎn)亮不同的位的數(shù)碼管,但是由于掃得很快,讓人感覺(jué)它是同時(shí)亮而以。其程序控制流程圖如圖4-2-3 數(shù)碼

100、管程序控制流程圖。</p><p><b>  ·</b></p><p><b>  ·</b></p><p><b>  ·</b></p><p>  圖4-2-3 數(shù)碼管程序控制流程圖</p><p><b

101、>  控制程序如下:</b></p><p>  /************************************************************************/</p><p>  void DisplaySecond2(unsigned char k)</p><p><b>  {</b&g

102、t;</p><p>  P0=Tab[k/10]; //從數(shù)組中取代碼給“十位”數(shù)碼管</p><p>  P22=0; //點(diǎn)燈“十位”數(shù)碼管</p><p><b>  P23=1; </b></p><p>  delay(1); //延

103、時(shí)1ms</p><p>  P0=0x00; </p><p>  P22=1; //關(guān)閉數(shù)碼管--消影處理</p><p>  P0=Tab[k%10]; //從數(shù)組中取代碼給“個(gè)位”數(shù)碼管</p><p>  P22=1; </p

104、><p>  P23=0; //點(diǎn)燈“個(gè)位”數(shù)碼管</p><p>  delay(1); //延時(shí)1ms</p><p>  P0=0x00; </p><p>  P23=1; //關(guān)閉數(shù)碼管--消影處理</p><

105、;p><b>  delay(1);</b></p><p><b>  }</b></p><p>  LED燈控制程序設(shè)計(jì)</p><p>  燈的控制很簡(jiǎn)單,這里簡(jiǎn)單介紹行了,一個(gè)LED燈,我們把它的正極接VCC,負(fù)極接單片機(jī)控制口,然后在程序里控制相應(yīng)端口為低電平時(shí)(比如:P34=0;),LED燈被點(diǎn)亮,高電

106、平時(shí)(比如:P34=1;),LED燈被熄滅。其具體的工作原理為:開始之后,給所有信號(hào)燈賦值,南北直行燈亮,東西紅燈亮,然后進(jìn)入中斷服務(wù)里控制倒計(jì)時(shí),接下判斷倒計(jì)時(shí)是否為0,如果不為0返回繼續(xù)倒計(jì)時(shí),如果為0則判斷LED_time是否為1、2、3、4、5、6、7、8,如果YES就處理相應(yīng)的程序段控制相應(yīng)的燈亮與滅,最后返回。其具體的程序流程圖如圖4-2-4 LED控制程序流程圖。</p><p>  圖4-2-4

107、 LED控制程序流程圖</p><p><b>  中斷程序的設(shè)計(jì)</b></p><p>  這里我們所說(shuō)到的中斷程序就是用定時(shí)器所產(chǎn)生的中斷,定時(shí)器工作的基本原理其實(shí)就是給初值,讓它不斷加1直至減完為模值,這個(gè)初值是送到TH和TL中的。它是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以就可以效利用定時(shí)器的計(jì)數(shù)溢出,進(jìn)行各項(xiàng)控制,還有因?yàn)槎〞r(shí)

108、器的計(jì)時(shí)時(shí)間非常精確,對(duì)于有用到時(shí)間的地方一般都會(huì)選用定時(shí)器。其程序原理為:開始之后,啟動(dòng)定時(shí)器T0并給其賦初值,下一步定計(jì)器計(jì)數(shù),然后產(chǎn)生中斷請(qǐng)求,從而從入口interrupt 1進(jìn)入中斷子程序,關(guān)閉定時(shí)器T0,在程序里執(zhí)行相應(yīng)控制,最后再重新給定時(shí)器賦初值并啟動(dòng)定時(shí)器T0,其程序流程圖如圖4-2-5 中斷程序流程圖。</p><p>  圖4-2-5 中斷程序流程圖</p><p> 

109、 中斷子程序部分源代碼如下:</p><p>  以下程序?yàn)槎〞r(shí)器的選擇及啟動(dòng),并對(duì)計(jì)數(shù)值進(jìn)行初始設(shè)定。</p><p><b>  EA=1;</b></p><p>  ET0=1; //定時(shí)器T0中斷允許</p><p>  TH0=(65536-46083)/256; /

110、/將定時(shí)器計(jì)時(shí)時(shí)間設(shè)定為46083×1.085微秒</p><p>  TL0=(65536-46083)%256; //=50000微秒=50毫秒 </p><p>  TR0=1; //啟動(dòng)定時(shí)器T0開始運(yùn)行</p><p>  以下程序?yàn)橹袛嘧佣〞r(shí)器的中斷子程序,每中斷一次就掃一次并重新

111、賦值</p><p>  void interserve1(void ) interrupt 1 //選擇中斷入口,定時(shí)器T0為1</p><p><b>  { </b></p><p>  TR0=0; //關(guān)閉定時(shí)器T0</p><p>  //從這里開始,可以加入其他控制語(yǔ)句</p>&

112、lt;p>  TH0=(65536-46083)/256; //重新給計(jì)數(shù)器T0賦初值</p><p>  TL0=(65536-46083)%256;</p><p>  TR0=1; //啟動(dòng)定時(shí)器T0</p><p><b>  }</b></p><p>  車流量計(jì)算公式的程序設(shè)計(jì)</p

溫馨提示

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

評(píng)論

0/150

提交評(píng)論