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