

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 基于單片機(jī)的汽車防撞測距警報系統(tǒng)</p><p> 學(xué)院名稱: 電氣信息學(xué)院 </p><p> 專 業(yè): 測控技術(shù)與儀器 </p><p> 班 級: </p><p> 姓
2、 名: </p><p> 指導(dǎo)教師姓名: </p><p> 指導(dǎo)教師職稱: 講 師 </p><p> 2012年6月 </p><p> 基于單片機(jī)的汽
3、車防撞測距警報系統(tǒng)</p><p> 摘要: 本文介紹了一種單片機(jī)控制的汽車防撞測距報警系統(tǒng),此系統(tǒng)利用AT89C52單片機(jī)作為主控制器,結(jié)合超聲波測距原理,通過發(fā)射和接收超聲波信號,再由單片機(jī)進(jìn)行數(shù)據(jù)處理,通過數(shù)碼管顯示距離,當(dāng)超過設(shè)定的距離時蜂鳴器報警。該系統(tǒng)采用軟、硬結(jié)合的方法,具有模塊化和多用化的特點。該論文對系統(tǒng)各個單元的原理進(jìn)行了介紹。對組成的各系統(tǒng)電路的芯片進(jìn)行了介紹,并闡述了它們的工作原理。此系
4、統(tǒng)具有結(jié)構(gòu)簡單,精度高,使用方便等特點。</p><p> 關(guān)鍵詞:單片機(jī);超聲波 ;測距</p><p> Automobile’s Anti-collision Distance Alarm System Based on MUC</p><p> Abstract: This article describes a microprocessor cont
5、rolled car crash ranging alarm system, this system using AT89C52 microcontroller as the main controller, combined with the principle of ultrasonic distance measurement by transmitting and receiving ultrasonic signals, an
6、d then by the microcontroller for data processing, through digitaldisplay distance, buzzer alarm when exceeds a set distance. The system uses a soft hard combination, modular and multi-use characteristics. The paper intr
7、oduced</p><p> Keywords: Single-chip microcomputer ;Ultrasonic wave;Measuring distance</p><p><b> 目錄</b></p><p><b> 前言1</b></p><p> 第一章 系統(tǒng)設(shè)
8、計方案3</p><p> 1.1總體方案設(shè)計3</p><p> 1.2方案的比較與確定3</p><p> 1.3 方案的確定9</p><p> 第二章 系統(tǒng)硬件設(shè)計10</p><p> 2.1 單片機(jī)最小系統(tǒng)10</p><p> 2.1.1 AT89C52芯片
9、10</p><p> 2.1.2 復(fù)位電路12</p><p> 2.1.3 時鐘電路13</p><p> 2.2 超聲波發(fā)射電路和接受電路14</p><p> 2.2.1 HC-SR04主要技術(shù)參數(shù)14</p><p> 2.2.2 HC-SR04工作原理15</p><
10、;p> 2.3顯示電路15</p><p> 2.4 報警電路15</p><p> 2.5 L298N驅(qū)動電路17</p><p> 2.6系統(tǒng)原理18</p><p> 第三章 系統(tǒng)軟件的設(shè)計19</p><p> 3.1系統(tǒng)軟件實現(xiàn)功能19</p><p>
11、 3.2 主程序19</p><p> 3.3 顯示子程序和報警子程序21</p><p> 第四章 系統(tǒng)調(diào)試與分析26</p><p> 4.1 硬件調(diào)試26</p><p> 4.2 軟件調(diào)試26</p><p> 4.3 數(shù)據(jù)測量與分析27</p><p><b
12、> 結(jié)束語28</b></p><p><b> 參考文獻(xiàn)29</b></p><p><b> 致謝31</b></p><p> 附錄1 原理圖32</p><p> 附錄2 元件清單34</p><p> 附錄3 源程序35&l
13、t;/p><p> 附錄4 實物圖44</p><p><b> 前言</b></p><p> 隨著我國經(jīng)濟(jì)迅速發(fā)展,人民生活水平不斷提高。汽車已經(jīng)成為人們?nèi)粘I钪斜夭豢缮俚囊徊糠郑覈钠嚁?shù)量逐年上升,但是隨著汽車駕駛員數(shù)量的逐漸增加也引發(fā)了一系列的問題。汽車的數(shù)量在大副攀升,交通擁擠狀況也日趨嚴(yán)重,撞車、盜竊[1]事件屢屢發(fā)生,造
14、成了不可避免的人身傷亡和經(jīng)濟(jì)損失,針對這種情況,設(shè)計一種響應(yīng)快,可靠性高且較為經(jīng)濟(jì)的汽車防撞報警系統(tǒng)勢在必行。超聲波測距法是最常見的一種距離測距方法[2-4],應(yīng)用于汽車的前后左右防撞的近距離和低速狀況下。在汽車防撞報警系統(tǒng)中,超聲波作為一種特殊的聲波,同樣具有聲波傳輸?shù)幕疚锢硖匦浴凵?,反射,干涉,衍射,散射。汽車防撞報警器[5]將單片機(jī)的實時控制及數(shù)據(jù)處理功能,與超聲波的測距技術(shù)、傳感器技術(shù)相結(jié)合,可檢測汽車運(yùn)行中后方障礙物與汽
15、車的距離及汽車車速,通過數(shù)顯裝置顯示距離,并由報警電路根據(jù)距離遠(yuǎn)近情況發(fā)出警告聲。</p><p> 本課題把硬件電路和軟件有機(jī)的結(jié)合起來,完成汽車行車、倒車報警系統(tǒng)的設(shè)計,能夠了解單片機(jī)技術(shù)的現(xiàn)狀,而且通過對電路系統(tǒng)的設(shè)計,學(xué)習(xí)掌握了數(shù)字電路從原理圖到PCB版的全部過程,形成完善的設(shè)計思路以及思想,并通過對汽車超聲波報警器的軟件設(shè)計的過程,鍛煉應(yīng)用C以及相關(guān)匯編語言等軟件設(shè)計電路程序的能力為以后參與實際工作奠
16、定良好的設(shè)計基礎(chǔ)。</p><p> 由于計算機(jī)技術(shù)和高速設(shè)備的快速發(fā)展,數(shù)字化采集和分析的超聲波信號的持續(xù)發(fā)展成為了可能。國內(nèi)也出現(xiàn)了各種類型的數(shù)字超聲波檢測設(shè)備,并已成為超聲波探測發(fā)展方向。廈門大學(xué)一些學(xué)者們研究的超聲波回聲剖面分析,該方法主要是在測距中通過兩次探測求取回波包絡(luò)曲線來得到回波的起點,這種方法處理后的超聲波傳播時間的準(zhǔn)確性大大的得到改善。意大利Carullo等人推出了一種自適應(yīng)的系統(tǒng),使用一個
17、特殊的發(fā)射波形,取得良好的回波包絡(luò)和環(huán)境噪聲估計,設(shè)置一定的回聲開平電路,且采用自動增益控制放大器的優(yōu)點,通過這些措施來提高超聲檢測精度。此外,也有很多的文獻(xiàn)研究,利用數(shù)字信號處理技術(shù)和小波變換理論來提高傳輸時間的準(zhǔn)確性。這種研究已取得了良好效果。</p><p> 目前,計算機(jī)價格大幅度下降,采用非一體化超聲波檢測儀器,計算機(jī)可發(fā)揮它一機(jī)多用的各種功能,這種方法可以節(jié)約很多。過去那種全功能的儀器設(shè)置,還不如單
18、獨(dú)的超聲儀,計算機(jī)可充分發(fā)揮各自特點。高智能化檢測儀器只能滿足檢測條件,使用環(huán)境,重復(fù)性測試內(nèi)容等基本情況一樣,才可充分發(fā)揮其特有功能。儀器設(shè)計也應(yīng)從實際情況出發(fā),才能滿足用戶的要求。綜上所述,我國超聲波儀器的研制與生產(chǎn),有較大發(fā)展,有的型號已超過國外同類儀器水平。</p><p> 第一章 系統(tǒng)設(shè)計方案</p><p><b> 1.1總體方案設(shè)計</b><
19、;/p><p> 按照系統(tǒng)設(shè)計的功能要求,初步確定設(shè)計系統(tǒng)主要由晶振電路、復(fù)位電路、超聲波發(fā)射電路、超聲波接收電路、驅(qū)動電路、顯示電路、報警電路組成。見系統(tǒng)框圖1-1。</p><p><b> 圖1-1 系統(tǒng)框圖</b></p><p> 由于超聲波發(fā)射與接收電路是整個系統(tǒng)最重要部分,因此確定一種好的設(shè)計方案關(guān)系到整個系統(tǒng)的精確性和安全可靠
20、性。本設(shè)計通過多種方案比較,最后達(dá)到最佳方案確定。</p><p> 1.2方案的比較與確定</p><p> 方案一:40kHz的超聲波發(fā)送脈沖信號由單片機(jī)的P1.0口送出,發(fā)出一系列的脈沖群,每一個脈沖群的持續(xù)時間大約為0.5ms左右。信號經(jīng)過三極管放大,再經(jīng)過阻抗匹配電路即變壓器(變壓器輸入輸出比為1:10)后,驅(qū)動超聲波發(fā)射頭,發(fā)射換能器兩端就加上了高電壓,內(nèi)部的壓電晶片開始
21、震動,經(jīng)過壓電換能器將發(fā)出40kHz的脈沖超聲波。當(dāng)超聲波遇到障礙物時就會產(chǎn)生反射波,發(fā)射波返回到超聲波傳感器[ 7-8]上,盡管發(fā)射部分的脈沖電壓比較高,但是由回波引起的接受壓電晶片產(chǎn)生的射頻電壓幅度近距離有幾毫伏,遠(yuǎn)距離還不到幾毫伏,由于在較遠(yuǎn)距離的情況下,聲的回波很弱,因而轉(zhuǎn)換為電信號的幅值也很小,為此要求將信號放大6000倍左右。信號經(jīng)過放大整形電路產(chǎn)生一個負(fù)脈沖信號,使單片機(jī)產(chǎn)生中斷。</p><p>
22、 在接收端第一級,要求其放大倍數(shù)為了C945這62倍左右,所以選擇只三極管,達(dá)到了放大倍數(shù)。第二三級選用了一枚集成放大器NE5532,它集成了兩個放大器,可達(dá)到預(yù)定放大倍數(shù)。</p><p> 方案二:由施密特振蕩器和數(shù)字功放電路組成,由P1.0口發(fā)出的同步脈沖信號如圖1-2。它啟動振蕩器,輸出40kHz的高頻信號,經(jīng)整形及功放電路,加至發(fā)射換能器,發(fā)出40kHz的超聲波。</p><p&
23、gt; 接收電路主要由回波放大接收及比較控制電路組成,如圖1-2所示。</p><p> 圖1-2 接收控制及接口電路</p><p> 初始,比較器A1同相端已經(jīng)通過調(diào)整Rr,使其電壓略高于2.5V。因此A1應(yīng)輸出高電平,但由于D1相位作用,A1輸出低電平,即RS觸發(fā)器的=0,Q=1, =1,= 0。當(dāng)P1.0發(fā)出啟動信號,在A點形成正脈沖,經(jīng)N1反相,= 0,D1相位釋放,= 1
24、,Q=0,= 1(正跳),T0計數(shù)器開始計數(shù)。脈沖過后,= 1,=1,Q=0,= 1。回波信號經(jīng)放大濾波,送至比較器A1的反相端,它是疊加在2.5V電壓上的交變40kHz的信號。它的前沿使A1輸出低電平。=0,= 1,Q=1,= 0(負(fù)跳),即獲得負(fù)跳沿信號,CPU響應(yīng)中斷,T0計數(shù)停,計數(shù)值N1送存RAM。</p><p> 由于發(fā)射探頭和接收探頭都是平行放置且距離較近,發(fā)射探頭發(fā)射超聲波時,接收探頭會引起強(qiáng)
25、烈的感應(yīng)信號,因此必須將其隱去。當(dāng)P1.0輸出啟動信號,主控同步脈沖加至比較器A2時,A2輸出一個遠(yuǎn)大于2.5V的電壓,經(jīng)過D2降壓后約為7.5V左右,加至A1同相端,又C2的延遲作用,A1同相端產(chǎn)生一定寬度和高度的方波,它的幅度和寬度均大于發(fā)射串?dāng)_信號,A1輸出端即RS觸發(fā)器的端仍為高電平,這樣串?dāng)_信號將被隱去。這段時間稱為盲區(qū),約2ms。</p><p> 方案三:(1)發(fā)射電路。發(fā)射電路由555多諧振蕩器
26、和數(shù)字功率放大器組成。采用555 多諧振蕩器可以實現(xiàn)寬范圍占空比的調(diào)節(jié),并且電路設(shè)計簡單占用面積小。如圖1-3所示,由單片機(jī)P1.0口發(fā)出同步脈沖信號,該同步脈沖啟動多諧振蕩器,使其輸出20kHz的高頻電壓信號,經(jīng)過整形及功放電路加至超聲波換能器探頭,根據(jù)逆壓電效應(yīng),產(chǎn)生振動頻率為20kHz 的超聲波。</p><p> ?。?)接收電路。接受電路主要由回波放大接收電路及比較電路組成。如圖1-4所示,首先調(diào)節(jié)可調(diào)
27、電阻使比較器A1 同相端電位高于2.5V。由于D1輸出低電平, 而反相器N 輸出高電平,所以有RS 觸發(fā)器的=0,=1,Q=1,=0當(dāng)P1.0發(fā)出啟動信號(如圖1-3中(1)所示)經(jīng)過微分電路形成的同步脈沖信號通過反相器N 的反相功能,=0,D1 箝位釋放=1,Q=0,=1(正跳變),T0 計數(shù)器開始記數(shù),脈沖經(jīng)過之后==1,Q=0,=1。 回波信號經(jīng)過放大濾波送至比較器A1的反相端,它是疊加在2.5V上的頻率為20KHz的高頻電壓信號
28、。如圖1-3中的(3)所示,其前上升沿使A1輸出低電平,=0,=1,Q=1,=0(負(fù)跳變);即獲得負(fù)跳沿信號,CPU 響應(yīng)中斷請求,使T0計數(shù)器停止計數(shù),記數(shù)值N 送存RAM。</p><p> (3)盲區(qū)干擾信號的消隱。通常發(fā)射換能器和接收換能器都是平行放置且距離較近。當(dāng)發(fā)射探頭發(fā)射超聲波時接收換能器接收到的第一個波是串?dāng)_直通波,也稱泄漏波它是近源的波束旁瓣或通過繞射由發(fā)射換能器直接到達(dá)接收換能器而造成的。因
29、此,通常接收探頭會引起強(qiáng)烈的感應(yīng)信號。所以必須將其隱去,當(dāng)P1.0輸出啟動信息,同步脈沖加至比較器A2時,A2 輸出一遠(yuǎn)大于2.5V 的電壓, 經(jīng)D2降壓后大約等于7.5V,加至A1同相端,由于C1延遲作用,A1同相端將產(chǎn)生一定寬度和高度的方波,如圖1-3中的(4)所示。它的寬度和幅度都大于發(fā)射串?dāng)_信號,A1 輸出端即RS觸發(fā)器S端仍為高電平,這樣串?dāng)_信號將被隱去,這段時間稱為盲區(qū),約2毫秒。</p><p>
30、 圖1-3 測距脈沖圖</p><p> 圖1-4 超聲波回波接收電路</p><p> 方案四:(1)發(fā)射電路。發(fā)射電路由脈沖產(chǎn)生電路和發(fā)射電路組成。脈沖產(chǎn)生電路的主要任務(wù)是產(chǎn)生40kHz 脈沖電壓。它由與非門和電阻電容構(gòu)成振蕩電路,由單片機(jī)P1.1 口控制其是否工作。脈沖產(chǎn)生電路的輸出電壓經(jīng)脈沖變壓器升壓后輸出到超聲傳感器。其中,脈沖變壓器對脈沖電壓變換值的大小直接影響測距范圍,
31、應(yīng)盡量提供脈沖變壓器副邊電壓幅值。</p><p> (2)接收電路。接收電路的主要任務(wù)是檢測回波,并向單片機(jī)發(fā)出中斷以停止計時。接收電路設(shè)計的好壞直接影響超聲波在空氣中傳播時間的測量。接收部分電路由檢波電路、濾波放大電路和整形電路組成。檢波電路拾取回波中的正半波,以便后級電路放大;整形電路把回波信號整理為單片機(jī)系統(tǒng)能夠接收的信號并向單片機(jī)申請中斷以停止計時。接收電路的主體是濾波放大電路。由于超聲回波信號十分微
32、弱并含有噪聲,S/N較小,所以接收電路設(shè)置了兩級高Q值的濾波放大電路。濾波放大電路采用二階帶通濾波放大器,一級和二級濾波放大電路采用相同的結(jié)構(gòu)和參數(shù)。其電路如圖1-6所示。圖1-6中,R11、R12、C13、C14、R15 和運(yùn)算放大器Amp1A 組成了一級濾波放大電路;R21、R22、C23、C24、R25 和運(yùn)算放大器Amp1B 組成了二級濾波放大電路。</p><p> 圖1-5發(fā)射部分電路</p&
33、gt;<p> 圖1-6 一次和二次濾波放大電路</p><p> 發(fā)射接收電路中應(yīng)考慮的各種問題。發(fā)射波形如圖 1-7,傳感器的振蕩波形要經(jīng)過一段時間才能達(dá)到穩(wěn)定狀態(tài),理論上信號的幅度時指數(shù)上升的,Q 各周期后達(dá)到滿幅度的 95%,1.5Q 個周期后達(dá)到 99%。為提高傳感器的靈敏度,Q 值一般不能太低,為使傳感器充分振蕩起來,發(fā)射脈寬要求不能小于 Q 個振蕩周期,才能使發(fā)射幅度基本達(dá)到最大。
34、考慮到測量“盲區(qū)”影響,這里選擇脈寬為 120μs,包含 5 個調(diào)制的 44kHz 的方波信號。</p><p><b> 圖1-7 發(fā)射波形</b></p><p> 測距器的發(fā)射波形如圖1-7,在規(guī)定時刻將一持續(xù)時間為τ的正弦波加到傳感器上,然后關(guān)閉發(fā)射電路,打開接收通道,接收來自障礙物的反射波。 </p><p> 傳感器發(fā)射電壓大
35、小主要取決于發(fā)射信號損失及接收機(jī)的靈敏度,綜合各種損耗的因素,包括往返傳播損失,聲波傳輸損失,聲波反射損失,環(huán)境噪聲損失,接收預(yù)放大單元的作用是對有用的信號進(jìn)行放大,并抑制其它的噪聲和干擾,從而達(dá)到最大信噪比,以利檢測單元的正確檢測。</p><p> 如何達(dá)到信號的最佳接收關(guān)系整個系統(tǒng)的準(zhǔn)確性和安全性,所以也應(yīng)考慮到影響接收信號的各方面問題。在傳感器接收到的信號中,除了障礙物反射的回波外,總混有雜波和干擾脈沖
36、等環(huán)境噪聲。室內(nèi)環(huán)境中噪聲主要集中在低頻段,遠(yuǎn)離回波信號頻率,因此系統(tǒng)的總噪聲系數(shù)主要有接收機(jī)的內(nèi)部噪聲決定,其功率譜寬度遠(yuǎn)大于接收機(jī)的通頻帶。我們可以近似的將其作為白噪聲處理,根據(jù)已有知識,輸入為已知信號加白噪聲的條件下,匹配濾波器的輸出信噪比最大。匹配濾波器具有以下特點:(1)輸出最大信噪比與信號波形無關(guān);(2)匹配濾波器對信號的幅度和時延具有適應(yīng)性,即對只有幅度和出現(xiàn)時間不同的信號,它們的匹配濾波器是相同的;(3)匹配濾波器與相關(guān)
37、接收和相關(guān)器具有等效性。</p><p> 實際上很難得到精確的匹配濾波器,由于單個射頻脈沖的頻譜是連續(xù)的,用普通的窄帶濾波器就能把其主峰部分(w 附近)濾波出來,適當(dāng)?shù)倪x擇濾波器的通帶寬度就能取得與匹配濾波器相差不多的效果。</p><p> 圖 1-8信號放大器原理圖</p><p> 接收放大器的作用是放大有用信號,并抑止其它噪聲與干擾,從而達(dá)到最大的信
38、噪比,以利于檢測電路的正確檢測。放大器組成框圖如圖 1-8,采用三級放大電路。前置放大主要起阻抗匹配的作用,使輸入信號功率最大。帶通放大器選擇最佳時間帶寬積,以達(dá)到匹配濾波的效果。模擬開關(guān)起收發(fā)隔離的作用。在測量近距離時,模擬開關(guān)閉合,發(fā)射信號可以進(jìn)入接收通道;測量遠(yuǎn)距離時,模擬開關(guān)斷開,發(fā)射信號不可以進(jìn)入接收通道。程控放大器分為 2 檔,分別放大 10 倍和 100 倍,由控制端 A1,A0 控制。</p><p&
39、gt;<b> 1.3 方案的確定</b></p><p> 綜合以上四種方案比較,最后確定直接采用超聲波測距模塊。該電路簡單方便,經(jīng)濟(jì)實用。比較適合本設(shè)計需要。</p><p> 由AT89C52單片機(jī)編程,執(zhí)行程序后P1.0口產(chǎn)生脈沖信號,經(jīng)HC-SRO4超聲波測距模塊,產(chǎn)生超聲波和接收。將超聲波調(diào)制脈沖變?yōu)榻蛔冸妷盒盘?,送入MAX232接收器中進(jìn)行處理。輸
40、出端7高電平越變?yōu)榈碗娖?,作為中斷請求信號,送至單片機(jī)處理。在啟動發(fā)射電路的同時啟動單片機(jī)內(nèi)部的定時器T0,利用定時器的計數(shù)功能記錄超聲波發(fā)射的時間和收到反射波的時間。當(dāng)收到超聲波反射波時,接收電路輸出端產(chǎn)生一個負(fù)跳變,在INTO或INT1端產(chǎn)生一個中斷請求信號,單片機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計算距離。</p><p> 第二章 系統(tǒng)硬件設(shè)計</p><p>
41、; 硬件電路主要包括六個部分:單片機(jī)外圍電路、超聲波發(fā)射和接收電路、顯示電路、報警電路、L298N驅(qū)動電路組成。運(yùn)用L298N芯片驅(qū)動小車行使,利用HC-SR04超聲波傳感器模塊來實現(xiàn)測距功能。</p><p> 2.1 單片機(jī)最小系統(tǒng)</p><p> 單片機(jī)最小系統(tǒng)通常作為系統(tǒng)的最前端,它既是協(xié)調(diào)整機(jī)工作的控制器,又是數(shù)據(jù)處理器。本設(shè)計中單片機(jī)最小系統(tǒng)主要是由AT89C52芯片、
42、復(fù)位電路、時鐘電路組成。</p><p> 2.1.1 AT89C52芯片</p><p> AT89C52是一個低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲單
43、元,AT89C52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。</p><p> 89C52相對于89C51優(yōu)越性包括:第一是RAM空間增大:AT89C51有128字節(jié)的內(nèi)部RAM,稱為DATA存儲區(qū)。AT89C52的內(nèi)部RAM擴(kuò)展為256字節(jié),其中高128字節(jié),位于從80H開始的地址空間中,稱為IDATA存儲區(qū),但I(xiàn)DATA區(qū)的訪問只能是間接尋址方式。第二是內(nèi)部Flash變大:AT89C51有4 kB的內(nèi)部Flash
44、PERAM,而AT89C52的內(nèi)部Flash PERAM增加1倍,達(dá)到8kB。 第三是中斷源增加:在AT89C52申P(guān)1.0和P1.1還可分別作為定時器/計數(shù)器2的外部計數(shù)輸入(P1.O/T2)和(P1.1/T2EX),也就是說,P1.0同時可作為定時器針數(shù)器T2的外部計數(shù)輸入和輸出占空比50%的時鐘脈沖端口,Pl.l同時可作為定時器/計數(shù)器T2捕獲厘新裝載觸發(fā)和方向控制端口。故AT89C52除了具備AT89C51的定時器/汁數(shù)器T和定
45、時器/計數(shù)器Tl,還額外增加了一個定時器/計數(shù)器12。而定時器/計數(shù)器T2的控制和狀態(tài)位單獨(dú)位于,I2CON、T2MOD,定時器/計數(shù)器12在16位捕獲方式或自動重新裝載方式下的捕獲/重載寄存器組是(TCA02H、RC</p><p> AT89C52具有40個引腳,主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復(fù)位輸入端口,外接
46、電阻電容組成的復(fù)位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負(fù)端。P0~P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設(shè)計中,P0 端口(32~39 腳)被定義為N1 功能控制端口,分別與N1的相應(yīng)功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接
47、主板CPU 的相應(yīng)功能端,用于當(dāng)前制式的檢測及會聚調(diào)整狀態(tài)進(jìn)入的控制功能。芯片引腳圖如圖2-1所示。 </p><p> 圖2-1 AT89C52單片機(jī)芯片</p><p> 根據(jù)系統(tǒng)設(shè)計要求,各接口功能[9-11]如下:</p><p> P1.0: 產(chǎn)生輸出一個脈沖信號。</p><p> INT0: 產(chǎn)生中斷請求,接前方測距電路
48、。</p><p> INT1: 產(chǎn)生中斷請求,接前方測距電路。</p><p> P0.0: 用于顯示輸出,接顯示器。</p><p> P0.1: 用于顯示輸出,接顯示器。</p><p> P0.2: 用于顯示輸出,接顯示器。</p><p> P0.3: 用于顯示輸出,接顯示器。</p>
49、<p> P0.4: 用于顯示輸出,接顯示器。</p><p> P0.5: 用于顯示輸出,接顯示器。</p><p> P0.6: 用于顯示輸出,接顯示器。</p><p> P0.7: 用于顯示輸出,接顯示器。</p><p> L298N與單片機(jī)連接:</p><p> P1.2:用于連接
50、IN1。</p><p> P1.3: 用于連接IN2。</p><p> P1.4: 用于連接ENA。</p><p> P1.5: 用于連接IN3。</p><p> P1.6: 用于連接IN4。</p><p> P1.7: 用于連接ENB。</p><p> P2.5: 接報
51、警電路</p><p> XTAL1:接外部晶振的一個引腳。在單片機(jī)內(nèi)部,它是一反相放大器輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器。它采用外部振蕩器時,引腳應(yīng)接地。</p><p> XTAL2:接外部晶振的一個引腳。在片內(nèi)接至振蕩器的反相放大器輸出端和內(nèi)部時鐘發(fā)生器輸入端。當(dāng)采用外部振蕩器時,則此引腳接外部振蕩信號的輸入。</p><p> RST:AT89C52
52、 的復(fù)位信號輸入引腳,高電位工作,當(dāng)要對芯片又時,只要將此引腳電位提升到高電位,并持續(xù)兩個機(jī)器周期以上的時間,AT89C52 便能完成系統(tǒng)復(fù)位的各項工作,使得內(nèi)部特殊功能寄存器的內(nèi)容均被設(shè)成已知狀態(tài)。</p><p> 2.1.2 復(fù)位電路</p><p> ?。?)單片機(jī)AT89C52作為主控芯片,控制整個電路的運(yùn)行。單片機(jī)外圍需要一個復(fù)位電路,復(fù)位電路的功能是:系統(tǒng)上電時提供復(fù)位信號
53、,直至系統(tǒng)電源穩(wěn)定后,撤消復(fù)位信號。為可靠起見,電源穩(wěn)定后還要經(jīng)一定的延時才撤銷復(fù)位信號,以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位。該設(shè)計采用含有電阻的復(fù)位電路,復(fù)位電路可以有效的解決電源毛刺和電源緩慢下降(電池電壓不足)等引起的問題,在電源電壓瞬間下降時可以使電容迅速放電,一定寬度的電源毛刺也可令系統(tǒng)可靠復(fù)位。復(fù)位電路如圖2-2所示。</p><p><b> 圖2-2 復(fù)位電路<
54、;/b></p><p> ?。?)復(fù)位是單片機(jī)的初始化操作,使CPU及各專用存儲器處于一個確定的初始狀態(tài),其中把PC的內(nèi)容初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序,除了系統(tǒng)的正常開機(jī)(上電)復(fù)位外,當(dāng)程序運(yùn)行出錯或操作錯誤使系統(tǒng)處于死循環(huán)狀態(tài)時,為擺脫困境,可按復(fù)位鍵進(jìn)行復(fù)位,復(fù)位電路由片外和片內(nèi)兩部分電路組成。AT89C52的RST引腳為復(fù)位引腳,只要在RST引腳上出現(xiàn)兩個機(jī)器周期以上的
55、高電平,即可實現(xiàn)復(fù)位。復(fù)位通常有上電復(fù)位和按鍵復(fù)位兩種方法。本設(shè)計采用的是上電復(fù)位,開機(jī)時電容器是空的,上電后就對電容充電,充電電流,在電阻上形成正電壓,RST引腳就處于高電平,就可以達(dá)到復(fù)位的目的。</p><p> 在實際應(yīng)用系統(tǒng)中,為了保證復(fù)位電路可靠工作,常將RC電路接施密特電路后再接入單片機(jī)復(fù)位端和外圍電路復(fù)位端。這特別適合于應(yīng)用現(xiàn)場干擾大、電壓波動大的工作環(huán)境,并且,當(dāng)系統(tǒng)有多個復(fù)位端時,能保證可靠
56、地同步復(fù)位。</p><p> 2.1.3 時鐘電路</p><p> 時鐘電路用于產(chǎn)生單片機(jī)工作所需要的時鐘信號,單片機(jī)本身就是一個復(fù)雜的同步時序電路,為了保證同步工作方式的實現(xiàn),電路應(yīng)在惟一的時鐘信號控制下嚴(yán)格地按時序進(jìn)行工作 。該時鐘電路由兩個電容和一個晶體振蕩器組成。X1是接外部晶體管的一個引腳。在單片機(jī)內(nèi)部,它是一個反相放大器的輸入端,這個放大器構(gòu)成了片內(nèi)振蕩器。輸出端為引腳
57、X2,在芯片的外部通過這兩個引腳接晶體振蕩器和微調(diào)電容,形成反饋電路,構(gòu)成一個穩(wěn)定的自激振蕩器。晶振電路如圖 2-3 所示。</p><p><b> 圖2-3 晶振電路</b></p><p> 電路中的C3和C4一般取30PF左右,而晶體振蕩器的頻率范圍通常是1.2~12MHz,而電路中采用12MHz,晶體振蕩器的頻率越高,振蕩頻率就越高。</p>
58、<p> 2.2 超聲波發(fā)射電路和接受電路</p><p> 本設(shè)計采用的是HC-SRO4超聲波測距模塊[12],它有發(fā)生電路和接受電路構(gòu)成。模塊性能穩(wěn)定,測度距離精確。能和國外的SRF05、SRF02等超聲波測距模塊相媲美。模塊精度高,盲區(qū)達(dá)到(2cm),有穩(wěn)定的測距功能。本模塊可提供全套測距程序:C51,PIC18F877,超聲波LCD1602顯示,超聲波LCD12864顯示,數(shù)碼管顯示,串
59、口顯示等,測距參考程序。</p><p> 2.2.1 HC-SR04主要技術(shù)參數(shù)</p><p> ?。?)使用電壓:DC5V; </p><p> ?。?)靜態(tài)電流:小于2mA;</p><p> ?。?)電平輸出:高5V; </p><p> ?。?)電平輸出:底0V;</
60、p><p> ?。?)感應(yīng)角度:不大于15度; </p><p> ?。?)探測距離:2cm-450cm ;</p><p> ?。?)高精度:可達(dá)0.3cm;</p><p> ?。?)接線方式:VCC、trig(控制端)、 echo(接收端)、GND</p><p> 2.2.2 HC-SR04工作原理&l
61、t;/p><p> ?。?)采用IO觸發(fā)測距,給至少10us的高電平信號;</p><p> ?。?)模塊自動發(fā)送8個40khz的方波,自動檢測是否有信號返回;</p><p> ?。?)有信號返回,通過IO輸出一高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。</p><p><b> 2.3顯示電路</b><
62、;/p><p> 顯示器是一個典型的輸出設(shè)備,而且其應(yīng)用是極為廣泛的,幾乎所有的電子產(chǎn)品都要使用顯示器,其差別僅在于顯示器的結(jié)構(gòu)類型不同而已。最簡單的顯示器可以使LED 發(fā)光二極管,給出一個簡單的開關(guān)量信息,而復(fù)雜的較完整的顯示器應(yīng)該是 CRT監(jiān)視器或者屏幕較大的 LCD 液晶屏。綜合課題的實際要求以及考慮單片機(jī)的接口資源,采用工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。</p><p&
63、gt; 1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數(shù)字、符號等的點陣型液晶模塊它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因為如此所以他不能顯示圖。</p><p> 本設(shè)計中,1602用來顯示測試的距離,1602顯示電路如圖2-4所示。</p><p><
64、;b> 2.4 報警電路</b></p><p> 報警電路的作用是當(dāng)小車與障礙物之間的距離達(dá)到初始設(shè)置距離的時候,蜂鳴器發(fā)出警報。報警電路由一個三極管、一個電阻和一個蜂鳴器組成的。當(dāng)單片機(jī)P1.5端口為低電平時,報警。報警電路如圖2-5所示。</p><p><b> 圖2-4顯示電路</b></p><p> 圖2
65、-5 系統(tǒng)報警電路</p><p> 2.5 L298N驅(qū)動電路</p><p> L298N 為SGS-THOMSON Microelectronics 所出產(chǎn)的雙全橋步進(jìn)電機(jī)專用驅(qū)動芯片,內(nèi)部包含4信道邏輯驅(qū)動電路,是一種二相和四相步進(jìn)電機(jī)的專用驅(qū)動器,可同時驅(qū)動2個二相或1個四相步進(jìn)電機(jī),內(nèi)含二個H-Bridge的高電壓、大電流雙全橋式驅(qū)動器,接收標(biāo)TTL邏輯準(zhǔn)位信號,可驅(qū)動46
66、V、2A以下的步進(jìn)電機(jī),且可以直接透過電源來調(diào)節(jié)輸出電壓;此芯片可直接由單片機(jī)的IO端口來提供模擬時序信號。本設(shè)計是用L298芯片來驅(qū)動小車。L298N管腳圖如圖2-6所示。</p><p> 圖2-6 L298N管腳圖</p><p> 單片機(jī)的I/O端口分別與L298N的IN1,IN2,IN3,IN4連接,接受脈沖信號。1腳和15腳發(fā)射極分別引出以便接入電流采樣電阻,形成電流傳感信
67、號。 OUT1,OUT2,OUT3,OUT4分別接電機(jī)的一相。5腳,7腳,10腳和12腳接輸入控制電平。ENA,ENB控制使能端,控制電機(jī)的停轉(zhuǎn),高電平有效。驅(qū)動電路圖如圖2-7所示。</p><p><b> 圖2-7驅(qū)動電路圖</b></p><p><b> 2.6系統(tǒng)原理</b></p><p> 系統(tǒng)原理圖
68、見附錄1。工作原理: 由單片機(jī)AT89C52編程產(chǎn)生方波信號,經(jīng)過P1.0口連接到超聲波模塊發(fā)送超聲,再經(jīng)過放大電路,驅(qū)動超聲波發(fā)射探頭發(fā)射超聲波,發(fā)射出的超聲波經(jīng)障礙物反射回來,經(jīng)過P3.2口由超聲波接收頭接收信號。通過接收電路的檢波放大、積分整形以及一系列的處理,送至單片機(jī)。單片機(jī)利用聲波傳播速度和發(fā)射脈沖到接收反射脈沖的時間間隔計算出障礙物的距離,并由單片機(jī)控制顯示模塊,顯示出具體的距離。</p><p>
69、 第三章 系統(tǒng)軟件的設(shè)計</p><p> 在系統(tǒng)硬件構(gòu)架了超聲波測距的基本功能之后,系統(tǒng)軟件所實現(xiàn)的功能主要是針對系統(tǒng)功能的實現(xiàn)及數(shù)據(jù)的處理和應(yīng)用。根據(jù)第二章所述系統(tǒng)硬件設(shè)計和所完成的功能。</p><p> 3.1系統(tǒng)軟件實現(xiàn)功能</p><p> (1)信號控制。在系統(tǒng)硬件中,已經(jīng)完成了發(fā)射電路、接收電路、檢測電路、顯示電路、門限檢測的設(shè)計。在系統(tǒng)軟件
70、中,要完成增益控制信號、門控信號、發(fā)射脈沖信號、峰值采集信號、遠(yuǎn)近控制信號的時序及輸出。</p><p> ?。?)數(shù)據(jù)存儲。為了得到發(fā)射信號與接收回波間的時間差,要讀出此刻計數(shù)器的計數(shù)值,然后存儲在 RAM 中,而且每次發(fā)射周期的開始,需要對計數(shù)器清零,以備后續(xù)處理。</p><p> ?。?) 信號處理。RAM 中存儲的計數(shù)值并不能作為距離值直接顯示輸出,因為計數(shù)值與實際的距離值之間轉(zhuǎn)
71、換公式為</p><p><b> (3-1)</b></p><p> 其中,T 為發(fā)射信號到接收之間經(jīng)歷的時間,Tr 為方波信號作為計數(shù)脈沖時計數(shù)器的時間分辨率,N 為計數(shù)器的值。在這個部分中,信號處理包括計數(shù)值與距離值換算,二進(jìn)制與十進(jìn)制轉(zhuǎn)換。</p><p> ?。?) 數(shù)據(jù)傳輸與顯示。經(jīng)軟件處理得到的距離送顯示輸出,用1602 液
72、晶表示。由于采用了單片機(jī)AT89C52并考慮整個系統(tǒng)的控制流程,整個系統(tǒng)軟件都有AT89C52系列單片機(jī)匯編語言實現(xiàn)。由于距離值的得出及顯示是在中斷子程序中完成的,因此在初始化發(fā)射程序后進(jìn)入中斷響應(yīng)的等待。在中斷響應(yīng)之后,原始數(shù)據(jù)經(jīng)計數(shù)值與距離值換算子程序,二進(jìn)制與十進(jìn)制轉(zhuǎn)換子程序后顯示輸出。整個系統(tǒng)軟件功能的實現(xiàn)可以分為主程序、中斷服務(wù)程序幾個主要部分。</p><p><b> 3.2 主程序&l
73、t;/b></p><p> 主程序是單片機(jī)程序的主體,整個單片機(jī)端系統(tǒng)軟件的功能的實現(xiàn)都是在其中完成的,程序首先完成初始化過程,然后是一個重復(fù)的控制發(fā)射信號的過程,即調(diào)用發(fā)射子程序幾遍,而且每次發(fā)射周期結(jié)束都會判斷在發(fā)射信號后延時等待的過程中是否發(fā)生了中斷,即是否有回波產(chǎn)生來判斷程序得流程,有回波的話,再經(jīng)過測距的子程序流來計算距離,判斷所測距離是否在安全范圍內(nèi),以驅(qū)動顯示和報警電路。主程序流程圖如圖3
74、-1所示。</p><p> 圖3-1 主程序流程圖</p><p> 上電后小車顯示“ Aptitude Crash-”“ worthy System”,按下功能鍵后開始設(shè)定報警距離值,設(shè)定在10cm以上比較好,設(shè)定時小車停止一切動作,功能鍵按下一次后同時按+,-鍵設(shè)定值,設(shè)定好后按確定鍵,則設(shè)定值有效,功能鍵按下兩次后小車行駛并開始測距判斷,功能鍵按下三次后,顯示初始顯示狀態(tài)。&l
75、t;/p><p> ?。?)脈沖的產(chǎn)生與超聲波發(fā)射。在脈沖產(chǎn)生前先對定時/計數(shù)器T0進(jìn)行初始化,在這里選擇的是工作方式1定時器模式,所以TMOD應(yīng)該設(shè)定為0x11,再開啟T0的同時開發(fā)發(fā)射超聲波脈沖。這由單片機(jī)執(zhí)行下面程序來產(chǎn)生。</p><p> #include <REG52.H></p><p> sbit csbout=P1^0;
76、 //超聲波發(fā)送</p><p> 前方測距電路的輸入端接單片機(jī)P1.0端口,單片機(jī)執(zhí)行上面的程序后,在P1.0 端口輸出一個脈沖信號,經(jīng)過三極管T放大,驅(qū)動超聲波發(fā)射頭發(fā)出脈沖超聲波,且持續(xù)發(fā)射。 </p><p> ?。?)超聲波的接收與處理。超聲波的接收是由外部中斷口INT0是否有中斷脈沖產(chǎn)生來判斷的。定時子程序轉(zhuǎn)回來的時候,要對中斷進(jìn)行初始化。選定
77、的是INT0口,工作方式為脈沖方式。</p><p> #include <REG52.H> </p><p> sbit csbout=P1^0; //超聲波發(fā)送 </p><p> sbit csbint=P1^1; //超聲波接收 </p&g
78、t;<p> 聲波接收電路經(jīng)過前置放大、限幅放大、寬頻帶濾波器、檢波器及比較器、整形、置后比較器的一系列工作之后,在信號輸出端7腳由高電平躍變?yōu)榈碗娖?,作為中斷請求信號,送至單片機(jī)處理。 </p><p> 前方測距電路的輸出端接單片機(jī)INT0端口,中斷優(yōu)先級最高。部分源程序如下:</p><p> write_com(0x80);
79、 //顯示前方障礙物距離</p><p> write_com(0x80+0x40); //顯示設(shè)定報警距離</p><p> ?。?)數(shù)據(jù)讀取和儲存。為了得到發(fā)射信號與接收回波間的時間差,要讀出T0計數(shù)器的計數(shù)值,然后存儲在 RAM 中,而且每次發(fā)射周期的開始,需要對計數(shù)器清零,以備后續(xù)處理。</p><p> ?。?)計算
80、超聲波傳播時間。T0中讀取出來的時間差數(shù)據(jù)并不能作為距離值直接顯示輸出,因為時間差值與實際的距離值之間轉(zhuǎn)換公式為 </p><p><b> ?。?-2)</b></p><p> 其中,V為聲音在常溫下的傳播速度,T為發(fā)射信號到接收之間經(jīng)歷的時間[ 13-15]。</p><p> 3.3 顯示子程序和報警子程序</p>&
81、lt;p> 考慮到提高系統(tǒng)資源的利用率,顯示采用動態(tài)顯示法實現(xiàn)。部分源程序,顯示流程圖和報警流程圖如圖3-2和3-3所示。超聲波測得的數(shù)據(jù)送至單片機(jī)處理后,由LCD1602顯示出數(shù)據(jù)來。</p><p><b> 圖3-2顯示程序圖</b></p><p> 小車行駛中,超聲波對障礙物距離進(jìn)行測距,然后把數(shù)據(jù)送至單片機(jī)處理,當(dāng)超聲波測得的距離小于設(shè)定值的時
82、候,蜂鳴器發(fā)出警報,小車停止前進(jìn)。當(dāng)測得的距離大于設(shè)定值時,小車?yán)^續(xù)前進(jìn)。</p><p> 圖3-3 報警流程圖</p><p><b> 部分源程序如下:</b></p><p> sbit temp_control=P2^3;//報警距離設(shè)計 按一次為距離設(shè)計 , 按兩次為正常工作狀態(tài)</p><p>
83、sbit temp_1=P2^2; //設(shè)定時確定鍵控制 </p><p> sbit temp_add=P2^1; //加鍵</p><p> sbit temp_sub=P2^0; //減鍵</p><p> uchar num; //顯示位數(shù)計數(shù)</p>
84、;<p> uchar table1[16]=" Distance=_.__M ";</p><p> uchar table2[16]="Dis_Setup= . M ";</p><p> uchar code table3[16]=" Aptitude Crash-";</p><p
85、> uchar code table4[16]=" worthy System ";</p><p> uchar table5[16]="Dis_Setup= CM";</p><p> uchar code table6[16]="Key Sure Button ";</p><p>
86、; ucharcodeASCII[15]={'0','1','2','3','4','5','6','7','8','9','.','_','M'};</p><p> uint time=0;
87、 //定時器值</p><p> unsigned long S=0; //存放距離值</p><p> unsigned long S_flag = 20; /存放報警距離值,初始值為20cm</p><p> unsigned long temp_value;
88、 //設(shè)定值預(yù)放存儲器</p><p> bit flag =0; //定時器溢出標(biāo)志</p><p> uchar disbuff[4] ={ 0,0,0,0,};</p><p> uint temp_control_m; //控制按鍵次數(shù)</p><p>
89、; void delay(uint n) //延時1MS </p><p><b> { </b></p><p> uint x,y; </p><p> for(x=n;x>0;x--) </p><p> for(y=110;y>0;y
90、--); </p><p><b> } </b></p><p> /********************************************************/ </p><p> void delayms(uint ms) //延時10MS</p><p><b>
91、 {</b></p><p> uchar i=100,j;</p><p> for(;ms;ms--)</p><p><b> {</b></p><p> while(--i)</p><p><b> {</b></p><
92、p><b> j=10;</b></p><p> while(--j);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><p> voi
93、d write_com(uchar com) //寫地址</p><p><b> {</b></p><p><b> lcdrs=0;</b></p><p><b> P0=com;</b></p><p><b> lcden=0;</b
94、></p><p><b> delay(5);</b></p><p><b> lcden=1;</b></p><p><b> delay(5);</b></p><p><b> lcden=0;</b></p>&
95、lt;p><b> }</b></p><p> void write_date(uchar date) //寫數(shù)據(jù)</p><p><b> {</b></p><p><b> lcdrs=1;</b></p><p><b> P0=da
96、te;</b></p><p><b> delay(5);</b></p><p><b> lcden=1;</b></p><p><b> delay(5);</b></p><p><b> lcden=0;</b></
97、p><p><b> }</b></p><p> void init() //液晶初始化</p><p><b> {</b></p><p><b> lcden=0;</b></p><p> write_com(0x38);&
98、lt;/p><p> delay(20);</p><p> write_com(0x0c);</p><p> delay(20);</p><p> write_com(0x06);</p><p> delay(20);</p><p> write_com(0x01);</
99、p><p> delay(20);</p><p> IN1 = 1; //初始化電機(jī)驅(qū)動模塊,使電機(jī)等待正轉(zhuǎn)</p><p><b> IN2 = 0;</b></p><p><b> IN3 = 1;</b></p><p><b>
100、IN4 = 0;</b></p><p><b> ENA = 0;</b></p><p><b> ENB = 0;</b></p><p> baojing = 1; //關(guān)閉報警</p><p> temp_value = S_fla
101、g;</p><p><b> }</b></p><p> 第四章 系統(tǒng)調(diào)試與分析</p><p> 本設(shè)計由硬件電路和軟件組成,所以系統(tǒng)調(diào)試時要分為硬件調(diào)試和軟件調(diào)試。硬件調(diào)試由于涉及到較多的模塊,所以調(diào)試起來比較費(fèi)勁,設(shè)計的不定的因素也比較多,因此調(diào)試的時候采用分塊調(diào)試方法,排除各個模塊的干擾。軟件調(diào)試時,不同的CPU,其匯編語言有
102、可能有所差異,所以不易移植。</p><p> 4.1 硬件調(diào)試 </p><p> 硬件調(diào)試分兩步:第一步:系統(tǒng)上電之前,先用萬用表等工具、根據(jù)硬件邏輯設(shè)計圖,仔細(xì)檢查各個模塊線路是否連接正確,并核對元器件型號、規(guī)格和安裝是否符合要求,應(yīng)特別注意電源系統(tǒng)的檢
103、查,防止電源的短路的極性錯誤,并重點檢查系統(tǒng)總線是否存在相互之間短路或與其他信號線的短路。</p><p> 第二步:第一的調(diào)試,只是對系統(tǒng)進(jìn)行初步調(diào)試,可以排除一些明顯的故障,而硬件故障(如各個部件內(nèi)部存在的故障和部件之間來連接的邏輯錯誤)主要是靠軟件和硬件的聯(lián)調(diào)來排除。</p><p><b> 4.2 軟件調(diào)試</b></p><p>
104、; 首先是通過軟件仿真,先進(jìn)行單個程序仿真,然后再進(jìn)行整體程序仿真,不斷修改,逐步完善其功能。在這步完成后應(yīng)該確定其I/O口的分配,時鐘的選擇和各輸入信號的邏輯性及給出系統(tǒng)所需的信號。調(diào)試的時候一定要細(xì)心,有耐心,踏踏實實的一步一步調(diào),不可急,否則程序會一塌糊涂。 </p><p> 其過程分為以下幾個步驟: 第一步:建立源程序。通過計算機(jī)開發(fā)系統(tǒng)的編輯軟件,按照所要求的格式、語法規(guī)定、源程序輸入到開發(fā)系統(tǒng)中
105、,并存在磁盤上。</p><p> 第二步:在計算機(jī)上,利用KILE軟件對第一步輸入的源程序進(jìn)行編譯,變?yōu)榭蓤?zhí)行的目標(biāo)代碼。如果源程序有語法錯誤,則其錯誤將顯示出來,然后返回到第一步進(jìn)行修改,再進(jìn)行編譯,知道語法錯誤全部糾正為止。</p><p> 第三步:動態(tài)在線調(diào)試。對于和系統(tǒng)無聯(lián)系的程序,可以借助動態(tài)在線調(diào)試手段,如單步運(yùn)行、設(shè)置斷點等,發(fā)現(xiàn)邏輯錯誤,然后返回刀片第一步修改,直到
106、邏輯錯誤糾正為止。對于和系統(tǒng)硬件緊密相關(guān)的程序,則需要軟件,硬件同時進(jìn)行調(diào)試,將程序燒入CPU,然后將CPU插入系統(tǒng),發(fā)現(xiàn)硬件故障排除故障,發(fā)現(xiàn)邏輯錯誤,修改程序,消除邏輯錯誤。</p><p> 4.3 數(shù)據(jù)測量與分析</p><p> 介于實際測量工作的局限性,最后在測量中選取了10cm,15cm,20cm,50cm,四個距離進(jìn)行測量,每個距離連續(xù)測量7次,得出測量數(shù)據(jù),如表所4-
107、2示,從表中的數(shù)據(jù)可以看出,測量只和實際值之間都存在誤差[16],但對于連續(xù)測量的準(zhǔn)確性還是比較高的。對所測的每組數(shù)據(jù)去掉一個最大值和一個最小值,在求其平均值,用來作為最終的測量數(shù)據(jù),最后進(jìn)行比較分析。這樣處理數(shù)據(jù)也有一定的科學(xué)道理和合理性。從表中的數(shù)據(jù)開,雖然受到了溫度的影響,此系統(tǒng)是無法避免的,但從全部數(shù)據(jù)來看,本設(shè)計的絕對誤差都不較小,也比較穩(wěn)定。測距誤差主要來源于以下幾個方面:</p><p> 超聲波
108、發(fā)射與接收探頭與被測點存在一定角度,這個角度直接影響到測量距離的精確值,本系統(tǒng)中只能靠目測及簡單的工具微調(diào)超聲波發(fā)射頭和接收頭的中軸線平行,股存在一定誤差。 </p><p> 表4-2 測試數(shù)據(jù)表</p><p> 表4-2數(shù)據(jù)表明,在10—20cm距離之間的測量,本設(shè)計的精確度相當(dāng)高,誤差比全部控制在1%以下,而在50cm以上的距離的測量中,誤差略又升高,最小的可測距離是由接受換能
109、器對聲波脈沖的直接接受能力決定。</p><p><b> 結(jié)束語</b></p><p> 經(jīng)過幾周的奮戰(zhàn),我的畢業(yè)設(shè)計終于完成了。在沒有做畢業(yè)設(shè)計以前覺得畢業(yè)設(shè)計只是對這幾年來所學(xué)知識的單純總結(jié),但是通過這次做畢業(yè)設(shè)計發(fā)現(xiàn)自己的看法有點太片面。畢業(yè)設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設(shè)計使我明白了自己原來知識還比較欠缺
110、,這次做論文的經(jīng)歷也會使我終身受益,我感受到做論文是要用心去做的一件事情,是真正的自己學(xué)習(xí)的過程和研究的過程,沒有學(xué)習(xí)就不可能有研究的能力,沒有自己的研究,就不會有所突破,那也就不叫論文了。</p><p> 通過這次畢業(yè)設(shè)計使我懂得了理論與實際相結(jié)合是很重要的,只有理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有把所學(xué)的理論知識與實踐相結(jié)合起來,從理論中得出結(jié)論,才能真正為社會服務(wù),從而提高自己的實際動手能力和獨(dú)立思考的能力。在設(shè)
111、計的過程中遇到很多問題,可以說是困難重重,必須要一一解決。同時在設(shè)計的過程中發(fā)現(xiàn)了自己的不足之處,對以前所學(xué)過的知識理解得不夠深刻,掌握得不夠牢固,希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)中激勵我繼續(xù)進(jìn)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1] 晏敏、曾云、曾健平等.遠(yuǎn)程汽車防盜報警系統(tǒng)的設(shè)計[J].宇航測技術(shù),2004,24(6):49-51
112、.</p><p> [2] 羅慶生,韓寶玲.一種基于超聲波與紅外線探測技術(shù)的測距定位系統(tǒng)[J].計算機(jī)測量與控制,2005,13(4):304-301.</p><p> [3] HERRINGTON D R.Ultrasonic range finder uses few components[J]. EDN,</p><p> 1999,(6):23-2
113、6.</p><p> [4] Riihijarvi J,Mahonen P,Saarancn M j.ct al.Providing network connectivity for small apliance;Afunctionally minimize-ed embedded Web Server[J].IEEE Comin,2001,39(10):74-79.</p><p>
溫馨提示
- 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)的設(shè)計
- 基于單片機(jī)的多功能家居警報系統(tǒng)
- 基于單片機(jī)的溫度警報系統(tǒng)課程設(shè)計論文
- 課程設(shè)計----汽車倒車防撞警報系統(tǒng)設(shè)計
- 基于單片機(jī)的超聲波測距系統(tǒng)畢業(yè)論文
- 基于單片機(jī)的超聲波測距系統(tǒng)-畢業(yè)論文
- 基于單片機(jī)壓力警報器設(shè)計-畢業(yè)論文
- 基于單片機(jī)溫濕度顯示警報系統(tǒng)設(shè)計說明
- 基于單片機(jī)的汽車倒車防撞系統(tǒng)設(shè)計
- 基于單片機(jī)的超聲波測距系統(tǒng)設(shè)計畢業(yè)論文
- 單片機(jī)的智能汽車防撞畢業(yè)設(shè)計論文
- 基于單片機(jī)的超聲波測距系統(tǒng)實現(xiàn)畢業(yè)論文
- 畢業(yè)論文-基于at89s51單片機(jī)的汽車倒車?yán)走_(dá)防撞系統(tǒng)設(shè)計
- 基于單片機(jī)溫濕度顯示警報系統(tǒng)設(shè)計說明
- 基于51單片機(jī)超聲波測距畢業(yè)論文
- 基于51單片機(jī)的超聲波測距系統(tǒng)設(shè)計-畢業(yè)論文
- 基于51單片機(jī)超聲波測距畢業(yè)論文
- 基于at89s52單片機(jī)的測距系統(tǒng)設(shè)計畢業(yè)論文
- 畢業(yè)論文——基于51單片機(jī)的超聲波測距系統(tǒng)設(shè)計
- 51單片機(jī)超聲波測距畢業(yè)論文
評論
0/150
提交評論