版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 畢 業(yè) 設(shè) 計(jì) (論 文)</p><p> 信息工程學(xué)院 系(院) 應(yīng)用電子技術(shù) 專業(yè)</p><p> 畢業(yè)設(shè)計(jì)(論文)題目 城市交通信號(hào)控制器的設(shè)計(jì) </p><p> 學(xué)生姓名 xxx </p><p> 班 級(jí) xx
2、xx </p><p> 學(xué) 號(hào) xxxxx </p><p> 指導(dǎo)教師 xxxxx </p><p> 完成日期 2012 年 6 月 6 日</p><p> 基于單片機(jī)的城市交通燈控制器的設(shè)計(jì)</p><p>
3、 The design of the traffic light controller based on the single-chip microcomputer</p><p> 總計(jì) 畢業(yè)設(shè)計(jì)(論文) 39 頁(yè)</p><p> 表 格 0 個(gè)</p><p> 插 圖 1
4、5 幅</p><p><b> 摘 要</b></p><p> 近年來(lái)隨著科技的飛速發(fā)展,單片機(jī)的應(yīng)用正在不斷深入,同時(shí)帶動(dòng)傳統(tǒng)控制檢測(cè)技術(shù)日益更新。在實(shí)時(shí)檢測(cè)和自動(dòng)控制的單片機(jī)應(yīng)用系統(tǒng)中,單片機(jī)往往作為一個(gè)核心部件來(lái)使用,僅單片機(jī)方面知識(shí)是不夠的,還應(yīng)根據(jù)具體硬件結(jié)構(gòu)軟硬件結(jié)合,加以完善。</p><p> 十字路口車輛穿
5、梭,行人熙攘,車行車道,人行人道,有條不紊。那么靠什么來(lái)實(shí)現(xiàn)這井然秩序呢?靠的就是交通信號(hào)燈的自動(dòng)指揮系統(tǒng)。交通信號(hào)燈控制方式很多。本系統(tǒng)采用MSC-51系列單片機(jī)ATSC51和可編程并行I/O接口芯片8255A為中心器件來(lái)設(shè)計(jì)交通燈控制器,實(shí)現(xiàn)了能根據(jù)實(shí)際車流量通過(guò)AT89C51芯片的P1口設(shè)置紅、綠燈燃亮?xí)r間的功能;紅綠燈循環(huán)點(diǎn)亮,倒計(jì)時(shí)剩5秒時(shí)黃燈閃爍警示(交通燈信號(hào)通過(guò)PA口輸出,顯示時(shí)間直接通過(guò)8255的PC口輸出至雙位數(shù)碼管
6、);車輛闖紅燈報(bào)警;通過(guò)設(shè)置“看門狗電路”來(lái)防止單片機(jī)死機(jī),提高單片機(jī)系統(tǒng)的抗干擾性;綠燈時(shí)間可檢測(cè)車流量并可通過(guò)雙位數(shù)碼管顯示。本系統(tǒng)實(shí)用性強(qiáng)、操作簡(jiǎn)單、擴(kuò)展功能強(qiáng)。 </p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī);交通燈;闖紅燈;檢測(cè)車流量</p><p><b> Abstract</b></p><p> With the rapid dev
7、elopment of science and technology in recent years, the application of MCU is a growing, while driving more traditional control detection technology updates. In real-time detection and automatic control of microcomputer
8、application system, the microcontroller is often used as a core component, only the microcontroller is not enough knowledge, but also according to the specific combination of hardware architecture of hardware and softwar
9、e, to be improved. </p><p> Crossroads shuttle vehicles, pedestrians bustling, car dealers lane, one pedestrian and orderly. Then rely on to achieve this discipline of the order it?Is the traffic lights by
10、the automatic control system. Many traffic lights control. This system uses the MSC-51 Series MCU ATSC51 and programmable parallel I/O interface chip 8255A-centered design of traffic light controller device to realize th
11、e actual traffic flow according to the P1 port through AT89C51 to set the red, green brighten time fun</p><p> Keywords: MCU; Traffic lights; Running red lights; Detect traffic</p><p><b&
12、gt; 目 錄</b></p><p><b> 1 引言1</b></p><p> 2 系統(tǒng)總體方案1</p><p> 2.1 交通管理的方案論證1</p><p> 2.2 交通燈控制的功能要求2</p><p> 2.3 系統(tǒng)總框圖3<
13、/p><p> 2.4 系統(tǒng)工作原理4</p><p> 3 系統(tǒng)硬件設(shè)計(jì)4</p><p> 3.1 AT89C51單片機(jī)簡(jiǎn)介5</p><p> 3.2 89C51單片機(jī)復(fù)位電路7</p><p> 3.3 時(shí)鐘電路7</p><p> 3.4 鍵盤接口電路7
14、</p><p> 3.5 8255A與74LS373簡(jiǎn)介9</p><p> 3.6 八段LED數(shù)碼管顯示電路11</p><p> 3.7 看門狗硬件電路12</p><p> 3.8 紅外對(duì)管檢測(cè)電路13</p><p> 3.9 驅(qū)動(dòng)和放大電路14</p><p
15、> 3.10 交通指示燈電路16</p><p> 3.11 報(bào)警電路和按鍵控制電路17</p><p> 4 系統(tǒng)軟件設(shè)計(jì)18</p><p> 4.1 1秒的設(shè)定和T0定時(shí)器18</p><p> 4.2 東西、南北路口紅外檢測(cè)中斷子程序20</p><p> 4.3 1ms
16、軟件延時(shí)子程序21</p><p> 4.4 時(shí)間顯示子程序21</p><p> 4.5 黃燈閃爍5s子程序22</p><p> 4.6 檢測(cè)車流量與顯示子程序23</p><p> 4.7 報(bào)警子程序24</p><p> 4.8 主程序25</p><p>
17、;<b> 結(jié) 論27</b></p><p><b> 致 謝27</b></p><p><b> 參考文獻(xiàn)28</b></p><p> 附錄A 總硬件電路圖30</p><p> 附錄B 十字路口交通燈控制器的代碼31</p>
18、<p><b> 1 引言</b></p><p> 交通運(yùn)輸是城市功能活動(dòng)的命脈,它直接影響社會(huì)經(jīng)濟(jì)、生產(chǎn)與生活的各個(gè)方面。我國(guó)機(jī)動(dòng)車輛發(fā)展迅速,而城鎮(zhèn)道路建設(shè)由于歷史等各種原因相對(duì)滯后。道路擁擠、阻塞現(xiàn)象及交通事故常有發(fā)生。如何利用當(dāng)今自動(dòng)控制技術(shù),有效地疏導(dǎo)交通,提高城鎮(zhèn)交通路口的通行能力,提高車輛速度,減少交通事故是值得我們研究的新課題。交通燈是城市交通中的重要指揮
19、系統(tǒng),它與人們?nèi)粘I蠲芮邢嚓P(guān)。隨著人們生活水平的提高,對(duì)交通管制也提出了更高的要求,因此提供一個(gè)可靠、安全、便捷的多功能交通燈控制系統(tǒng)有著現(xiàn)實(shí)的必要性。本設(shè)計(jì)旨在設(shè)計(jì)出一款良好的交通燈控制系統(tǒng)來(lái)改善交通紊亂問(wèn)題,目的性強(qiáng),也具有很強(qiáng)的現(xiàn)實(shí)意義。</p><p> 國(guó)內(nèi)外學(xué)者對(duì)這一學(xué)科也早有研究,控制方案各種各樣,并且各有優(yōu)缺點(diǎn)。從1868年英國(guó)倫敦首次使用燃汽色燈信號(hào)以來(lái),城市交通信號(hào)機(jī)由手動(dòng)到自動(dòng),交通信號(hào)
20、由固定周期到可變周期,系統(tǒng)控制方式由點(diǎn)控到面控,從無(wú)車輛檢測(cè)器到有車輛檢測(cè)器,經(jīng)歷了近百年的歷史[1]。到1963年加拿大多倫多市建立了一套使用IBM650型計(jì)算的集中協(xié)調(diào)感應(yīng)控制信號(hào)系統(tǒng),從而標(biāo)志著城市道路交通信號(hào)系統(tǒng)的發(fā)展進(jìn)入了一個(gè)新的階段。之后,美國(guó)、英國(guó)、德國(guó)、日本、澳大利亞等多家相繼建成數(shù)字電子計(jì)算機(jī)區(qū)域交通控制系統(tǒng),這種系統(tǒng)一般還配備交通監(jiān)視系統(tǒng)組成交通管制中心。在西方發(fā)達(dá)國(guó)家,交通控制系統(tǒng)基本上完成了由傳統(tǒng)的交通控制系統(tǒng)向
21、智能交通控制系統(tǒng)ITS(Intelligent Transport systems)的轉(zhuǎn)變[2]。而在我國(guó),智能交通系統(tǒng)則剛剛處于起步階段。在20世紀(jì)90年代初,我國(guó)的相關(guān)學(xué)者開始意識(shí)到研究和開發(fā)ITS的重要性。到90年代中期,由于受到國(guó)外ITS研發(fā)的影響,政府部門也開始重視對(duì)ITS的研究。</p><p> 基于整個(gè)交通控制系統(tǒng)的發(fā)展情況,本設(shè)計(jì)主要進(jìn)行如下方面的研究:用智能,集成,且功能強(qiáng)大的MCS-51系
22、列單片機(jī)中的AT89C51為控制中心,設(shè)計(jì)出一套十字路口的交通控制系統(tǒng),以指揮該路口的實(shí)時(shí)通行狀態(tài)。本設(shè)計(jì)除了有紅、黃、綠信號(hào)燈狀態(tài)控制能實(shí)現(xiàn)基本的交通功能外,還增加了倒計(jì)時(shí)顯示提示,基于實(shí)際情況,又要求了對(duì)車流量檢測(cè)功能,“看門狗芯片”保護(hù)功能,違規(guī)檢測(cè)及處理、鍵盤可設(shè)置等強(qiáng)大功能,以方便人們的生活需求。</p><p><b> 2 系統(tǒng)總體方案</b></p><
23、;p> 2.1 交通管理的方案論證</p><p> 2.1.1 方案設(shè)想</p><p> 東西、南北兩干道交于一個(gè)十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時(shí)間[5]。設(shè)東西道比南北道的車流量大,指示燈燃亮的方案見表2.1。&l
24、t;/p><p> 表2.1 指示燈的燃亮方案</p><p><b> 表2.1說(shuō)明:</b></p><p> ?。?)當(dāng)東西方向?yàn)榧t燈,此道車輛和行人禁止通行;南北道為綠燈,此道車輛和行人通過(guò)。時(shí)間為60秒。</p><p> ?。?)黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。</p>&l
25、t;p> ?。?)當(dāng)東西方向?yàn)榫G燈,此道車輛通行;南北方向?yàn)榧t燈,南北道車輛禁止通過(guò)。時(shí)間為80秒。東西方向車流大通行時(shí)間長(zhǎng)。</p><p> ?。?)這樣如上表的時(shí)間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣行人和車輛就能安全暢通的通行。</p><p> 2.1.2 鍵盤控制方案</p><p> 鍵盤分為獨(dú)立式鍵盤和行列式鍵盤[3]。本次設(shè)計(jì)考慮了這兩種
26、鍵盤方案:</p><p> 方案一:采用行列式鍵盤。行列式鍵盤每條行線與列線在交叉處不直接相通,而是通過(guò)一個(gè)按鍵加以連接,當(dāng)按鍵較多時(shí)可采用行列式鍵盤以節(jié)省I/O接口。</p><p> 方案二:采用獨(dú)立式鍵盤。獨(dú)立式鍵盤接口電路配置靈活,硬件結(jié)構(gòu)簡(jiǎn)單,工作可靠但每個(gè)按鍵必須占用一跟I/O接口線,I/O接口線浪費(fèi)較大,在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡(jiǎn)單的按鍵向系統(tǒng)輸入信息,可將按
27、鍵直接在一根I/O接口線上,故只在按鍵數(shù)量不多時(shí)采用。本設(shè)計(jì)應(yīng)用的接口數(shù)量不多,故選擇此方案。</p><p> 2.1.3 看門狗保護(hù)方案</p><p> 在單片機(jī)系統(tǒng)中,看門狗的設(shè)計(jì)一般采用硬件和軟件兩種方式。本次設(shè)計(jì)考慮了這兩種方案:</p><p> 方案一:采用軟件看門狗。軟件看門狗是利用單片機(jī)片內(nèi)閑置的定時(shí)器/計(jì)數(shù)器單元作為看門狗,在單片機(jī)程序
28、中適當(dāng)?shù)牟迦氡O(jiān)控指令,當(dāng)程序出現(xiàn)異常或進(jìn)入死循環(huán)時(shí),利用軟件將程序計(jì)數(shù)器PC賦予初始值,強(qiáng)制性的使程序重新開始運(yùn)行。軟件看門狗的最大特點(diǎn)是無(wú)須外加硬件電路,經(jīng)濟(jì)性好。但可靠性差,需要占用系統(tǒng)內(nèi)存。當(dāng)然,如果片內(nèi)的定時(shí)器/計(jì)數(shù)器被占用,就需要尋求其它的設(shè)計(jì)方式了。</p><p> 方案二:采用硬件看門狗。硬件看門狗是指一些集成化的或集成在單片機(jī)內(nèi)的專用看門狗電路,它實(shí)際上是一個(gè)特殊的定時(shí)器,當(dāng)定時(shí)時(shí)間到時(shí),發(fā)出
29、溢出脈沖[4]。從實(shí)現(xiàn)角度上看,該方式是一種軟件與片外專用電路相結(jié)合的技術(shù),硬件電路連接好后,在程序中適當(dāng)?shù)夭迦胍恍┛撮T狗復(fù)位的指令,保證程序正常運(yùn)行時(shí)看門狗不溢出。而當(dāng)程序運(yùn)行異常時(shí),看門狗超時(shí)發(fā)出溢出脈沖,通過(guò)單片機(jī)的RESET引腳使單片機(jī)復(fù)位。該方案可靠性高,不需要占用系統(tǒng)內(nèi)存。但需要外加硬件電路,經(jīng)濟(jì)性較差。由于本設(shè)計(jì)中的安全性要求較高,所以采用硬件看門狗方案。</p><p> 2.1.4 顯示控制
30、方案</p><p> 這里同樣討論了兩種方案:</p><p> 方案一:采用靜態(tài)顯示。靜態(tài)顯示由于占用較多的接口,在單片機(jī)設(shè)計(jì)中常采用串行擴(kuò)展來(lái)完成。該方案占用接口資源多,顯示亮度由保證,但硬件開銷大,電路復(fù)雜,信息刷新速度慢,實(shí)用于并行接口資源較少以及對(duì)顯示沒有要求的場(chǎng)合。</p><p> 方案二:采用動(dòng)態(tài)顯示。LED動(dòng)態(tài)顯示硬件連接簡(jiǎn)單,比較節(jié)省I/
31、O接口,但其亮度不如靜態(tài)顯示方式,且動(dòng)態(tài)掃描的顯示方式在顯示位數(shù)較多時(shí),CPU要依次掃描,需占用CPU較多的時(shí)間。在該系統(tǒng)中由于單片機(jī)除了掃描89C51芯片外沒有太多的實(shí)時(shí)測(cè)控任務(wù),故本設(shè)計(jì)中采用動(dòng)態(tài)掃描方式。</p><p> 2.2 交通燈控制的功能要求</p><p> 本設(shè)計(jì)能模擬基本的交通控制系統(tǒng),用紅綠黃燈表示禁行,通行和等待的信號(hào)發(fā)生,還能進(jìn)行倒計(jì)時(shí)顯示,車流量檢測(cè)及調(diào)
32、整,交通違規(guī)處理等功能。</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)鍵時(shí)刻做出復(fù)雜判斷的1種方法,它可以提醒駕駛
33、員燈色發(fā)生改變的時(shí)間,幫助駕駛員在“停止”和“通過(guò)”兩者間作出合適的選擇。</p><p> ?。?)車流量檢測(cè)及調(diào)整</p><p> 隨著我國(guó)經(jīng)濟(jì)建設(shè)的蓬勃發(fā)展,城市人口和機(jī)動(dòng)車擁有量在急劇增長(zhǎng),交通流量日益加大,交通擁擠堵塞現(xiàn)象日趨嚴(yán)重,交通事故時(shí)有發(fā)生。車輛檢測(cè)器作為智能交通系統(tǒng)的基本組成部分,在智能交通系統(tǒng)中占有重要的地位?,F(xiàn)階段,車輛檢測(cè)器檢測(cè)方式有很多,各有其優(yōu)缺點(diǎn),如紅外
34、線檢測(cè)器、地磁檢測(cè)器、機(jī)械壓電檢測(cè)器,磁頻檢測(cè)器、波頻檢測(cè)器、視頻檢測(cè)器等。一般車流量檢測(cè)器采用傳感器+單片機(jī)+外圍器件來(lái)實(shí)現(xiàn)[6]。而且,目前國(guó)內(nèi)使用的紅綠燈都是固定的紅綠燈時(shí)間,并自動(dòng)切換。紅燈時(shí)間和綠燈時(shí)間,是根據(jù)道口東西向和南北向的車流量,利用統(tǒng)計(jì)方法確定的。交通警察不斷觀察十字路口的兩個(gè)方向,根據(jù)車輛密度和流速?zèng)Q定是否切換紅綠燈,以保證最佳的道路交通控制狀態(tài)。</p><p><b> (3
35、)時(shí)間手動(dòng)設(shè)置</b></p><p> 除系統(tǒng)根據(jù)車流量自動(dòng)控制調(diào)整,也可以通過(guò)鍵盤進(jìn)行手動(dòng)設(shè)置,增加了人為的可控性,避免自動(dòng)故障和意外發(fā)生。鍵盤是單片機(jī)系統(tǒng)中最常用的人機(jī)接口,一般情況下有獨(dú)立式和行列式兩種。前者軟件編寫簡(jiǎn)單,但在按鍵數(shù)量較多時(shí)特別浪費(fèi)I/O口資源,一般用于按鍵數(shù)量少的系統(tǒng)[7]。后者適用于按鍵數(shù)量較多的場(chǎng)合,但是在單片機(jī)I/O口資源相對(duì)較少而需要較多按鍵時(shí),此方法仍不能滿足設(shè)計(jì)
36、要求。本系統(tǒng)要求的按鍵控制不多,且I/O口足夠,可直接采用獨(dú)立式。</p><p><b> (4)違規(guī)檢測(cè)</b></p><p> 交通規(guī)則必須人人遵守,但是違反規(guī)則,如闖紅燈等,也時(shí)有發(fā)生,交警等交通管理人員雖然可以進(jìn)行實(shí)時(shí)監(jiān)管,但是耗費(fèi)精力,在路口設(shè)置檢測(cè)傳感器就可以進(jìn)行自動(dòng)的警報(bào)提示。</p><p> 2.3 系統(tǒng)總框圖&l
37、t;/p><p> 本設(shè)計(jì)以單片機(jī)為控制核心,采用模塊化設(shè)計(jì),共分以下幾個(gè)功能模塊:?jiǎn)纹瑱C(jī)控制系統(tǒng)、鍵盤及狀態(tài)顯示、倒計(jì)時(shí)模塊、看門狗電路模塊、紅外對(duì)管檢測(cè)模塊等。</p><p> 單片機(jī)設(shè)計(jì)交通燈控制系統(tǒng),可用單片機(jī)直接控制信號(hào)燈的狀態(tài)變化,基本上可以指揮交通的具體通行,當(dāng)然,接入LED數(shù)碼管就可以顯示倒計(jì)時(shí)以提醒行使者,更具人性化。本系統(tǒng)在此基礎(chǔ)上,加入了違規(guī)檢測(cè)電路和車流量檢測(cè)電路
38、為單片機(jī)采集數(shù)據(jù),單片機(jī)對(duì)此進(jìn)行具體處理,及時(shí)調(diào)整控制指揮,為了超越視覺指揮的局限性,同時(shí)接上蜂鳴器,在聽覺上加強(qiáng)了指揮提醒作用。</p><p> 鍵盤設(shè)置模塊對(duì)系統(tǒng)輸入模式選擇及具體通行時(shí)間設(shè)置的信號(hào),系統(tǒng)進(jìn)入正常工作狀態(tài),執(zhí)行交通燈狀態(tài)顯示控制,同時(shí)將時(shí)間數(shù)據(jù)倒計(jì)時(shí)輸入到LED數(shù)碼管上實(shí)時(shí)顯示。在此過(guò)程中還要實(shí)時(shí)捕捉違規(guī)檢測(cè)和緊急按鍵信號(hào),以達(dá)到對(duì)異常狀態(tài)進(jìn)行實(shí)時(shí)控制的目的。</p><
39、;p> 系統(tǒng)采用雙數(shù)碼管倒計(jì)時(shí)計(jì)數(shù)功能,最大顯示數(shù)字99。</p><p> 友好的人機(jī)界面、靈活的控制方式、優(yōu)化的物理結(jié)構(gòu)是本設(shè)計(jì)的亮點(diǎn)。</p><p><b> 圖2.1 總體框圖</b></p><p> 據(jù)此,本設(shè)計(jì)系統(tǒng)以單片機(jī)為控制核心,由車流量檢測(cè)模塊,違規(guī)檢測(cè)模塊,和按鍵設(shè)置模塊等產(chǎn)生輸入,信號(hào)燈狀態(tài)模塊,8段LE
40、D數(shù)碼管倒計(jì)時(shí)模塊和蜂鳴器狀態(tài)模塊接受輸出。系統(tǒng)的總體框圖如圖2.1所示。</p><p> 2.4 系統(tǒng)工作原理</p><p> ?。?)開關(guān)鍵盤輸入交通燈初始時(shí)間,通過(guò)8051單片機(jī)P1口輸入到系統(tǒng)</p><p> ?。?)由8051單片機(jī)的定時(shí)器每秒鐘通過(guò)P0口向8255的數(shù)據(jù)口送信息,由8255的PA口顯示紅、綠、黃燈的燃亮情況;由8255的PC口顯
41、示每個(gè)燈的燃亮?xí)r間。</p><p> ?。?)通過(guò)8051的P1口設(shè)置各個(gè)信號(hào)燈的燃亮?xí)r間,設(shè)置綠、紅時(shí)間分別為60秒、80秒循環(huán)由8051的P0口向8255的數(shù)據(jù)口輸出。</p><p> ?。?)通過(guò)8051單片機(jī)的P3.1位來(lái)控制系統(tǒng)是繼續(xù)工作或設(shè)置初值,當(dāng)P3.1位為0,就對(duì)系統(tǒng)進(jìn)行初始化,為1系統(tǒng)就繼續(xù)工作。</p><p> ?。?)紅燈倒計(jì)時(shí)時(shí)間,交
42、通指示燈紅燈亮,當(dāng)有車輛闖紅燈時(shí),單片機(jī)中斷,進(jìn)入中斷服務(wù)子程序,啟動(dòng)蜂鳴器進(jìn)行報(bào)警,3S后然后恢復(fù)正常。</p><p> ?。?)紅燈時(shí)間倒計(jì)時(shí)完畢,黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。</p><p> ?。?)綠燈倒計(jì)時(shí)時(shí)間,增加每次綠燈時(shí)間車流量檢測(cè)的功能,若檢測(cè)到車輛經(jīng)過(guò),進(jìn)入相應(yīng)的中斷子程序,將存儲(chǔ)車流量的計(jì)數(shù)器加1,并且通過(guò)查詢P2.4和P2.5端口的電平是
43、否為低,當(dāng)開關(guān)按下為低電平,雙位數(shù)碼管顯示車流量,直到下一次綠燈時(shí)間重新記入。</p><p> ?。?)綠燈時(shí)間倒計(jì)時(shí)完畢,黃燈閃爍5秒,警示車輛和行人紅、綠燈的狀態(tài)即將切換。重新循環(huán)。</p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 硬件有單片機(jī)、存儲(chǔ)器、若干I/O(擴(kuò)展)接口、驅(qū)動(dòng)器件、保護(hù)器件、檢測(cè)器件及外圍設(shè)
44、備等組成。其中單片機(jī)是整個(gè)系統(tǒng)的核心部件,能運(yùn)行程序和處理數(shù)據(jù)。存儲(chǔ)器用于存儲(chǔ)單片機(jī)程序和數(shù)據(jù)。I/O接口是單片機(jī)與外部被控制對(duì)象交換的信息通道,包括以下及部分?jǐn)?shù)字量I/O接口(頻率、脈沖等)、開關(guān)量I/O接口(繼電器開關(guān)、五觸電開關(guān)、電磁閥等)、模擬量I/O接口(A/D或D/A轉(zhuǎn)換電路)。有時(shí)需要擴(kuò)展I/O接口來(lái)滿足單片機(jī)接口數(shù)量上的不足,通常采用8255芯片。通用外部設(shè)備室進(jìn)行人機(jī)對(duì)話的紐帶,包括鍵盤、顯示器等。</p>
45、<p> 3.1 AT89C51單片機(jī)簡(jiǎn)介</p><p> 3.1.1 AT89C51單片機(jī)內(nèi)部結(jié)構(gòu)</p><p> AT89C51是8051系列單片機(jī)的典型產(chǎn)品,AT89C51單片機(jī)包含中央處理器、程序存儲(chǔ)器(ROM)、數(shù)據(jù)存儲(chǔ)器(RAM)、定時(shí)/計(jì)數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線[8],如圖3.1所示。&l
46、t;/p><p><b> 圖3.1 總線結(jié)構(gòu)</b></p><p><b> 現(xiàn)在說(shuō)明如下:</b></p><p><b> ?。?)中央處理器</b></p><p> 中央處理器(CPU)是整個(gè)單片機(jī)的核心部件,是8位數(shù)據(jù)寬度的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,C
47、PU負(fù)責(zé)控制、指揮和調(diào)度整個(gè)單元系統(tǒng)協(xié)調(diào)的工作,完成運(yùn)算和控制輸入輸出功能等操作。</p><p> ?。?)數(shù)據(jù)存儲(chǔ)器(RAM)</p><p> AT89C51內(nèi)部有128個(gè)8位用戶數(shù)據(jù)存儲(chǔ)單元和128個(gè)專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問(wèn),而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有128個(gè),可存放讀寫的數(shù)據(jù),運(yùn)算的中間結(jié)果或用
48、戶定義的字型表。</p><p> (3)存儲(chǔ)器(ROM)</p><p> AT89C51共有4KB個(gè)8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> ?。?)定時(shí)/計(jì)數(shù)器(ROM)</p><p> AT89C51有兩個(gè)16位的可編程定時(shí)/計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)或計(jì)數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p>
49、<p> ?。?)并行輸入輸出(I/O)口</p><p> AT89C51共有4組8位I/O口(P0、P1、P2和P3),用于對(duì)外部數(shù)據(jù)的傳輸。</p><p><b> ?。?)全雙工串行口</b></p><p> AT89C51內(nèi)置一個(gè)全雙工串行通信口,用于與其它設(shè)備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也
50、可以當(dāng)同步移位器使用。</p><p><b> (7)中斷系統(tǒng)</b></p><p> AT89C51具備較完善的中斷功能,有兩個(gè)外中斷、兩個(gè)定時(shí)/計(jì)數(shù)器中斷和一個(gè)串行中斷,可滿足不同的控制要求,并具有2級(jí)的優(yōu)先級(jí)別選擇。</p><p><b> ?。?)時(shí)鐘電路</b></p><p>
51、 AT89C51內(nèi)置最高頻率達(dá)12MHz的時(shí)鐘電路,用于產(chǎn)生整個(gè)單片機(jī)運(yùn)行的脈沖時(shí)序,但AT89C51單片機(jī)需外置振蕩電容。</p><p> 單片機(jī)的結(jié)構(gòu)有兩種類型,一種是程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器分開的形式,即哈佛(Harvard)結(jié)構(gòu),另一種是采用通用計(jì)算機(jī)廣泛使用的程序存儲(chǔ)器與數(shù)據(jù)存儲(chǔ)器合二為一的結(jié)構(gòu),即普林斯頓(Princeton)結(jié)構(gòu)。INTEL的AT89C51系列單片機(jī)采用的是哈佛結(jié)構(gòu)的形式,而后續(xù)
52、產(chǎn)品16位的MCS-96系列單片機(jī)則采用普林斯頓結(jié)構(gòu)[9]。</p><p> 3.1.2 89C51單片機(jī)的引腳</p><p> 89C51單片機(jī)內(nèi)部總線是單總線結(jié)構(gòu),即數(shù)據(jù)總線和地址總線是公用的。89C51有40條引腳,與其他51系列單片機(jī)引腳是兼容的[10]。這40條引腳可分為I/O接口線、電源線、控制線、外接晶體線4部分.,89C51單片機(jī)為雙列直插式封裝結(jié)構(gòu),引腳如圖3.
53、2所示。</p><p> 圖3.2 89C51引腳分配圖</p><p> 89C51單機(jī)的電源線有以下兩種:</p><p> (1)VCC:+5V電源線。電源線。</p><p> ?。?)GND:接地線。</p><p> 89C51單片機(jī)的外接晶體引腳有以下兩種:</p><p&g
54、t; (1)XTAL1:片內(nèi)振蕩器反相放大器的輸入端和內(nèi)部時(shí)鐘工作的輸入端。采用內(nèi)部振蕩器時(shí),它接外部石英晶體和微調(diào)電容的一個(gè)引腳。</p><p> ?。?)XTAL2:片內(nèi)振蕩器反相放大器的輸出端,接外部石英晶體和微調(diào)電容的另一端。采用外部振蕩器時(shí),該引腳懸空。外接晶體引腳。</p><p> 控制線89C51單片機(jī)的控制線有以下幾種:</p><p>
55、(1)RST:復(fù)位輸入端,高電平有效。</p><p> ?。?):地址鎖存允許/編程線。</p><p> ?。?):外部程序存儲(chǔ)器的讀選通線。</p><p> (4):片外ROM允許訪問(wèn)端/編程電源端。</p><p> 3.2 89C51單片機(jī)復(fù)位電路</p><p> 單片機(jī)在開機(jī)時(shí)或在工作中因干擾而
56、使程序失控,或工作中程序處于某種死循環(huán)狀態(tài),在這種情況下都需要復(fù)位。復(fù)位的作用是使中央處理器CPU以及其他功能部件都恢復(fù)到一個(gè)確定的初始狀態(tài),并從這個(gè)狀態(tài)重新開始工作。</p><p> 89C51單片機(jī)的復(fù)位靠外部電路實(shí)現(xiàn),信號(hào)由RESET(RST)引腳輸入,高電平有效,在振蕩器工作時(shí),只要保持RST引腳高電平兩個(gè)機(jī)器周期,單片機(jī)即復(fù)位.復(fù)位后,PC程序計(jì)數(shù)器的內(nèi)容為0000H,片內(nèi)RAM中內(nèi)容不變.復(fù)位電路
57、一般有上電復(fù)位和上電∕按鍵手動(dòng)復(fù)位2種,如圖3.3所示。本設(shè)計(jì)中復(fù)位方式采用上電∕按鍵手動(dòng)復(fù)位方式。</p><p> 上電復(fù)位 上電∕按鍵手動(dòng)復(fù)位</p><p> 圖3.3 單片機(jī)復(fù)位電路</p><p><b> 3.3 時(shí)鐘電路</b></p><p> 單片機(jī)的晶振電路,即所謂的時(shí)鐘電路。單
58、片機(jī)的工作流程,就是在系統(tǒng)時(shí)鐘的作用下,一條一條地執(zhí)行存儲(chǔ)器中的程序。單片機(jī)的時(shí)鐘方式分為內(nèi)部時(shí)鐘方式和外部時(shí)鐘方式,如圖3.4所示。單片機(jī)的外部時(shí)鐘方式由外接時(shí)鐘源提供,頻率范圍較廣。單片機(jī)的內(nèi)部時(shí)鐘方式由外接的一只晶振和兩只起振電容,以及單片機(jī)內(nèi)部的時(shí)鐘電路組成,頻率范圍有限,晶振的頻率越高,單片機(jī)處理數(shù)據(jù)的速度越快,系統(tǒng)功耗也會(huì)相應(yīng)增加,穩(wěn)定性也會(huì)下降。單片機(jī)系統(tǒng)常用的晶振頻率有6MHz、11.0592MHz、12MHz。本系統(tǒng)采
59、用11.0592MHz晶振,電容選22pF或30pF均可。本系統(tǒng)采用內(nèi)部時(shí)鐘方式電路。</p><p><b> 圖3.4 時(shí)鐘電路</b></p><p> 3.4 鍵盤接口電路</p><p> 在單片機(jī)應(yīng)用系統(tǒng)中,常用鍵盤作為輸入設(shè)備,通過(guò)它將數(shù)據(jù)、內(nèi)存地址、命令及指令等輸入到系統(tǒng)中,來(lái)實(shí)現(xiàn)簡(jiǎn)單的人機(jī)通信。</p>
60、<p> 本設(shè)計(jì)中采用獨(dú)立式鍵盤。獨(dú)立式鍵盤的接口電路:在單片機(jī)應(yīng)用系統(tǒng)中,有時(shí)只需要幾個(gè)簡(jiǎn)單的按鍵向系統(tǒng)輸入信息。這時(shí),可將每個(gè)按鍵直接接在一根I/O接口線上,這種連接方式的鍵盤稱為獨(dú)立式鍵盤。如圖3.5所示,每個(gè)獨(dú)立按鍵單獨(dú)占有一根I/O接口線,每根I/O接口線的工作狀態(tài)不會(huì)影響到其他I/O接口線。這種按鍵接口電路配置靈活,硬件結(jié)構(gòu)簡(jiǎn)單,但每個(gè)按鍵必須占用一根I/O線,I/O接口線浪費(fèi)較大。故只在按鍵數(shù)量不多時(shí)采用這種按
61、鍵電路。</p><p> 在此電路中,按鍵輸入都采用低電平有效。上拉電阻保證了按鍵斷開時(shí),I/O接口線有確定的高電平。當(dāng)I/O接口內(nèi)部有上拉電阻時(shí),外電路可以不配置上拉電阻。</p><p> 圖3.5 鍵盤接口電路</p><p> 單片機(jī)接口與對(duì)應(yīng)的數(shù)值功能見表3.1。</p><p> 表3.1 接口與對(duì)應(yīng)的數(shù)值功能表<
62、/p><p> 當(dāng)S9按下時(shí)P3.1為低電平,設(shè)置初值(當(dāng)S8按下時(shí)設(shè)置設(shè)置綠燈初值,當(dāng)S8斷開時(shí)設(shè)置紅燈初值);當(dāng)S9斷開時(shí),不重新設(shè)置紅綠燈初值。</p><p> 3.5 8255A與74LS373簡(jiǎn)介</p><p> 3.5.1 8255A簡(jiǎn)介</p><p> ?。?)8255A可編程并行接口芯片有三個(gè)輸入輸出端口,即A口、B
63、口和C口,對(duì)應(yīng)于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個(gè)控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個(gè)端口包含一個(gè)4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號(hào)輸出或作為狀態(tài)信號(hào)輸入[12]。引腳圖如圖3.6所示。</p><p> 圖3.6 8255A引腳圖</p>&l
64、t;p> 8255A可編程并行接口芯片方式控制字格式說(shuō)明:</p><p> 8255A有兩種控制命令字;一個(gè)是方式選擇控制字;另一個(gè)是C口按位置位/復(fù)位控制字。其中C口按位置位/復(fù)位控制字方式使用較為繁難,說(shuō)明也較冗長(zhǎng),故在此不作敘述。</p><p> 方式控制字格式說(shuō)明見表3.2。</p><p> 表3.2 方式控制字格式</p>
65、<p> D7:設(shè)定工作方式標(biāo)志,1有效。</p><p> D6、D5:A口方式選擇。</p><p><b> 00—方式0</b></p><p><b> 01—方式1</b></p><p><b> 1×—方式2</b></p&
66、gt;<p> D4:A口功能(1=輸入,0=輸出)。</p><p> D3:C口高4位功能(1=輸入,0=輸出)。</p><p> D2:B口方式選擇(0=方式0,1=方式1)。</p><p> D1:B口功能(1=輸入,0=輸出)。</p><p> D0:C口低4位功能(1=輸入,0=輸出)。</p&
67、gt;<p> 8255A可編程并行接口芯片工作方式說(shuō)明:</p><p> 方式0:基本輸入/輸出方式。適用于三個(gè)端口中的任何一個(gè)。每一個(gè)端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。</p><p> 方式1:選通輸入/輸出方式。這時(shí)A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。</p><
68、p> 方式2:雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時(shí)C口的5條線用作通訊聯(lián)絡(luò)信號(hào)和中斷請(qǐng)求信號(hào)。</p><p> (2)8255A常用于8051并行口的擴(kuò)展。8051雖然有4個(gè)8位I/O端口,但真正能提供借用的只有P1口,因?yàn)镻2和P0口通常用于傳送外部傳送地址和數(shù)據(jù),P3口也有它的第二功能。因此,8051通常需要擴(kuò)展。由于我們用外部輸入設(shè)定紅綠燈倒計(jì)時(shí)初值、數(shù)碼管的輸
69、出顯示、紅綠黃信號(hào)燈的顯示都要用到一個(gè)I/O端口,顯然8051的端口是不夠,需要擴(kuò)展。</p><p> 擴(kuò)展的方法有兩種:1)借用外部RAM地址來(lái)擴(kuò)展I/O端口;2)采用I/O接口芯片來(lái)擴(kuò)充。我們用8255A并行接口芯片來(lái)擴(kuò)展I/O端口。</p><p> ?。?)8255A與AT89C51的連接:</p><p> 用AT89C51的P0口的p0.7連接82
70、55的片選信號(hào)CS我們用89C51的地址采用全譯碼方式,當(dāng)P0.7=0時(shí)片選有效,其他無(wú)效,P0.1,P0.0用于選擇8255端口。</p><p> P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0</p><p> A7 A6 A5 A4 A3 A2 A1 A0</p><p> 0 X
71、 X X X X 0 0 00H為8255 的PA口</p><p> 0 X X X X X 0 1 01H 為8255的PB口</p><p> 0 X X X X X 1 0 02H 為8255的PC口</p><p> 0
72、 X X X X X 1 1 03H 為8255的控制口</p><p> 由于89C51是分時(shí)對(duì)8255和儲(chǔ)存器進(jìn)行訪問(wèn),所以與89C51的P0口不會(huì)發(fā)生沖突。</p><p> 3.5.2 74LS373簡(jiǎn)介</p><p> 74LS373是一種帶三態(tài)門的8D鎖存器,本設(shè)計(jì)應(yīng)用74LS373作為89C51的P0口地
73、址鎖存器,其管腳示意圖如圖3.7所示。</p><p> 圖3.7 74LS373引腳</p><p> 其中:1D-8D為8個(gè)輸入端。</p><p> 1Q-8Q為8個(gè)輸出端。</p><p> C為數(shù)據(jù)打入端:當(dāng)C為“1”時(shí),鎖存器輸出狀態(tài)同輸入狀態(tài);當(dāng)C由“1”變“0”時(shí),數(shù)據(jù)打入鎖存器。</p><p&g
74、t; 為輸出允許端:當(dāng)=0時(shí),三態(tài)門打開;當(dāng)=1時(shí),三態(tài)門關(guān)閉,輸出高阻。</p><p> 3.6 八段LED數(shù)碼管顯示電路</p><p> LED數(shù)碼管顯示器是由發(fā)光二極管顯示字段的MCS-51單片機(jī)輸出設(shè)備。LED數(shù)碼管的結(jié)構(gòu)簡(jiǎn)單,分為七段和八段兩種形式,也有共陽(yáng)和共陰之分。以八段共陰管為例,它有8個(gè)發(fā)光二極管(比七段多一個(gè)發(fā)光二極管,用來(lái)顯示dp,即點(diǎn))。單片機(jī)應(yīng)用系統(tǒng)常
75、采用八段LED數(shù)碼管作為顯示器,這種顯示器具有耗電低、配置靈活、線路簡(jiǎn)單、安裝方便、耐轉(zhuǎn)動(dòng)、價(jià)格低廉且壽命長(zhǎng)等優(yōu)點(diǎn)[16]。因此應(yīng)用比較廣泛。</p><p> LED數(shù)碼管顯示器可以分為共陰極和共陽(yáng)極兩種結(jié)構(gòu)。</p><p> ?。?)共陰極結(jié)構(gòu):如果所有的發(fā)光二極管的陰極接在一起,稱為共陰極結(jié)構(gòu),則數(shù)碼顯示段輸入高電平有效,當(dāng)某段輸入高電平該段便發(fā)光,如圖3.8所示。本設(shè)計(jì)中采用這
76、種結(jié)構(gòu)。</p><p> ?。?)共陽(yáng)極結(jié)構(gòu):如果所有的發(fā)光二極管的陽(yáng)極接在一起,稱為共陽(yáng)極結(jié)構(gòu),則數(shù)碼顯示段輸入低平有效,當(dāng)某段輸入低電平該段便發(fā)光,如圖3.8所示。</p><p> 圖3.8 八段LED顯示器</p><p> LED燈的顯示原理:通過(guò)同名管腳上所加電平的高低來(lái)控制發(fā)光二極管是否點(diǎn)亮而顯示不同的字形。以共陰極結(jié)構(gòu)為例,如dp,g,f,e,
77、d,c,b,a管角上加上7FH,因此dp上為0v,則二極管全亮顯示為8。采用共陰極連接驅(qū)動(dòng)代碼,代碼見表3.3。</p><p> 表3.3 驅(qū)動(dòng)代碼表</p><p> LED8段數(shù)碼管的設(shè)置為每個(gè)方位上的一對(duì)雙位數(shù)碼管。四個(gè)方位上總共用8個(gè)LED數(shù)碼管接在單片機(jī)的I/O擴(kuò)展口8255上。雖然東、西或南、北道路口不一樣,但是顯示的時(shí)間在數(shù)字上是一樣的,所以兩邊連接的數(shù)碼管是對(duì)稱的。如
78、圖3.9所示。</p><p> 圖3.9 LED雙位數(shù)碼管顯示電路</p><p> 其中PC0~PC7作為段選碼,PB0~PB3作為位選碼。</p><p> 3.7 看門狗硬件電路 </p><p> 由于單片機(jī)自身的抗干擾能力比較差,尤其在一些條件比較惡劣、噪聲大的場(chǎng)合,常會(huì)出現(xiàn)單片機(jī)因?yàn)槭芡饨绺蓴_而導(dǎo)致死機(jī)的現(xiàn)象,造成系
79、統(tǒng)不能正常工作。設(shè)置看門狗是為了防止單片機(jī)死機(jī)、提高單片機(jī)系統(tǒng)抗干擾性的一種重要途徑[17]。</p><p> 在一個(gè)單片機(jī)應(yīng)用系統(tǒng)中,所謂的“看門狗”是指在系統(tǒng)設(shè)計(jì)中通過(guò)軟件或硬件方式在一定的周期內(nèi)監(jiān)控單片機(jī)或其它CPU的運(yùn)行情況。如果在規(guī)定的時(shí)間內(nèi)沒有收到來(lái)自單片機(jī)或其它CPU的觸發(fā)信號(hào),則系統(tǒng)會(huì)強(qiáng)制復(fù)位,以保證系統(tǒng)在受到干擾時(shí)仍能夠維持正常的工作狀態(tài)。在單片機(jī)系統(tǒng)中,看門狗的設(shè)計(jì)一般采用硬件和軟件兩種方
80、式。這里采用硬件看門狗方式[18]。</p><p> 硬件看門狗是指一些集成化的或集成在單片機(jī)內(nèi)的專用看門狗電路,它實(shí)際上是一個(gè)特殊的定時(shí)器,當(dāng)定時(shí)時(shí)間到時(shí),發(fā)出溢出脈沖。從實(shí)現(xiàn)角度上看,該方式是一種軟件與片外專用電路相結(jié)合的技術(shù),硬件電路連接好后,在程序中適當(dāng)?shù)夭迦胍恍┛撮T狗復(fù)位的指令,保證程序正常運(yùn)行時(shí)看門狗不溢出。而當(dāng)程序運(yùn)行異常時(shí),看門狗超時(shí)發(fā)出溢出脈沖,通過(guò)單片機(jī)的RESET引腳使單片機(jī)復(fù)位。這種方
81、式中,看門狗能否可靠有效地工作,與硬件組成及軟件的控制策略都有密切的關(guān)系。目前常用的集成看門狗電路很多,如MAX705~708、MAX813L、X5043/5045等[20]。</p><p> 這里,以專用芯片MAX692作為外部看門狗的電路。</p><p> MAX692是微系統(tǒng)監(jiān)控電路芯片,具有后備電池切換、掉電判別、看門狗監(jiān)控等功能。其引腳說(shuō)明如圖3.10所示。</p&
82、gt;<p> 圖3.10 MAX692引腳</p><p> VOUT:電源輸出引腳。</p><p> VCC:接電源引腳,電源供電3.0~5.5V。</p><p><b> GND:接地。</b></p><p> PFI:電池故障輸入。</p><p><b
83、> :電池故障輸出。</b></p><p> WDI:監(jiān)視器輸入引腳。</p><p> ?。簭?fù)位輸出引腳,低電平有效。</p><p> VBATT:后備電池輸入端。</p><p> MAX692在本設(shè)計(jì)中的使用:WDI是看門狗監(jiān)測(cè)輸入腳,接到CPU的一個(gè)專用I/O口或一個(gè)總線上,這里接到P0.7口上。是復(fù)位信
84、號(hào)輸出腳,接到CPU的復(fù)位輸入腳。</p><p> MAX692的WDI定時(shí)周期是1.6s,復(fù)位脈沖寬度是200ms。如果WDI保持高電平超過(guò)看門狗定時(shí)周期(1.6s),端將發(fā)生200ms的負(fù)脈沖使CPU復(fù)位。</p><p> 3.8 紅外對(duì)管檢測(cè)電路</p><p> 車輛檢測(cè)傳感器的類型主要有壓力檢測(cè)器、磁感應(yīng)式檢測(cè)器、超聲波檢測(cè)器、紅外對(duì)管檢測(cè)器、
85、雷達(dá)檢測(cè)器等。每種傳感器都各有優(yōu)缺點(diǎn),本設(shè)計(jì)中采用紅外對(duì)管檢測(cè)器作為檢測(cè)車流量和闖紅燈車輛的檢測(cè)器件[22]。</p><p> 紅外對(duì)管檢測(cè)電路由紅外發(fā)射電路和紅外接收管電路組成。</p><p> ?。?)紅外發(fā)射管就是發(fā)射紅外線的二極管,波長(zhǎng)主要有940nm和850nm兩種,材料一般都是GaAlAs,其工作電流一般在50mA,主要用于紅外控制系統(tǒng)的發(fā)射源。發(fā)射信號(hào)經(jīng)頻率調(diào)制后一般接
86、收距離可超過(guò)10米,無(wú)干擾時(shí)可超過(guò)30米。</p><p> 常用的紅外發(fā)光二極管發(fā)出的紅外線波長(zhǎng)為940nm左右,外形與普通φ5mm發(fā)光二極管相同,只是顏色不同。一般有透明、黑色和深藍(lán)色等三種。判斷紅外發(fā)光二極管的好壞與判斷普通二極管一樣的方法。單只紅外發(fā)光二極管的發(fā)射功率約100mW。</p><p> ?。?)紅外接收管是接收電路的一種光敏二極管,使用時(shí)要給紅外接收二極管加反向偏壓
87、,它才能正常工作而獲得高的靈敏度。紅外接收二極管一般有圓形和方形兩種。由于紅外發(fā)光二極管的發(fā)射功率較小,紅外接收二極管收到的信號(hào)較弱,所以接收端就要增加高增益放大電路。然而現(xiàn)在不論是業(yè)余制作或正式的產(chǎn)品,大都采用成品的一體化接收頭。紅外線一體化接收頭是集紅外接收、放大、濾波和比較器輸出等的模塊,性能穩(wěn)定、可靠。</p><p> 本設(shè)計(jì)中的紅外對(duì)管檢測(cè)電路如圖3.11所示。D1、D2分別作為東西路口紅外發(fā)射和接
88、受管;D3、D4分別作為南北路口紅外發(fā)射和接受管。其中P3.2口接?xùn)|西路口紅外對(duì)管,用來(lái)檢測(cè)東西方向車輛情況;P3.3口接南北路口紅外對(duì)管,用來(lái)檢測(cè)南北方向車輛情況。當(dāng)東西方向有車輛經(jīng)過(guò)或闖紅燈時(shí),單片機(jī)外部中斷0中斷,進(jìn)入相應(yīng)的中斷服務(wù)子程序;當(dāng)南北方向有車輛經(jīng)過(guò)或闖紅燈時(shí),單片機(jī)外部中斷1中斷,進(jìn)入相應(yīng)的中斷服務(wù)子程序執(zhí)行,記錄車流量或報(bào)警。</p><p> 圖3.11 紅外對(duì)管檢測(cè)電路</p>
89、;<p> 3.9 驅(qū)動(dòng)和放大電路</p><p> 為了提高數(shù)碼管的亮度,和使單片機(jī)正常工作,以使蜂鳴器正常報(bào)警,常使用驅(qū)動(dòng)電路。常用的驅(qū)動(dòng)芯片有同相驅(qū)動(dòng)芯片和反相驅(qū)動(dòng)芯片。</p><p> 本設(shè)計(jì)采用74LS244作為同相驅(qū)動(dòng)芯片,驅(qū)動(dòng)交通信號(hào)燈和段選碼;采用74HC240作為反相驅(qū)動(dòng)芯片,驅(qū)動(dòng)數(shù)碼管位選碼;采用74LS04作為反相驅(qū)動(dòng)芯片和放大芯片,驅(qū)動(dòng)蜂鳴器
90、報(bào)警。</p><p> 74LS244為3態(tài)8位同相緩沖器,一般用作總線驅(qū)動(dòng)器。地址鎖存器就是一個(gè)暫存器,它根據(jù)控制信號(hào)的狀態(tài),將總線上地址代碼暫存起來(lái)。它主要用于三態(tài)輸出,作為地址驅(qū)動(dòng)器,時(shí)鐘驅(qū)動(dòng)器和總線驅(qū)動(dòng)器,定向發(fā)送器等[23]。當(dāng)片選信號(hào)為低電平時(shí),輸入和對(duì)應(yīng)的輸出同相;當(dāng)片選信號(hào)為高電平時(shí),其對(duì)應(yīng)的輸出截止,為高阻態(tài)。74LS244真值表見表3.4。</p><p> 表3
91、.4 74LS244真值表</p><p> 74LS244引腳如圖3.12所示。 </p><p> 圖3.12 74LS244引腳</p><p> 74HC240為3態(tài)8位反相緩沖器,功能與74LS244類似,只不過(guò)輸出與相應(yīng)的輸入反相。當(dāng)片選信號(hào)為低電平時(shí),輸入和對(duì)應(yīng)的輸出反相;當(dāng)片選信號(hào)為高電平時(shí),其對(duì)應(yīng)的輸出截止,為高阻態(tài)。74HC240真值表見表
92、3.5。</p><p> 表3.5 74HC240真值表</p><p> 74HC240引腳如圖3.13所示。</p><p> 圖3.13 74HC240引腳</p><p> 74LS04為非門電路,電路圖如圖3.14所示,作用是使輸入和輸出反相。</p><p> 圖3.14 74LS04引腳<
93、;/p><p> 紅外線接收放大電路由紅外線接收管和非門電路74LS04組成的電壓放大器組成,如圖3.15所示。用3個(gè)非門組成電壓放大器,R22是其反饋偏置電阻器。由紅外線接收管(VDL)將接收到的紅外反射信號(hào)變?yōu)殡娒}沖后,通過(guò)C5、R23加至電壓放大器的輸人端,進(jìn)行脈沖幅度的放大,然后輸入到單片機(jī)的I/O接口上。</p><p> 圖3.15 紅外線接收放大電路</p>&
94、lt;p> 3.10 交通指示燈電路</p><p> 根據(jù)本設(shè)計(jì)的特點(diǎn),紅綠燈的顯示不可少,紅綠燈的顯示采用普通的發(fā)光二極管。每個(gè)方向上設(shè)置紅綠黃燈,總共4組。如果東西紅燈亮,那南北方向就是綠燈亮,反之亦然,所以在硬件上連接圖上也是對(duì)稱分布的,如圖3.16所示。</p><p> 圖3.16 信號(hào)燈的連接</p><p> 在本設(shè)計(jì)中,實(shí)際控制的燈
95、只有6個(gè),即:東西紅燈,東西綠燈,東西黃燈,南北紅燈,南北綠燈,南北黃燈。其中均是低電平有效。</p><p> 共有3鐘狀態(tài):東西紅燈亮,南北綠燈亮(EEH);東西黃燈亮,南北黃燈亮(DBH);東西綠燈亮,南北紅燈亮(F5H)。</p><p> 括號(hào)中是PA端口8個(gè)引腳值PA0,PA1,PA2,PA3,PA4,PA5,PA6,PA7對(duì)應(yīng)的十六進(jìn)制碼。</p><
96、p> 在用于顯示發(fā)光二極管時(shí),直接由MOV指令將十六進(jìn)制碼送入P0口。剛才的3個(gè)狀態(tài)是依次變換的,這就要涉及到狀態(tài)的判斷和銜接了。</p><p> 3.11 報(bào)警電路和按鍵控制電路</p><p><b> ?。?)報(bào)警電路</b></p><p> 本設(shè)計(jì)采用一般蜂鳴器,蜂鳴器使用NPN三極管進(jìn)行驅(qū)動(dòng)控制,當(dāng)連接到單片機(jī)上的引
97、腳輸出為低電平,74LS04輸出為高電平,NPN導(dǎo)通,蜂鳴器蜂鳴;當(dāng)連接到單片機(jī)上的引腳輸出高電平時(shí),74LS04輸出為低電平,NPN截止,蜂鳴器停止蜂鳴。如圖3.17所示。</p><p> 圖3.17 報(bào)警電路</p><p><b> (2)按鍵控制電路</b></p><p> 本設(shè)計(jì)設(shè)置了2個(gè)獨(dú)立式按鍵:S11鍵,S12鍵。每個(gè)
98、按鍵一端接地,另一端接上拉電阻。低電平有效,當(dāng)按鍵按下端口接地,單片機(jī)捕獲到低電平,從而知道相應(yīng)的輸入信息。綠燈時(shí)間時(shí),當(dāng)S11鍵按下,顯示東西方向車流量;當(dāng)S12鍵按下,顯示南北方向車流量。如圖3.18所示。</p><p> 圖3.18 按鍵控制電路</p><p><b> 4 系統(tǒng)軟件設(shè)計(jì)</b></p><p> 本設(shè)計(jì)的全部
99、控制程序?qū)嶋H上分為若干子程序:T0中斷子程序,東西、南北路口紅外檢測(cè)中斷子程序,1ms延時(shí)子程序,時(shí)間顯示子程序,黃燈閃爍5s子程序,檢測(cè)車流量與顯示子程序,報(bào)警子程序等。</p><p> 4.1 1秒的設(shè)定和T0定時(shí)器</p><p> 延時(shí)方法可以有兩種一中是利用MCS-51內(nèi)部定時(shí)器才生溢出中斷來(lái)確定1秒的時(shí)間,另一種是采用軟延時(shí)的方法。本設(shè)計(jì)采用T0定時(shí)器方法來(lái)設(shè)定1S時(shí)間
100、。其中T0定時(shí)又有兩種方法:中斷和查詢。這里采用T0定時(shí)器中斷方法。</p><p> ?。?)定時(shí)器工作原理</p><p> 定時(shí)器工作的基本原理其實(shí)就是給初值,讓它不斷加1直至減完為模值,這個(gè)初值是送到TH和TL中的。它是以加法記數(shù)的,并能從全1到全0時(shí)自動(dòng)產(chǎn)生溢出中斷請(qǐng)求。因此,我們可以把計(jì)數(shù)器記滿為零所需的計(jì)數(shù)值,即所要求的計(jì)數(shù)值設(shè)定為C,把計(jì)數(shù)初值設(shè)定為TC可得到如下計(jì)算通式
101、[14]: (4.1)</p><p> 式中:M為計(jì)數(shù)器模值。計(jì)數(shù)值并不是目的,目的是時(shí)間值,設(shè)計(jì)1次的時(shí)間,即定時(shí)器計(jì)數(shù)脈沖的周期為,它是單片機(jī)系統(tǒng)主頻周期的12倍,設(shè)要求的時(shí)間值為T,則有。計(jì)算通式變?yōu)椋?lt;/p><p><b> (4.2)
102、</b></p><p> 模值和計(jì)數(shù)器工作方式有關(guān)。在方式0時(shí)M為8192;在方式1時(shí)M的值為65536;在方式2和3為256。就此可以算出各種方式的最大延時(shí)。如單片機(jī)的主脈沖頻率為12MHZ,經(jīng)過(guò)12分頻后,若采用方式0最大延時(shí)只有8.129毫秒,采用方式1最大延時(shí)也只有65.536毫秒。這就是為什么掃描周期為50ms的原因,</p><p> 若使用軟件則會(huì)耽擱程序流
103、程,顯然不可行。相反,時(shí)間計(jì)時(shí)方面卻不可能只用計(jì)數(shù)器,因?yàn)轱@然1秒鐘已經(jīng)超過(guò)了計(jì)數(shù)器的最大定時(shí)間,所以我們還必須采用定時(shí)器和軟件相結(jié)合的辦法才能解決這個(gè)問(wèn)題。</p><p><b> ?。?)1秒的方法</b></p><p> 我們采用在主程序中設(shè)定一個(gè)初值為20的軟件計(jì)數(shù)器和使T0定時(shí)50毫秒.這樣每當(dāng)T0到50毫秒時(shí)CPU就響應(yīng)它的溢出中斷請(qǐng)求,進(jìn)入他的中斷
104、服務(wù)子程序。在中斷服務(wù)子程序中,CPU先重裝入定時(shí)器初值,再使軟件計(jì)數(shù)器減1,然后判斷它是否為零,為零表示1秒已到可以返回到輸出時(shí)間顯示程序。</p><p><b> 1)主程序: </b></p><p> 定時(shí)器需定時(shí)50毫秒,故T0工作于方式1。初值:</p><p> =216?。?0ms/1us=15536=3CBOH<
105、;/p><p><b> ORG 1000H</b></p><p> START: MOV TMOD,#01H ;令T0為定時(shí)器方式1</p><p> MOV TH0,#3CH ;裝入定時(shí)器初值</p><p> MOV TL0,#0BOH ;</p><p> M
106、OV IE,#82H ;開T0中斷</p><p> SETB TR0 ;啟動(dòng)T0計(jì)數(shù)器</p><p> MOV RO,#14H ;軟件計(jì)數(shù)器賦初值</p><p> LOOP: SJMP $ ;循環(huán)等待中斷</p><p> 2)T0中斷服務(wù)子程序:</p><
107、p><b> ORG 000BH</b></p><p><b> AJMP BRTO</b></p><p><b> ORG 0300H</b></p><p> BRTO: MOV TH0,#3CH ;重裝入定時(shí)器初值</p><p> MOV
108、 TL0,#0BOH ;</p><p> DJNZ R0,NEXT</p><p> MOV R0,#14H ;恢復(fù)R0值</p><p> AJMP TIME ;跳轉(zhuǎn)到時(shí)間及信號(hào)燈顯示子程序</p><p> NEXT: RET1</p><p><b> END<
109、/b></p><p> 本設(shè)計(jì)中的T0中斷子程序流程圖如圖4.1所示。</p><p> 圖4.1 T0中斷子程序流程圖</p><p> 4.2 東西、南北路口紅外檢測(cè)中斷子程序</p><p> 本系統(tǒng)主要使用了外部中斷,中斷信號(hào)有引腳INT0和INT1輸入,低電平有效,CPU每個(gè)時(shí)鐘周期都會(huì)檢測(cè)INT0和INT1上的信
110、號(hào),89C51允許外部中斷以電平方式或負(fù)邊沿方式兩種中斷方式輸入中斷請(qǐng)求信號(hào),可由用戶通過(guò)設(shè)置TCON中IT0和IT1位的狀態(tài)來(lái)實(shí)現(xiàn)。以IT0為例,IT0=0,為電平觸發(fā)方式,IT0=1,為負(fù)邊沿觸發(fā)方式,本設(shè)計(jì)采用邊沿觸發(fā)方式,IE0為其中斷標(biāo)志位,有中斷信號(hào)則置位,中斷服務(wù)子程序響應(yīng)后,IE0自動(dòng)清零。IE中的EA為允許中斷的總控制位,為1開啟,EX0為外部中斷允許控制位,為1開啟。</p><p> 在優(yōu)
111、先級(jí)的允許下,一旦有外部中斷信號(hào)產(chǎn)生,單片機(jī)CPU首先保護(hù)斷點(diǎn),PC值進(jìn)棧,然后執(zhí)行相應(yīng)的中斷服務(wù)子程序,執(zhí)行完后,用RETI指令返回,此時(shí)CPU會(huì)從堆棧中取保存的斷點(diǎn)地址,送回PC,程序再正常執(zhí)行。</p><p> 正常情況下,紅外對(duì)管導(dǎo)通,INT0和INT1輸入為低電平,CPU不中斷;當(dāng)有車輛經(jīng)過(guò)時(shí),紅外對(duì)管不導(dǎo)通,INT0和INT1輸入為高電平,向CPU輸入中斷請(qǐng)求信號(hào),CPU中斷,并執(zhí)行相應(yīng)的中斷服務(wù)
112、子程序,即報(bào)警或記錄車流量。本設(shè)計(jì)中的東西、南北路口紅外檢測(cè)中斷子程序流程圖如圖4.2所示。</p><p> 圖4.2 東西、南北路口紅外檢測(cè)中斷子程序流程圖</p><p> 4.3 1ms軟件延時(shí)子程序</p><p> MCS-51的工作頻率為12MHZ,機(jī)器周期與主頻有關(guān),機(jī)器周期是主頻的12倍,所以一個(gè)機(jī)器周期的時(shí)間為12*(1/12MHZ)=1
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城市交通信號(hào)控制系統(tǒng)的設(shè)計(jì)論文
- 交通信號(hào)燈控制器設(shè)計(jì)論文
- 城市交通信號(hào)控制研究.pdf
- 城市交通信號(hào)控制及其應(yīng)用研究
- 基于多智能體的城市交通信號(hào)控制的協(xié)調(diào)與優(yōu)化-學(xué)士畢業(yè)論文
- 城市交通信號(hào)模糊控制方法研究.pdf
- 城市交通信號(hào)優(yōu)化控制算法研究.pdf
- 畢業(yè)論文plc交通信號(hào)燈控制設(shè)計(jì)
- 交通信號(hào)燈plc控制設(shè)計(jì)畢業(yè)論文
- 城市交通信號(hào)的免疫優(yōu)化控制研究.pdf
- 城市交通信號(hào)的智能控制算法研究.pdf
- plc交通信號(hào)燈的控制設(shè)計(jì) 畢業(yè)論文
- 交通信號(hào)燈畢業(yè)論文(設(shè)計(jì))
- 數(shù)字邏輯課程設(shè)計(jì)-- 交通信號(hào)控制器
- 城市交通信號(hào)控制理論與方法的研究.pdf
- 基于模糊邏輯的城市交通信號(hào)優(yōu)化控制.pdf
- 基于Agent的城市交通信號(hào)控制方法研究.pdf
- 課程設(shè)計(jì)---交通信號(hào)燈控制器
- 課程設(shè)計(jì)---交通信號(hào)燈控制器
- 數(shù)電eda交通信號(hào)燈的課程設(shè)計(jì)--交通信號(hào)燈控制器
評(píng)論
0/150
提交評(píng)論