

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科生畢業(yè)論文(設(shè)計)</p><p> 題 目: 交通信號智能控制系 </p><p> 統(tǒng)的研究與設(shè)計 </p><p> 學(xué)生姓名: </p><p> 學(xué) 號: </p><p>
2、專業(yè)班級: 通信工程08102班 </p><p> 指導(dǎo)教師: </p><p> 完成時間: 2012年5月10日 </p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p>&
3、lt;p> AbstractII</p><p><b> 第1章 緒論1</b></p><p><b> 1.1研究意義1</b></p><p> 1.2交通燈研究現(xiàn)狀2</p><p> 1.2.1 國內(nèi)城市交通現(xiàn)狀2</p><p> 1
4、.2.2 國際先進(jìn)成果2</p><p> 第2章 總體方案設(shè)計4</p><p> 2.1 方案的比較與選擇4</p><p> 2.1.1 方案的比較4</p><p> 2.1.2 方案的選擇5</p><p> 第3章 系統(tǒng)硬件設(shè)計7</p><p> 3.1
5、 單片機概述7</p><p> 3.2 電源電路12</p><p> 3.3 檢測電路13</p><p> 3.3.1 紅外傳感器的發(fā)展13</p><p> 3.3.2常用的紅外傳感器13</p><p> 3.3.3 熱釋電紅外傳感器簡介15</p><p>
6、3.3.4 檢測車流量的方法15</p><p> 3.4 緊急按鍵K1電路16</p><p> 3.5 紅綠燈顯示電路17</p><p> 3.6 倒計時顯示電路18</p><p> 3.7振蕩電路20</p><p> 3.8復(fù)位電路21</p><p> 第4
7、章 系統(tǒng)軟件設(shè)計23</p><p> 4.1 主程序設(shè)計24</p><p> 4.2延時子程序27</p><p> 4.2.1 計數(shù)器硬件延時27</p><p> 4.2.2 軟件延時29</p><p> 4.3 計數(shù)器計數(shù)30</p><p> 4.4 數(shù)碼管
8、顯示子程序31</p><p> 4.5 黃燈閃爍子程序32</p><p> 4.6 車流量算法子程序32</p><p> 4.7 緊急車輛子程序33</p><p> 第5章 系統(tǒng)實現(xiàn)34</p><p> 5.1 仿真軟件簡介34</p><p> 5.1.1 P
9、roteus軟件簡介34</p><p> 5.1.2 Keil軟件簡介36</p><p> 5.2 仿真實現(xiàn)38</p><p><b> 結(jié) 論41</b></p><p><b> 參考文獻(xiàn)42</b></p><p><b> 致
10、 謝43</b></p><p><b> 附 錄44</b></p><p><b> 摘 要</b></p><p> 本文根據(jù)AT89C51單片機的特點及交通燈在實際控制中的特點,提出了一種用單片機自動控制交通燈以及時間顯示的方法,同時給出了軟硬件設(shè)計的方法。設(shè)計的過程包括硬件電路設(shè)計和程
11、序設(shè)計兩大步驟,對在單片機應(yīng)用中可能遇到的重要設(shè)計問題都有涉足。本系統(tǒng)采用單片機作為核心控制器,通過紅外檢測系統(tǒng)來測量東西方向和南北方向的車流量大小,經(jīng)過簡單的算法得出紅綠燈時間。然后分別用紅、黃、綠燈的不同組合來指揮兩個方向的通車與禁行,用LED數(shù)碼管作為倒計時指示,實時地控制當(dāng)前交通燈時間使LED顯示器進(jìn)行倒計時工作并與狀態(tài)燈保持同步,在保持交通安全的同時最大限度地提高交通能順暢交替運行,從而實現(xiàn)十字路口的智能交通控制。</p
12、><p> 關(guān)鍵詞:單片機;交通燈;紅外檢測;智能控制</p><p><b> Abstract</b></p><p> According to the characteristics of the AT89C51 microcontroller and the characteristics of traffic lights in
13、the actual control,the paper proposes a kind of automatic traffic lights with a single chip and method of time display and gives the hardware and software design methods. The process of design includes the hardware circu
14、it design and programming two steps, and might encounter important problems in the design of SCP application.The system uses the SCM as the core controller and measures t</p><p> Keywords: SCM,Traffic ligh
15、ts, Infrared detection, Intelligent Control</p><p><b> 第1章 緒論</b></p><p> 1858年,在英國倫敦主要街頭安裝了以燃煤氣為光源的紅、藍(lán)兩色的機械扳手式信號燈,用以指揮馬車通行,這是世界上最早的交通信號燈。1918年,又出現(xiàn)了帶控制的紅綠燈和紅外線紅綠燈。信號燈的出現(xiàn),使交通得以有效管制,
16、對于疏導(dǎo)交通流量、提高道路通行能力,減少交通事故有明顯效果。1968年,聯(lián)合國《道路交通和道路標(biāo)志信號協(xié)定》對各種信號燈的含義作了規(guī)定:綠燈是通行信號,面對綠燈的車輛可以直行,左轉(zhuǎn)彎和右轉(zhuǎn)彎,除非另一種標(biāo)志禁止某一種轉(zhuǎn)向。左右轉(zhuǎn)彎車輛都必須讓合法地正在路口內(nèi)行駛的車輛和過人行橫道的行人優(yōu)先通行。紅燈是禁行信號,面對紅燈的車輛必須在交叉路口的停車線后停車。黃燈是警告信號,面對黃燈的車輛不能越過停車線。</p><p&g
17、t;<b> 1.1研究意義</b></p><p> 隨著社會經(jīng)濟快速發(fā)展,汽車數(shù)量的急劇增加,給城市交通帶來了極大的壓力。特別是在上下班高峰期,巨大的車流量使得道路擁擠,造成了不必要的時間浪費與經(jīng)濟損失。由此可見,交通擁塞已成為一個國際性的問題。因此,設(shè)計可靠、安全、便捷的智能交通燈控制系統(tǒng)有極大的現(xiàn)實必要性。而社會上正在使用的交通控制系統(tǒng)主要有兩個缺陷:1、車道放行車輛時,時間設(shè)定
18、相同且固定,十字路口經(jīng)常出現(xiàn)主車道車輛多,放行時間短,車流無法在規(guī)定時間內(nèi)通過,而副車道車輛少,放行時間明顯過長;2、未考慮急車強通(例如,消防車執(zhí)行緊急任務(wù)時,兩車道都應(yīng)等待消防車通過)。由于交通信號燈控制系統(tǒng)缺乏有效的應(yīng)急措施,導(dǎo)致十字路口交通受阻,造成不必要的經(jīng)濟損失。</p><p> 本系統(tǒng)利用AT89C51單片機,實現(xiàn)了根據(jù)區(qū)域車流量、紅外檢測或者人為操作進(jìn)行十字路口交通信號燈智能控制,并在軟硬件方
19、面采取一些改進(jìn)措施,實現(xiàn)了根據(jù)十字路口車流、紅外檢測量進(jìn)行交通信號燈智能控制,并且在緊急情況下,可以使用緊急按鍵使兩路口都為紅燈,讓緊急車輛通過后再恢復(fù)正常通車,這樣,交通信號燈現(xiàn)場控制靈活、有效,從一定程度上解決了交通路口堵塞、車輛停車等待時間不合理等問題,并可通過人為控制來解決緊急車輛強通問題。該系統(tǒng)具有結(jié)構(gòu)簡單、可靠性高、成本低、實時性好、安裝維護(hù)方便等優(yōu)點,并且具有良好的擴展完善特點,有廣泛的應(yīng)用前景。</p>&
20、lt;p> 1.2交通燈研究現(xiàn)狀</p><p> 1.2.1 國內(nèi)城市交通現(xiàn)狀</p><p> 汽車進(jìn)入家庭步伐的加快和城市汽車數(shù)量的增多, 城市道路交通問題顯得越來越重要。我們在馬路上經(jīng)常會看到這種現(xiàn)象: 一旦整個路口的交通信號燈出現(xiàn)故障, 若沒有交警的及時疏導(dǎo), 該路口就會塞得一塌糊涂。原交通信號控制大都采用繼電器實現(xiàn), 存在著功能少、可靠性差、維護(hù)量大等缺點,越來越不
21、能適應(yīng)城市道路交通高速發(fā)展的要求。另外, 根據(jù)人車流量的多少, 可能隨時增加路口的交通信號, 比如增加轉(zhuǎn)彎或人行道交通信號, 原有系統(tǒng)的制約性就更明顯了。交通問題在現(xiàn)在乃至將來的一段時間內(nèi)仍是制約國內(nèi)各大中城市發(fā)展的主要問題之一。</p><p> 以北京為例,“開車沒有騎車快,坐車沒有走路快”,這種現(xiàn)象在北京交通高峰時段已是見怪不怪。當(dāng)年,奧委會在《申辦城市手冊》中談到交通問題時指出:“成功舉辦奧運會的關(guān)鍵因
22、素是要有一個有效的交通系統(tǒng)”,而“北京正面臨著經(jīng)濟發(fā)展和城市快速擴展而產(chǎn)生的交通需求挑戰(zhàn)”,從而可見一個有效的先進(jìn)的交通系統(tǒng)的重要性。</p><p> 目前各城市都在不斷改善交通設(shè)施,改進(jìn)各十字路口交通燈控制方式,都得到了很好的效果。</p><p> 1.2.2 國際先進(jìn)成果</p><p> 智能控制交通系統(tǒng)是目前研究的方向,也已經(jīng)取得不少成果,在少數(shù)幾
23、個先進(jìn)國家已采用智能方式來控制交通信號,其中主要運用GPS全球定位系統(tǒng)等。出于便捷和效果的綜合考慮,可以制作傳感器探測車輛數(shù)量來控制交通燈的時長。具體如下:在入路口的各個方向附近的地下按要求埋設(shè)感應(yīng)線圈,當(dāng)汽車經(jīng)過時就會產(chǎn)生渦流損耗,環(huán)狀絕緣電線的電感開始減少,即可檢測出汽車的通過,并將這一信號轉(zhuǎn)換為標(biāo)準(zhǔn)脈沖信號作為單片機的控制輸入,并用單片機的計數(shù)器計數(shù),按一定控制規(guī)律自動調(diào)節(jié)紅綠燈的時長。比較傳統(tǒng)的定時交通燈控制與智能交通燈控制,可
24、知后者的最大優(yōu)點在于減緩滯流現(xiàn)象,也不會出現(xiàn)空道占時的情形,提高了公路交通通行率。目前,基于單片機的智能交通系統(tǒng)在國內(nèi)外還處于研究發(fā)展階段,但已取得了很大的研究成果,得到了豐富的理論知識。</p><p> 第2章 總體方案設(shè)計</p><p> 2.1 方案的比較與選擇</p><p> 2.1.1 方案的比較</p><p>
25、方案一 :基于PLC的交通智能控制系統(tǒng)</p><p> 本系統(tǒng)利用EPM240TC100C5核心板控制模塊為核心控制部件,加入振蕩電路、車流量檢測電路、緊急按鍵電路、紅綠燈顯示電路以及倒計時顯示電路組成功系統(tǒng),實現(xiàn)對十字路口交通信號燈的智能控制,系統(tǒng)基本原理框圖如圖2.1所示:</p><p> 圖2.1基于PLC的交通智能控制系統(tǒng)基本原理框圖</p><p>
26、; 方案二:基于單片機的交通信號智能控制系統(tǒng)</p><p> 本系統(tǒng)利用AT89C51單片機作為系統(tǒng)的核心控制部件,利用其定時器/計數(shù)器作為紅外傳感器的接收端,通過高低電平的變化來統(tǒng)計通過檢測區(qū)域的車流量,然后通過軟件計時來控制接在P0端口的紅綠燈的點亮與熄滅狀態(tài),并在8段數(shù)碼管(接在P1和P2端口)上顯示倒計時。系統(tǒng)的電路圖主要由電源電路、遮光式紅外傳感器檢測電路、紅綠燈顯示電路、紅綠燈時間倒計時電路以及
27、緊急按鍵K1電路等電路組成。系統(tǒng)的基本原理框圖如圖2.2所示:</p><p> 圖2.2 基于單片機的交通信號智能控制系統(tǒng)框圖</p><p> 2.1.2 方案的選擇</p><p> 由于該設(shè)計的系統(tǒng)比較簡單,單片機完全能勝任該設(shè)計,而且從經(jīng)濟角度來說,單片機更為便宜,且本人所學(xué)知識有限對于單片機更加熟悉,所以決定采用方案二來完成本次設(shè)計。</p
28、><p> 為了實現(xiàn)了根據(jù)區(qū)域車流量、紅外檢測或者人為操作進(jìn)行十字路口交通信號燈智能控制,并在軟硬件方面采取一些改進(jìn)措施,實現(xiàn)了根據(jù)十字路口車流、紅外檢測量進(jìn)行交通信號燈智能控制,這樣,交通信號燈現(xiàn)場控制靈活、有效,從一定程度上解決了交通路口堵塞、車輛停車等待時間不合理等問題。</p><p> 本文是采用了以AT89C51單片機為核心的控制方案。方案中通過遮光式的紅外傳感器來檢測東西方向
29、和南北方向的車流量大小,再經(jīng)過一定的簡單算法算出各方向上的紅綠燈時間并在數(shù)碼管顯示器上顯示倒計時,同時通過路口上的紅綠燈的點亮與熄滅控制車輛的通行與停止。另外,方案中還設(shè)計一個緊急車輛通行按鍵,每當(dāng)有緊急車輛需要通過時,操作員按下按鍵,東西方向和南北方向上均為紅燈,并發(fā)出警報禁止普通車輛的通行,先讓緊急車輛通過。東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮
30、提示人們注意紅、綠燈的狀態(tài)即將切換,且黃燈燃亮?xí)r間為東西、南北兩干道的公共停車時間,指示燈燃亮的方案如表2.1。</p><p> 表2.1 指示燈的燃亮方案表</p><p><b> 表2.1說明:</b></p><p> (1)當(dāng)東西方向為紅燈,此道車輛禁止通行;南北道為綠燈,此道車輛通過。時間為(T1-3)秒。</p>
31、;<p> ?。?)黃燈閃爍3秒,警示車輛紅、綠燈的狀態(tài)即將切換。</p><p> ?。?)當(dāng)東西方向為綠燈,此道車輛通行;南北方向為紅燈,南北道車輛禁止通過。時間為(T2-3)秒。</p><p> ?。?)這樣如上表的時間和紅、綠、黃出現(xiàn)的順序依次出現(xiàn)這樣車輛就能安全暢通的通行。另外,在緊急情況下,操作員可以通過緊急按鍵K1,使兩路口均是紅燈,禁止普通車輛通行,先讓緊急
32、車輛(例如救護(hù)車等)通過。</p><p> 注:時間T1和T2均由紅外傳感器檢測電路測的。另外,在交通燈的燃亮指示表中,東西(南北)方向綠燈的點亮?xí)r間為(T1-3)(南北方向綠燈為(T2-3)),這是因為循環(huán)時間段T1(T2)包括綠燈和黃燈的時間,扣除的3秒鐘為黃燈的點亮?xí)r間,所以從時間段T1(T2)扣除黃燈的3秒鐘即為東西方向的綠燈點亮?xí)r間(南北方向的綠燈點亮?xí)r間)。</p><p>
33、; 第3章 系統(tǒng)硬件設(shè)計</p><p> 本系統(tǒng)利用AT89C51單片機作為系統(tǒng)的核心控制部件,利用其定時器/計數(shù)器作為紅外傳感器的接收端,通過高低電平的變化來統(tǒng)計通過檢測區(qū)域的車流量,然后通過軟件計時來控制接在P0端口的紅綠燈的點亮與熄滅狀態(tài),并在8段數(shù)碼管(接在P1和P2端口)上顯示倒計時。系統(tǒng)的電路圖主要由電源電路、熱釋電紅外傳感器檢測電路、紅綠燈顯示電路、紅綠燈時間倒計時電路以及緊急按鍵K1電路等電
34、路組成。系統(tǒng)的基本原理框圖如圖3.1所示:</p><p> 圖3.1 系統(tǒng)的基本原理框圖</p><p> 下面從各個電路分別加以說明,首先介紹一下單片機。</p><p><b> 3.1 單片機概述</b></p><p> 單片機也被稱為微控制器(Microcontroller),最早被用在工業(yè)控制領(lǐng)域。
35、單片機由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計理念是通過將大量外圍設(shè)備和CPU集成在一個芯片中,使計算機系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計出的處理器,從此以后,單片機和專用處理器的發(fā)展便分道揚鑣。</p><p> 早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上
36、發(fā)展出了MCS51系列單片機系統(tǒng)?;谶@一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng)域要求的提高,開始出現(xiàn)了16位單片機,但因為性價比不理想并未得到很廣泛的應(yīng)用。90年代后隨著消費電子產(chǎn)品大發(fā)展,單片機技術(shù)得到了巨大提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應(yīng)用,32位單片機迅速取代16位單片機的高端地位,并且進(jìn)入主流市場。而傳統(tǒng)的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數(shù)百倍。目前,高
37、端的32位單片機主頻已經(jīng)超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當(dāng)代單片機系統(tǒng)已經(jīng)不再只在裸機環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統(tǒng)。 </p><p> 單片機比專用處理器更適合應(yīng)用于嵌入式系統(tǒng),因此它得到
38、了最多的應(yīng)用。事實上單片機是世界上數(shù)量最多的計算機?,F(xiàn)代人類生活中所用的幾乎每件電子和機械產(chǎn)品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標(biāo)等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數(shù)不少的單片機在工作。汽車上一般配備40多部單片機,復(fù)雜的工業(yè)控制系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作!單片機的數(shù)量不僅遠(yuǎn)超過PC機和其他計算的總和,甚至比人類的數(shù)量還要多。 </p><p&g
39、t; 單片機又稱單片微控制器,它不是完成某一個邏輯功能的芯片,而是把一個計算機系統(tǒng)集成到一個芯片上。相當(dāng)于一個微型的計算機,和計算機相比,單片機只缺少了I/O設(shè)備。概括的講:一塊芯片就成了一臺計算機。它的體積小、質(zhì)量輕、價格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。同時,學(xué)習(xí)使用單片機是了解計算機原理與結(jié)構(gòu)的最佳選擇。</p><p> 本文中使用的AT89C51單片機是MCS-51系列單片機的典型產(chǎn)品,我們以
40、這一代表性的機型進(jìn)行系統(tǒng)的講解。8951單片機包含中央處理器、程序存儲器(ROM)、數(shù)據(jù)存儲器(RAM)、定時/計數(shù)器、并行接口、串行接口和中斷系統(tǒng)等幾大單元及數(shù)據(jù)總線、地址總線和控制總線等三大總線[5],現(xiàn)在我們分別加以說明:</p><p><b> ·中央處理器:</b></p><p> 中央處理器(CPU)是整個單片機的核心部件,是8位數(shù)據(jù)寬度
41、的處理器,能處理8位二進(jìn)制數(shù)據(jù)或代碼,CPU負(fù)責(zé)控制、指揮和調(diào)度整個單元系統(tǒng)協(xié)調(diào)的工作,完成運算和控制輸入輸出功能等操作。</p><p> ·數(shù)據(jù)存儲器(RAM):</p><p> 8951內(nèi)部有128個8位用戶數(shù)據(jù)存儲單元和128個專用寄存器單元,它們是統(tǒng)一編址的,專用寄存器只能用于存放控制指令數(shù)據(jù),用戶只能訪問,而不能用于存放用戶數(shù)據(jù),所以,用戶能使用的RAM只有12
42、8個,可存放讀寫的數(shù)據(jù),運算的中間結(jié)果或用戶定義的字型表。</p><p> ·程序存儲器(ROM):</p><p> 8951共有4096個8位掩膜ROM,用于存放用戶程序,原始數(shù)據(jù)或表格。</p><p> ·定時/計數(shù)器(ROM):</p><p> 8951有兩個16位的可編程定時/計數(shù)器,以實現(xiàn)定時或計
43、數(shù)產(chǎn)生中斷用于控制程序轉(zhuǎn)向。</p><p> ·并行輸入輸出(I/O)口:</p><p> 8951共有4組8位I/O口(P0、 P1、P2或P3),用于對外部數(shù)據(jù)的傳輸。</p><p><b> ·全雙工串行口:</b></p><p> 8951內(nèi)置一個全雙工串行通信口,用于與其它設(shè)
44、備間的串行數(shù)據(jù)傳送,該串行口既可以用作異步通信收發(fā)器,也可以當(dāng)同步移位器使用。</p><p><b> ·中斷系統(tǒng):</b></p><p> 8951具備較完善的中斷功能,有兩個外中斷、兩個定時/計數(shù)器中斷和一個串行中斷,可滿足不同的控制要求,并具有2級的優(yōu)先級別選擇。</p><p><b> ·時鐘電
45、路:</b></p><p> 8951內(nèi)置最高頻率達(dá)12MHz的時鐘電路,用于產(chǎn)生整個單片機運行的脈沖時序,但8951單片機需外置振蕩電容。</p><p> AT89C51單片機的外形結(jié)構(gòu)為40條引腳雙列直插式封裝,下面是單片機的引腳圖,以及簡單的管腳說明:</p><p> 圖3.2 單片機的引腳圖</p><p>
46、 VCC(40腳):供電電壓。</p><p> GND(20腳):接地。</p><p> XTAL1(19腳):反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。</p><p> XTAL2(18腳):來自反向振蕩器的輸出。</p><p><b> 振蕩器特性:</b></p><p>
47、; XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內(nèi)振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅(qū)動器件,XTAL2應(yīng)不接。有余輸入至內(nèi)部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。</p><p> RST(9腳):復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時,要保持RST腳兩個機器周期的高電平時間。</p>&
48、lt;p> ALE/PROG(30腳):當(dāng)訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時, ALE只有在執(zhí)行MOVX,MOVC指令是
49、ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。</p><p> /PSEN(29腳):外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。</p><p> /EA/VPP(31腳):當(dāng)/EA保持低電平時,則在此期間外部程序存儲器(0000H-FF
50、FFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當(dāng)/EA端保持高電平時,此間內(nèi)部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。</p><p> P0口(32-39腳):P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在
51、FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。</p><p> P1口(1-8腳):P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 </p>
52、;<p> P2口(21-28腳):P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時
53、,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。</p><p> P3口(10-17腳):P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。</p><p> P3口也可作為AT
54、89C51的一些特殊功能口,如下表所示:</p><p> P3口管腳 備選功能</p><p> P3.0(10腳):RXD(串行輸入口)</p><p> P3.1(11腳):TXD(串行輸出口)</p><p> P3.2(12腳):/INT0(外部中斷0)</p><p> P3.3(13腳):/IN
55、T1(外部中斷1)</p><p> P3.4(14腳):T0(記時器0外部輸入)</p><p> P3.5(15腳):T1(記時器1外部輸入)</p><p> P3.6(16腳):/WR(外部數(shù)據(jù)存儲器寫選通)</p><p> P3.7(17腳):/RD(外部數(shù)據(jù)存儲器讀選通)</p><p> P3
56、口同時為閃爍編程和編程校驗接收一些控制信號。</p><p><b> 3.2 電源電路</b></p><p> 電源采用輸出為正5V直流電壓的穩(wěn)壓電源電路。IC采用集成穩(wěn)壓器7805三端穩(wěn)壓器。它是一種標(biāo)準(zhǔn)化、系列化的通用線性穩(wěn)壓電源集成電路,以其體積小、成本低、性能好、工作可靠性高、使用簡捷方便等特點,成為目前穩(wěn)壓電源中應(yīng)用最為廣泛的一種單片式集成穩(wěn)壓器件。
57、當(dāng)輸出電流較大時,7805應(yīng)配上散熱板。C3為輸入端濾波電容,C5為輸出端濾波電容。如圖3.3所示:</p><p><b> 圖3.3 電源電路</b></p><p> 本系統(tǒng)采用220V交流電電源,經(jīng)過5V適配器濾波后,在固定式三端穩(wěn)壓器LM7805的Vin和GND兩端形成一個并不十分穩(wěn)定的直流電壓(該電壓常常會因為市電電壓的波動或負(fù)載的變化等原因而發(fā)生變化
58、)。此直流電壓經(jīng)過LM7805的穩(wěn)壓和電容的濾波便在穩(wěn)壓電源的輸出端產(chǎn)生了精度高、穩(wěn)定度好的直流輸出電壓。</p><p><b> 3.3 檢測電路</b></p><p> 檢測電路是本系統(tǒng)能夠?qū)崿F(xiàn)智能控制紅綠燈時間的關(guān)鍵。檢測電路的核心是紅外傳感器,下面首先對紅外傳感器做一個簡單地介紹:</p><p> 3.3.1 紅外傳感器的發(fā)
59、展</p><p> 傳感器被定義為能感受規(guī)定的被測量并按照一定的規(guī)律轉(zhuǎn)換成可用輸出信號的器件或裝置,通常由敏感元件和轉(zhuǎn)換元件組成。</p><p> 紅外傳感器是利用物體產(chǎn)生紅外輻射的特性,實現(xiàn)自動檢測的傳感器。在物理學(xué)中,我們就已經(jīng)知道可見光、不可見光、紅外光及無線電[5]等都是電磁波,它們之間的差別只是波長(或頻率)的不同而已。</p><p> 紅外技
60、術(shù)發(fā)展到現(xiàn)在,已經(jīng)為大家所熟知,這種技術(shù)已經(jīng)在現(xiàn)代科技、國防和工農(nóng)業(yè)等領(lǐng)域獲得了廣泛的應(yīng)用。紅外傳感系統(tǒng)是利用紅外線為介質(zhì)的測量系統(tǒng),按照功能能夠分成五類:(1)輻射計,用于輻射和光譜測量;(2)搜索和跟蹤系統(tǒng),用于搜索和跟蹤紅外目標(biāo),確定其空間位置并對它的運動進(jìn)行跟蹤;(3)熱成像系統(tǒng),可產(chǎn)生整個目標(biāo)紅外輻射的分布圖像;(4)紅外測距和通信系統(tǒng);(5)混合系統(tǒng),是指以上各類系統(tǒng)中的兩個或者多個的組合。</p><p
61、> 紅外傳感器根據(jù)探測機理可分成為:光子探測器[8](基于光電效應(yīng))和熱探測器[8](基于熱效應(yīng))。</p><p> 3.3.2常用的紅外傳感器</p><p><b> ?。?)紅外探測器</b></p><p> 紅外系統(tǒng)的核心是紅外探測器,按照探測的機理不同,可以分為熱探測器和光子探測器兩大類。</p><
62、;p> 熱探測器是利用輻射熱效應(yīng),使探測元件接收到輻射能后引起溫度升高,進(jìn)而使探測器中依賴于溫度的性能發(fā)生變化。檢測其中某一性能的變化,便可探測出輻射。多數(shù)情況下是通過熱點變化來探測輻射的。當(dāng)元件接收輻射,引起非電量的物理變化時,可以通過適當(dāng)?shù)淖儞Q后測量相應(yīng)的電量變化。</p><p> (2)紅外測溫產(chǎn)品:</p><p> HEITRONICS擁有40多年非接觸紅外測溫經(jīng)驗
63、,50多種紅外測溫儀和非接觸紅外測溫系統(tǒng)可滿足不同行業(yè)用戶的特殊需求,提供最優(yōu)非接觸紅外測溫解決方案。在高性能和高品質(zhì)的紅外測溫產(chǎn)品市場,來自德國的HEITRONICS以其在尖端領(lǐng)域應(yīng)用中良好的品質(zhì)記錄,被廣泛公認(rèn)為是世界一流的紅外測溫產(chǎn)品供應(yīng)者而受到信任。</p><p> HEITRONICS系列產(chǎn)品已廣泛應(yīng)用于冶金,玻璃,造紙,紡織,橡膠,木材,制陶,塑料涂層,瀝青建筑,電子,食品,石化,水泥等工業(yè)制造、
64、科學(xué)研究和實驗領(lǐng)域。</p><p><b> ?。?)壓電傳感器</b></p><p> 壓電傳感器是一種典型的有源傳感器,它是以某些電介質(zhì)的壓電效應(yīng)為基礎(chǔ),在外力作用下,電介質(zhì)表面產(chǎn)生電荷,從而實現(xiàn)外力與電荷量間的轉(zhuǎn)換,達(dá)到非電量的電測目的。</p><p> 壓電傳感器的應(yīng)用:可分為單向力,雙向力和三向力傳感器。壓電傳感器的物理基礎(chǔ)
65、是壓電效應(yīng),壓電敏感元件感受力的作用而產(chǎn)生電壓或電荷輸出,即根據(jù)輸出電壓或電荷的大小和極性,就可確定作用力的大小和方向。由此可見,壓電傳感器可以直接用于測力,或測與力有關(guān)的壓力、位移、振動加速度等。</p><p><b> (4)磁電傳感器</b></p><p> 磁電傳感器可分為兩大類,一類是基于鐵芯線圈電磁感應(yīng)原理的磁電感應(yīng)式傳感器,一類是基于半導(dǎo)體材料磁
66、敏效應(yīng)的磁敏傳感器。</p><p> 磁敏管的應(yīng)用:不但具有很高的磁靈敏度,同時能識別磁場極性:而且體積小,功耗低,因而具有廣泛的應(yīng)用前景。</p><p><b> (5)光電傳感器</b></p><p> 光電傳感器是一種將光信號轉(zhuǎn)換成電信號的裝置,它具有結(jié)構(gòu)簡單,性能可靠,精度高,反應(yīng)快等優(yōu)點,在現(xiàn)代測量和自動控制系統(tǒng)中,應(yīng)用非
67、常廣泛,是一種很有發(fā)展前途的新型傳感器。</p><p> ?。?)無線紅外傳感器</p><p> 無線紅外傳感器又稱無線紅外探測器是根據(jù)人體紅外光譜而工作,當(dāng)人體在其接受范圍內(nèi)活動時,探測器輸出報警信號,廣泛用于銀行、倉庫和家庭等場所的安全防范。</p><p> 綜上所述,每一種傳感器都有他的用處和廣泛的應(yīng)用前景。經(jīng)過比較,在本文系統(tǒng)中最適合采用的是光電傳
68、感器,下面再簡單地介紹下。</p><p> ?。?)人體熱釋電紅外傳感器介紹和應(yīng)用</p><p> 在電子防盜、人體探測器領(lǐng)域中,被動式熱釋電紅外探測器的應(yīng)用非常廣泛,因其價格低廉、技術(shù)性能穩(wěn)定而受到廣大用戶和專業(yè)人士的歡迎。</p><p> 3.3.3 熱釋電紅外傳感器簡介</p><p> 熱釋電紅外傳感器主要是由一種高熱電系
69、數(shù)的材料,如鋯鈦酸鉛系陶瓷、鉭酸鋰、硫酸三甘鈦等制成尺寸為2*1mm的探測元件。在每個探測器內(nèi)裝入一個或兩個探測元件,并將兩個探測元件以反極性串聯(lián),以抑制由于自身溫度升高而產(chǎn)生的干擾。由探測元件將探測并接收到的紅外輻射轉(zhuǎn)變成微弱的電壓信號,經(jīng)裝在探頭內(nèi)的場效應(yīng)管放大后向外輸出。</p><p> 為了提高探測器的探測靈敏度以增大探測距離,一般在探測器的前方裝設(shè)一個菲涅爾透鏡,該透鏡用透明塑料制成,將透鏡的上、下
70、兩部分各分成若干等份,制成一種具有特殊光學(xué)系統(tǒng)的透鏡,它和放大電路相配合,可將信號放大70分貝以上,這樣就可以測出10~20米范圍內(nèi)車的行動。</p><p> 菲涅爾透鏡利用透鏡的特殊光學(xué)原理,在探測器前方產(chǎn)生一個交替變化的“盲區(qū)”和“高靈敏區(qū)”,以提高它的探測接收靈敏度。當(dāng)有人從透鏡前走過時,汽車發(fā)出的紅外線就不斷地交替從“盲區(qū)”進(jìn)入“高靈敏區(qū)”,這樣就使接收到的紅外信號以忽強忽弱的脈沖形式輸入,從而強其能
71、量幅度。 </p><p> 3.3.4 檢測車流量的方法</p><p> 從上面的介紹可知,我們利用熱釋電紅外傳感器總流量。當(dāng)車輛進(jìn)入菲涅爾透鏡的一個現(xiàn)場,在熱釋電紅外傳感器上產(chǎn)生一個交變紅外輻射信號,使傳感器產(chǎn)生一個微弱的電壓信號,對采集的信號進(jìn)行信號分析處理。當(dāng)有車輛通過時,傳感器輸出微弱信號送到檢測放大電路,經(jīng)放大整形后輸出脈沖信號,送入單片機由單片機進(jìn)行計數(shù)。當(dāng)有車輛通過
72、時,熱釋電紅外傳感器輸出的信號非常微弱。因此需要設(shè)計濾波整形、兩級放大、電壓比較等部分組成電壓檢測放大電路,由于檢測放大電路中需要用到兩級放大及一組電壓比較器,因此選擇LM324運算放大器。當(dāng)傳感器探頭檢測到下方有車輛通過時,熱釋電紅外傳感器輸出微弱電壓信號直接送到第一級放大器同相輸入端,信號經(jīng)過一級放大后輸出,經(jīng)電容C5耦合到第二級放大器進(jìn)一步放大,檢測電路如圖3.4所示:U1C和U1B構(gòu)成電壓比較器,當(dāng)U1C輸出電壓幅度在Vt1和V
73、t2之間時,Vt3和Vt4輸出低電平。當(dāng)U1C輸出電壓大于Vt1時,U1B的V4t輸出高電平。當(dāng)U1C輸出電壓小于Ut2時,U1A的Vt3輸出高電平,經(jīng)D1、D2二個二極管邏輯或后從Vt5輸出脈沖信號。此脈沖信號接到單片機T0腳,同時也接到單片機外部中</p><p> 圖3.4紅外傳感器檢測電路圖</p><p> 3.4 緊急按鍵K1電路</p><p>
74、 當(dāng)有緊急車輛通過時,操作員可以按下緊急按鍵K1,K1接在單片機的P3.1端口上,這樣就產(chǎn)生了一個高電平。而單片機通過軟件程序檢測到P3.1口為高電平后,再通過軟件調(diào)用一段子程序,使東西和南北方向都為紅燈,并接通蜂鳴器警告普通車輛禁止通行,先讓緊急車輛通過。待緊急車輛通過后,交通控制系統(tǒng)會恢復(fù)中斷前的現(xiàn)場。其電路原理圖如圖3.5所示:</p><p> 圖3.5 緊急按鍵K1電路原理圖</p>&
75、lt;p> 3.5 紅綠燈顯示電路</p><p> 交通燈最基本的功能是顏色燈的顯示, 每個路口均需紅、黃、綠燈各一盞,東、西道上的兩組同色燈蟬聯(lián)在一起,南、北道的兩組同色也彼此互聯(lián)。這6盞燈分別接在單片機的P0.0-P0.5口,如圖3.6所示。D1、D2、D3分別代表的是東西方向的綠、黃、紅燈;N1、N2、N3分別代表的是南北方向的綠、黃、紅燈。當(dāng)東西方向為綠燈時,P0.0口輸出低電平,綠燈D1點亮
76、;對應(yīng)地,P0.6口也輸出低電平,南北方向的紅燈N3點亮。當(dāng)東西方向為紅燈時,P0.2口輸出低電平,紅燈D3點亮;對應(yīng)地,P0.3口也輸出低電平,南北方向的綠燈N1點亮。而當(dāng)東西方向和南北方向均為黃燈時,黃燈會以2HZ的頻率閃爍(通過軟件來實現(xiàn)的),提醒車輛的駕駛員注意紅綠燈的轉(zhuǎn)換。具體的指示燈的燃亮?xí)r間表見表2.1,下面是紅綠燈與單片機的接線圖:</p><p> 圖3.6 東西、南北方向紅綠燈與單片機接線示
77、意圖</p><p> 3.6 倒計時顯示電路</p><p> 這里首先簡單介紹一下7段LED數(shù)碼管。LED數(shù)碼管由七段發(fā)光線段組成,每條線段可以是一個(或幾個)發(fā)光二極管。其結(jié)構(gòu)如圖3.7所示。</p><p> 在圖3-7中,只要使不同段的發(fā)光二極管發(fā)光,即可改變所顯示的數(shù)字和字母。例如,在圖3-7中,a、b、g、e、d各段的二極管發(fā)光,即可顯示“2”;
78、而a、f、g、e、d共5個發(fā)光二極管亮則可顯示英文大寫字母E。LED七段數(shù)碼管根據(jù)其內(nèi)部LED的連接方法不同,有共陰極和共陽極兩種接法,如圖3-8所示。</p><p> 圖3.7 七段數(shù)碼管結(jié)構(gòu)圖 圖3.8 LED數(shù)碼管的兩種接法</p><p> 各種數(shù)字與七段代碼的關(guān)系如表3.7所示。</p><p><b> 表3-1
79、 段碼表</b></p><p> 上面簡單介紹了七段數(shù)碼管的顯示原理。倒計時顯示系統(tǒng)的主要功能是對紅、黃、綠燈的延時時間進(jìn)行倒計時,給車輛駕駛員以提示。這里使用共陰極的7段數(shù)碼管作為顯示設(shè)備,各個路口上兩個數(shù)碼管,一個顯示十位,一個顯示個位。本文中時間的倒計時是通過軟件來實行的,將在軟件部分進(jìn)行具體的說明。下面是7段數(shù)碼管與單片機的接線圖:</p><p> 圖3.9 7
80、段數(shù)碼管與單片機接線示意圖</p><p><b> 3.7振蕩電路</b></p><p> AT89C51的XTAL1和XTAL2引腳分別為單極片內(nèi)反相放大器的輸入/輸出端,其頻率范圍為1.2~12MHz。XTAL2又是內(nèi)部時鐘發(fā)生器的輸入端,這個內(nèi)部反相器可與外部元件組成如圖3.10所示的皮爾斯(Pierce)振蕩器[9]。當(dāng)采用石英晶體振蕩器時,C=(30
81、±10)pF;當(dāng)采用陶瓷諧振振蕩器時,C=(40±10)pF。</p><p> 在任何情況下,振蕩器始終驅(qū)動內(nèi)部時鐘發(fā)生器向主機提供時鐘信號。因為時鐘發(fā)生器的輸入是個二分頻觸發(fā)器,所以對外部振蕩信號的脈寬無特殊要求,但必須保證高低電平的最小寬度。</p><p> 圖3.10 單片機振蕩電路</p><p><b> 3.8復(fù)位
82、電路</b></p><p> 本文中的單片機采用了外接的復(fù)位電路,并且采用了一種上電復(fù)位和手動復(fù)位的組合[9],復(fù)位電路圖如圖3.11所示。單獨上電復(fù)位的電路時,并沒有圖3.11中與電容并聯(lián)的開關(guān),當(dāng)Vcc上升時間不超過1ms,振蕩器啟動時間不超過10ms,則在Vcc接通電源時,這個自動上電復(fù)位電路保證在上電開機時對8951單片機進(jìn)行正確的復(fù)位。當(dāng)電源接通時,電源Vcc向電容充電,電流流入RST引
83、腳。開始時,由于電容器上的電壓不能突變,所以RST引腳上的電壓升至等于Vcc電源電壓,因為RST上的電壓是Vcc和電容器上電壓之差,所以隨著充電過程,電容器上電壓不斷上升,RST引腳上的電壓就不斷下降。電容器容量越大,充電時間常數(shù)越大,即電容器上電壓上升越慢,則RST引腳上的電壓就下降越慢,必須使RST引腳上的電壓保持在斯密特觸發(fā)器的觸發(fā)門檻電壓以上足夠長的時間,以滿足復(fù)位操作的要求。所需的這個時間應(yīng)為振蕩器的起振時間再加上兩個機器周期
84、以上,因而所選的電容應(yīng)足夠大。如果Vcc上升時間不超過1ms,振蕩器的起振時間不超過10ms,則選取10uf的電容就可提供可靠的復(fù)位。</p><p> 手動復(fù)位可在上電復(fù)位基礎(chǔ)上并接一個復(fù)位開關(guān)(如圖3.11),這樣既保證上電復(fù)位,又可手動復(fù)位。</p><p> 單片機復(fù)位后,內(nèi)部特殊功能寄存器復(fù)位后的狀態(tài)為確定值。復(fù)位后,PC=00H,這表明程序從0000H地址單元開始執(zhí)行。PS
85、W=00H,表明選寄存器0組為工作寄存器組。P0至P3=FFH,表明已向各端口寫入1。此時,各端口既可用于輸入又可用于輸出。IE=0**00000B,表明各個中斷均被關(guān)斷。編程時如果記住一些特殊功能寄存器復(fù)位后的狀態(tài),對于減少應(yīng)用程序中的初始化是十分必要的。</p><p> 圖3.11 單片機復(fù)位電路</p><p> 第4章 系統(tǒng)軟件設(shè)計</p><p>
86、 上面主要講述了系統(tǒng)的硬件設(shè)計部分,但一個系統(tǒng)必須有軟件(即程序)來控制計算機運行。目前,對大多數(shù)MCS-51單片機的應(yīng)用系統(tǒng)的編程語言主要有PLM[8]、匯編和c語言。其中匯編和c語言比較常用。匯編語言的機器代碼生成效率很高但可讀性并不強,復(fù)雜一點的程序就更難讀懂,而c語言在大多數(shù)情況下,其機器代碼生成效率和匯編語言相當(dāng),但可讀性和可移植性卻遠(yuǎn)遠(yuǎn)超過匯編語言,而且c語言還可以嵌入?yún)R編語言來解決高時效性的代碼編寫問題。目前,c語言已經(jīng)成
87、為在單片機基礎(chǔ)上應(yīng)用最為廣泛的計算機語言之一。將c語言向單片機移植始于20世紀(jì)80年代的中后期。這些年,經(jīng)過各公司(Keil/Franklin、Archmeades、IAR等公司)堅持不懈的努力,終于在20世紀(jì)90年代,單片機c語言編程開始日趨成熟?,F(xiàn)在c語言已經(jīng)成為專業(yè)化的單片機編程高級語言。過去長期困擾人們的所謂“高級語言產(chǎn)生代碼太長,運行速度太慢,因此不適合單片機使用”的缺點已被克服。</p><p>
88、現(xiàn)在MCS-51單片機上c語言的代碼長度,已經(jīng)做到了只有匯編語言的1.2-1.5倍。4K字節(jié)以上的程序,c語言的優(yōu)勢更能得到發(fā)揮。從開發(fā)速度、軟件質(zhì)量、結(jié)構(gòu)嚴(yán)謹(jǐn)、程序堅固等方面比較,c語言的優(yōu)勢更多。</p><p> c語言有很多鮮明的特點,比較適于編寫系統(tǒng)軟件和大型的應(yīng)用軟件。下面結(jié)合MCS-51介紹單片機c語言的優(yōu)越性。</p><p> (1) 不懂得單片機的指令集[6],也能
89、夠編寫完美的單片機程序。</p><p> (2) 直接訪問物理地址,可以進(jìn)行位操作。</p><p> (3) 同函數(shù)的數(shù)據(jù)實行覆蓋,有效利用片上有限的RAM空間。</p><p> (4) 語言提供復(fù)雜的數(shù)據(jù)類型(數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉、指針等),極大地增強了程序處理能力和靈活性。</p><p> (5) 提供專門針對MCS-5
90、1單片機的data、idata、pdata、xdata、code等存儲類型,自動為變量合理地分配地址。</p><p> (6) 提供small、compact、large等編譯模式,以適應(yīng)片上存儲器的大小。</p><p> (7) 提供常用的標(biāo)準(zhǔn)函數(shù)庫[9],以供用戶直接使用。</p><p> (8) c語言作為高級語言對機器沒有依賴性,可以在各種不同的
91、機器和操作系統(tǒng)上應(yīng)用,而不必改寫源代碼(所謂的移植性好),生成目標(biāo)代碼的效率高。</p><p><b> 4.1 主程序設(shè)計</b></p><p> 本系統(tǒng)的程序就是用的c語言來編譯的,下面是系統(tǒng)的主程序流程圖:</p><p> 圖4.1 主程序流程圖</p><p><b> 主程序:</
92、b></p><p> void main()</p><p><b> {</b></p><p> P3=0x00; //P3口清0</p><p> dx_cll=60; //給東西
93、方向綠燈時間賦初值60s</p><p> TMOD=0x55; //初始化定時器/計數(shù)器T0、T1為計數(shù)模式,工作于方式1,二進(jìn)制計數(shù)</p><p><b> while(1)</b></p><p><b> {</b></p><p
94、> jishuqi(); //計數(shù)器啟動計數(shù)</p><p> for(;dx_cll>3;dx_cll--) //東西方向綠燈倒計時,直至4s</p><p><b> {</b></p><p> P0=0xde; /
95、/東西方向綠燈和南北方向紅燈亮</p><p> timer(dx_cll,100); //延時0.5s</p><p> while(jinji==1) int0(); //檢測P3.1口是否為高電平</p><p><b> }</b></p><p> for(i=3;i&
96、gt;0;i--) //黃燈倒計時3s</p><p><b> {</b></p><p> while(jinji==1) int0(); //檢測P3.1口是否為高電平</p><p> P0=0xed; </p><p>
97、 timer(i,50);</p><p><b> P0=0xff;</b></p><p> timer(i,50); //黃燈閃爍點亮</p><p><b> }</b></p><p><b> TR0=0;</b><
98、/p><p> TR1=0; //計數(shù)器停止計數(shù)</p><p><b> i=1;</b></p><p> nb_cll=suanfa(i); //算出南北方向綠燈的時間</p><p> jishuqi();
99、 //計數(shù)器啟動計數(shù)</p><p> for(;nb_cll>3;nb_cll--) //南北方向綠燈倒計時,直至4s</p><p><b> {</b></p><p> P0=0xf3; //南北方向綠燈和南北方向紅燈亮</p>
100、<p> timer(nb_cll,100); //延時0.5s</p><p> while(jinji==1) int0(); //檢測P3.1口是否為高電平</p><p><b> }</b></p><p> for(i=3;i>0;i--) /
101、/黃燈倒計時3s</p><p><b> {</b></p><p> while(jinji==1) int0(); //檢測P3.1口是否為高電平</p><p><b> P0=0xed;</b></p><p> timer(i,50);</p><
102、p><b> P0=0xff;</b></p><p> timer(i,50); //黃燈閃爍點亮</p><p><b> }</b></p><p><b> TR0=0;</b></p><p> TR1=0;
103、 //計數(shù)器停止計數(shù)</p><p><b> i=0;</b></p><p> dx_cll=suanfa(i); //算出東西方向綠燈的時間</p><p><b> } </b></p><p><b>
104、 }</b></p><p><b> 4.2延時子程序</b></p><p> 單片機的1秒鐘延時可以有兩種方法,一種是利用AT89C51單片機內(nèi)部定時器溢出中斷來確定1秒的時間;另一種是采用軟件延時來確定1秒的時間。</p><p> 4.2.1 計數(shù)器硬件延時</p><p> (1) 計數(shù)
105、器初值計算</p><p> 定時器工作時必須給計數(shù)器送計數(shù)器初值,這個值是送到TH和TL中的。他是以加法記數(shù)的,并能從全1到全0時自動產(chǎn)生溢出中斷請求。因此,我們可以把計數(shù)器記滿為零所需的計數(shù)值設(shè)定為C和計數(shù)初值設(shè)定為TC 可得到如下計算通式:</p><p> 式中,M為計數(shù)器摸值,該值和計數(shù)器工作方式有關(guān)。在方式0時M為13;在方式1時M的值為16;在方式2和3時M的值為8。&l
106、t;/p><p><b> (2) 計算公式</b></p><p><b> 或</b></p><p> T計數(shù)是單片機時鐘周期TCLK的12倍;TC為定時初值</p><p> 如單片機的主脈沖頻率為TCLK12MHz,經(jīng)過12分頻</p><p><b>
107、; 方式0 </b></p><p><b> 方式1 </b></p><p> 顯然1秒鐘已經(jīng)超過了計數(shù)器的最大定時間,所以我們只有采用定時器和軟件相結(jié)合的辦法才能解決這個問題.</p><p><b> (3) 1秒的方法</b></p><p> 我們采用在主程
108、序中設(shè)定一個初值為20的軟件計數(shù)器和使T0定時50毫秒.這樣每當(dāng)T0到50毫秒時CPU就響應(yīng)它的溢出中斷請求,進(jìn)入他的中斷服務(wù)子程序。在中斷服務(wù)子程序中,CPU先使軟件計數(shù)器減1,然后判斷它是否為零。為零表示1秒已到可以返回到輸出時間顯示程序。</p><p> (4) 相應(yīng)程序代碼</p><p><b> 主程序: </b></p><p&
109、gt; 定時器需定時50毫秒,故T0工作于方式1?!?lt;/p><p><b> 初值:</b></p><p> ┇ </p><p> void main()</p><p><b> {</b></p><p> uint A
110、 ;</p><p> TMOD=0x01 ;令T0為定時器方式1</p><p> TH0=0x3c ;裝入定時器初值</p><p><b> TL0=0xb0</b></p><p> IE=0x82 ;開T0中斷</p><p> TR
111、0=1 ;啟動T0計數(shù)器</p><p> A=0x14 ;賦初值</p><p> _nop_() ;等待中斷</p><p><b> ┇</b></p><p><b> }</b></p><p><b&g
112、t; 中斷服務(wù)子程序:</b></p><p><b> ┇</b></p><p> void BRT0(void) interrupt 3 ()</p><p><b> {</b></p><p> for(;A>0;A--) //循環(huán)20次</p>
113、;<p> NEXT() ;重新定時50ms</p><p><b> }</b></p><p> void NEXT()</p><p><b> {</b></p><p> A=0x14 ;恢復(fù)A值</p><p>
114、 TH0=0x3c ;重裝裝入定時器初值</p><p> TL0=0xb0 ;</p><p> IE=0x82 ;</p><p><b> }</b></p><p><b> ┇</b></p><p> 4.2
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通信號控制系統(tǒng)畢業(yè)設(shè)計
- 畢業(yè)設(shè)計----交通信號控制系統(tǒng)設(shè)計
- 智能交通信號燈模擬控制系統(tǒng)畢業(yè)設(shè)計
- 智能交通信號控制系統(tǒng)設(shè)計.pdf
- 交通信號燈控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 交通信號燈控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 交通信號燈畢業(yè)設(shè)計--基于單片機的交通信號控制系統(tǒng)
- 畢業(yè)設(shè)計--交通信號燈模擬控制系統(tǒng)設(shè)計
- 交通信號燈plc控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 基于mcu的交通信號控制系統(tǒng)設(shè)計【畢業(yè)設(shè)計】
- 交通信號燈控制系統(tǒng)設(shè)計論文畢業(yè)設(shè)計
- 智能交通信號燈控制系統(tǒng)設(shè)計畢業(yè)論文
- 畢業(yè)設(shè)計---交通信號燈控制系統(tǒng)的設(shè)計
- plc交通信號燈模擬控制系統(tǒng)畢業(yè)設(shè)計
- 交通信號控制系統(tǒng)
- 畢業(yè)設(shè)計--交通信號燈plc控制系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計---交通信號燈plc控制系統(tǒng)的設(shè)計
- 基于plc交通信號燈控制系統(tǒng)設(shè)計 畢業(yè)設(shè)計
- 畢業(yè)論文-交通信號智能控制系統(tǒng)的研究和設(shè)計
- 交通信號控制系統(tǒng)方案
評論
0/150
提交評論