基于單片機的汽車防撞測距警報系統畢業(yè)論文_第1頁
已閱讀1頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  基于單片機的汽車防撞測距警報系統</p><p>  學院名稱: 電氣信息學院 </p><p>  專 業(yè): 測控技術與儀器 </p><p>  班 級: </p><p>  姓

2、 名: </p><p>  指導教師姓名: </p><p>  指導教師職稱: 講 師 </p><p>  2012年6月 </p><p>  基于單片機的汽

3、車防撞測距警報系統</p><p>  摘要: 本文介紹了一種單片機控制的汽車防撞測距報警系統,此系統利用AT89C52單片機作為主控制器,結合超聲波測距原理,通過發(fā)射和接收超聲波信號,再由單片機進行數據處理,通過數碼管顯示距離,當超過設定的距離時蜂鳴器報警。該系統采用軟、硬結合的方法,具有模塊化和多用化的特點。該論文對系統各個單元的原理進行了介紹。對組成的各系統電路的芯片進行了介紹,并闡述了它們的工作原理。此系

4、統具有結構簡單,精度高,使用方便等特點。</p><p>  關鍵詞:單片機;超聲波 ;測距</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>  第一章 系統設

8、計方案3</p><p>  1.1總體方案設計3</p><p>  1.2方案的比較與確定3</p><p>  1.3 方案的確定9</p><p>  第二章 系統硬件設計10</p><p>  2.1 單片機最小系統10</p><p>  2.1.1 AT89C52芯片

9、10</p><p>  2.1.2 復位電路12</p><p>  2.1.3 時鐘電路13</p><p>  2.2 超聲波發(fā)射電路和接受電路14</p><p>  2.2.1 HC-SR04主要技術參數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驅動電路17</p><p>  2.6系統原理18</p><p>  第三章 系統軟件的設計19</p><p>  3.1系統軟件實現功能19</p><p> 

11、 3.2 主程序19</p><p>  3.3 顯示子程序和報警子程序21</p><p>  第四章 系統調試與分析26</p><p>  4.1 硬件調試26</p><p>  4.2 軟件調試26</p><p>  4.3 數據測量與分析27</p><p><b

12、>  結束語28</b></p><p><b>  參考文獻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>  隨著我國經濟迅速發(fā)展,人民生活水平不斷提高。汽車已經成為人們日常生活中必不可少的一部分,我國的汽車數量逐年上升,但是隨著汽車駕駛員數量的逐漸增加也引發(fā)了一系列的問題。汽車的數量在大副攀升,交通擁擠狀況也日趨嚴重,撞車、盜竊[1]事件屢屢發(fā)生,造

14、成了不可避免的人身傷亡和經濟損失,針對這種情況,設計一種響應快,可靠性高且較為經濟的汽車防撞報警系統勢在必行。超聲波測距法是最常見的一種距離測距方法[2-4],應用于汽車的前后左右防撞的近距離和低速狀況下。在汽車防撞報警系統中,超聲波作為一種特殊的聲波,同樣具有聲波傳輸的基本物理特性——折射,反射,干涉,衍射,散射。汽車防撞報警器[5]將單片機的實時控制及數據處理功能,與超聲波的測距技術、傳感器技術相結合,可檢測汽車運行中后方障礙物與汽

15、車的距離及汽車車速,通過數顯裝置顯示距離,并由報警電路根據距離遠近情況發(fā)出警告聲。</p><p>  本課題把硬件電路和軟件有機的結合起來,完成汽車行車、倒車報警系統的設計,能夠了解單片機技術的現狀,而且通過對電路系統的設計,學習掌握了數字電路從原理圖到PCB版的全部過程,形成完善的設計思路以及思想,并通過對汽車超聲波報警器的軟件設計的過程,鍛煉應用C以及相關匯編語言等軟件設計電路程序的能力為以后參與實際工作奠

16、定良好的設計基礎。</p><p>  由于計算機技術和高速設備的快速發(fā)展,數字化采集和分析的超聲波信號的持續(xù)發(fā)展成為了可能。國內也出現了各種類型的數字超聲波檢測設備,并已成為超聲波探測發(fā)展方向。廈門大學一些學者們研究的超聲波回聲剖面分析,該方法主要是在測距中通過兩次探測求取回波包絡曲線來得到回波的起點,這種方法處理后的超聲波傳播時間的準確性大大的得到改善。意大利Carullo等人推出了一種自適應的系統,使用一個

17、特殊的發(fā)射波形,取得良好的回波包絡和環(huán)境噪聲估計,設置一定的回聲開平電路,且采用自動增益控制放大器的優(yōu)點,通過這些措施來提高超聲檢測精度。此外,也有很多的文獻研究,利用數字信號處理技術和小波變換理論來提高傳輸時間的準確性。這種研究已取得了良好效果。</p><p>  目前,計算機價格大幅度下降,采用非一體化超聲波檢測儀器,計算機可發(fā)揮它一機多用的各種功能,這種方法可以節(jié)約很多。過去那種全功能的儀器設置,還不如單

18、獨的超聲儀,計算機可充分發(fā)揮各自特點。高智能化檢測儀器只能滿足檢測條件,使用環(huán)境,重復性測試內容等基本情況一樣,才可充分發(fā)揮其特有功能。儀器設計也應從實際情況出發(fā),才能滿足用戶的要求。綜上所述,我國超聲波儀器的研制與生產,有較大發(fā)展,有的型號已超過國外同類儀器水平。</p><p>  第一章 系統設計方案</p><p><b>  1.1總體方案設計</b><

19、;/p><p>  按照系統設計的功能要求,初步確定設計系統主要由晶振電路、復位電路、超聲波發(fā)射電路、超聲波接收電路、驅動電路、顯示電路、報警電路組成。見系統框圖1-1。</p><p><b>  圖1-1 系統框圖</b></p><p>  由于超聲波發(fā)射與接收電路是整個系統最重要部分,因此確定一種好的設計方案關系到整個系統的精確性和安全可靠

20、性。本設計通過多種方案比較,最后達到最佳方案確定。</p><p>  1.2方案的比較與確定</p><p>  方案一:40kHz的超聲波發(fā)送脈沖信號由單片機的P1.0口送出,發(fā)出一系列的脈沖群,每一個脈沖群的持續(xù)時間大約為0.5ms左右。信號經過三極管放大,再經過阻抗匹配電路即變壓器(變壓器輸入輸出比為1:10)后,驅動超聲波發(fā)射頭,發(fā)射換能器兩端就加上了高電壓,內部的壓電晶片開始

21、震動,經過壓電換能器將發(fā)出40kHz的脈沖超聲波。當超聲波遇到障礙物時就會產生反射波,發(fā)射波返回到超聲波傳感器[ 7-8]上,盡管發(fā)射部分的脈沖電壓比較高,但是由回波引起的接受壓電晶片產生的射頻電壓幅度近距離有幾毫伏,遠距離還不到幾毫伏,由于在較遠距離的情況下,聲的回波很弱,因而轉換為電信號的幅值也很小,為此要求將信號放大6000倍左右。信號經過放大整形電路產生一個負脈沖信號,使單片機產生中斷。</p><p>

22、  在接收端第一級,要求其放大倍數為了C945這62倍左右,所以選擇只三極管,達到了放大倍數。第二三級選用了一枚集成放大器NE5532,它集成了兩個放大器,可達到預定放大倍數。</p><p>  方案二:由施密特振蕩器和數字功放電路組成,由P1.0口發(fā)出的同步脈沖信號如圖1-2。它啟動振蕩器,輸出40kHz的高頻信號,經整形及功放電路,加至發(fā)射換能器,發(fā)出40kHz的超聲波。</p><p&

23、gt;  接收電路主要由回波放大接收及比較控制電路組成,如圖1-2所示。</p><p>  圖1-2 接收控制及接口電路</p><p>  初始,比較器A1同相端已經通過調整Rr,使其電壓略高于2.5V。因此A1應輸出高電平,但由于D1相位作用,A1輸出低電平,即RS觸發(fā)器的=0,Q=1, =1,= 0。當P1.0發(fā)出啟動信號,在A點形成正脈沖,經N1反相,= 0,D1相位釋放,= 1

24、,Q=0,= 1(正跳),T0計數器開始計數。脈沖過后,= 1,=1,Q=0,= 1。回波信號經放大濾波,送至比較器A1的反相端,它是疊加在2.5V電壓上的交變40kHz的信號。它的前沿使A1輸出低電平。=0,= 1,Q=1,= 0(負跳),即獲得負跳沿信號,CPU響應中斷,T0計數停,計數值N1送存RAM。</p><p>  由于發(fā)射探頭和接收探頭都是平行放置且距離較近,發(fā)射探頭發(fā)射超聲波時,接收探頭會引起強

25、烈的感應信號,因此必須將其隱去。當P1.0輸出啟動信號,主控同步脈沖加至比較器A2時,A2輸出一個遠大于2.5V的電壓,經過D2降壓后約為7.5V左右,加至A1同相端,又C2的延遲作用,A1同相端產生一定寬度和高度的方波,它的幅度和寬度均大于發(fā)射串擾信號,A1輸出端即RS觸發(fā)器的端仍為高電平,這樣串擾信號將被隱去。這段時間稱為盲區(qū),約2ms。</p><p>  方案三:(1)發(fā)射電路。發(fā)射電路由555多諧振蕩器

26、和數字功率放大器組成。采用555 多諧振蕩器可以實現寬范圍占空比的調節(jié),并且電路設計簡單占用面積小。如圖1-3所示,由單片機P1.0口發(fā)出同步脈沖信號,該同步脈沖啟動多諧振蕩器,使其輸出20kHz的高頻電壓信號,經過整形及功放電路加至超聲波換能器探頭,根據逆壓電效應,產生振動頻率為20kHz 的超聲波。</p><p> ?。?)接收電路。接受電路主要由回波放大接收電路及比較電路組成。如圖1-4所示,首先調節(jié)可調

27、電阻使比較器A1 同相端電位高于2.5V。由于D1輸出低電平, 而反相器N 輸出高電平,所以有RS 觸發(fā)器的=0,=1,Q=1,=0當P1.0發(fā)出啟動信號(如圖1-3中(1)所示)經過微分電路形成的同步脈沖信號通過反相器N 的反相功能,=0,D1 箝位釋放=1,Q=0,=1(正跳變),T0 計數器開始記數,脈沖經過之后==1,Q=0,=1。 回波信號經過放大濾波送至比較器A1的反相端,它是疊加在2.5V上的頻率為20KHz的高頻電壓信號

28、。如圖1-3中的(3)所示,其前上升沿使A1輸出低電平,=0,=1,Q=1,=0(負跳變);即獲得負跳沿信號,CPU 響應中斷請求,使T0計數器停止計數,記數值N 送存RAM。</p><p> ?。?)盲區(qū)干擾信號的消隱。通常發(fā)射換能器和接收換能器都是平行放置且距離較近。當發(fā)射探頭發(fā)射超聲波時接收換能器接收到的第一個波是串擾直通波,也稱泄漏波它是近源的波束旁瓣或通過繞射由發(fā)射換能器直接到達接收換能器而造成的。因

29、此,通常接收探頭會引起強烈的感應信號。所以必須將其隱去,當P1.0輸出啟動信息,同步脈沖加至比較器A2時,A2 輸出一遠大于2.5V 的電壓, 經D2降壓后大約等于7.5V,加至A1同相端,由于C1延遲作用,A1同相端將產生一定寬度和高度的方波,如圖1-3中的(4)所示。它的寬度和幅度都大于發(fā)射串擾信號,A1 輸出端即RS觸發(fā)器S端仍為高電平,這樣串擾信號將被隱去,這段時間稱為盲區(qū),約2毫秒。</p><p> 

30、 圖1-3 測距脈沖圖</p><p>  圖1-4 超聲波回波接收電路</p><p>  方案四:(1)發(fā)射電路。發(fā)射電路由脈沖產生電路和發(fā)射電路組成。脈沖產生電路的主要任務是產生40kHz 脈沖電壓。它由與非門和電阻電容構成振蕩電路,由單片機P1.1 口控制其是否工作。脈沖產生電路的輸出電壓經脈沖變壓器升壓后輸出到超聲傳感器。其中,脈沖變壓器對脈沖電壓變換值的大小直接影響測距范圍,

31、應盡量提供脈沖變壓器副邊電壓幅值。</p><p> ?。?)接收電路。接收電路的主要任務是檢測回波,并向單片機發(fā)出中斷以停止計時。接收電路設計的好壞直接影響超聲波在空氣中傳播時間的測量。接收部分電路由檢波電路、濾波放大電路和整形電路組成。檢波電路拾取回波中的正半波,以便后級電路放大;整形電路把回波信號整理為單片機系統能夠接收的信號并向單片機申請中斷以停止計時。接收電路的主體是濾波放大電路。由于超聲回波信號十分微

32、弱并含有噪聲,S/N較小,所以接收電路設置了兩級高Q值的濾波放大電路。濾波放大電路采用二階帶通濾波放大器,一級和二級濾波放大電路采用相同的結構和參數。其電路如圖1-6所示。圖1-6中,R11、R12、C13、C14、R15 和運算放大器Amp1A 組成了一級濾波放大電路;R21、R22、C23、C24、R25 和運算放大器Amp1B 組成了二級濾波放大電路。</p><p>  圖1-5發(fā)射部分電路</p&

33、gt;<p>  圖1-6 一次和二次濾波放大電路</p><p>  發(fā)射接收電路中應考慮的各種問題。發(fā)射波形如圖 1-7,傳感器的振蕩波形要經過一段時間才能達到穩(wěn)定狀態(tài),理論上信號的幅度時指數上升的,Q 各周期后達到滿幅度的 95%,1.5Q 個周期后達到 99%。為提高傳感器的靈敏度,Q 值一般不能太低,為使傳感器充分振蕩起來,發(fā)射脈寬要求不能小于 Q 個振蕩周期,才能使發(fā)射幅度基本達到最大。

34、考慮到測量“盲區(qū)”影響,這里選擇脈寬為 120μs,包含 5 個調制的 44kHz 的方波信號。</p><p><b>  圖1-7 發(fā)射波形</b></p><p>  測距器的發(fā)射波形如圖1-7,在規(guī)定時刻將一持續(xù)時間為τ的正弦波加到傳感器上,然后關閉發(fā)射電路,打開接收通道,接收來自障礙物的反射波。 </p><p>  傳感器發(fā)射電壓大

35、小主要取決于發(fā)射信號損失及接收機的靈敏度,綜合各種損耗的因素,包括往返傳播損失,聲波傳輸損失,聲波反射損失,環(huán)境噪聲損失,接收預放大單元的作用是對有用的信號進行放大,并抑制其它的噪聲和干擾,從而達到最大信噪比,以利檢測單元的正確檢測。</p><p>  如何達到信號的最佳接收關系整個系統的準確性和安全性,所以也應考慮到影響接收信號的各方面問題。在傳感器接收到的信號中,除了障礙物反射的回波外,總混有雜波和干擾脈沖

36、等環(huán)境噪聲。室內環(huán)境中噪聲主要集中在低頻段,遠離回波信號頻率,因此系統的總噪聲系數主要有接收機的內部噪聲決定,其功率譜寬度遠大于接收機的通頻帶。我們可以近似的將其作為白噪聲處理,根據已有知識,輸入為已知信號加白噪聲的條件下,匹配濾波器的輸出信噪比最大。匹配濾波器具有以下特點:(1)輸出最大信噪比與信號波形無關;(2)匹配濾波器對信號的幅度和時延具有適應性,即對只有幅度和出現時間不同的信號,它們的匹配濾波器是相同的;(3)匹配濾波器與相關

37、接收和相關器具有等效性。</p><p>  實際上很難得到精確的匹配濾波器,由于單個射頻脈沖的頻譜是連續(xù)的,用普通的窄帶濾波器就能把其主峰部分(w 附近)濾波出來,適當的選擇濾波器的通帶寬度就能取得與匹配濾波器相差不多的效果。</p><p>  圖 1-8信號放大器原理圖</p><p>  接收放大器的作用是放大有用信號,并抑止其它噪聲與干擾,從而達到最大的信

38、噪比,以利于檢測電路的正確檢測。放大器組成框圖如圖 1-8,采用三級放大電路。前置放大主要起阻抗匹配的作用,使輸入信號功率最大。帶通放大器選擇最佳時間帶寬積,以達到匹配濾波的效果。模擬開關起收發(fā)隔離的作用。在測量近距離時,模擬開關閉合,發(fā)射信號可以進入接收通道;測量遠距離時,模擬開關斷開,發(fā)射信號不可以進入接收通道。程控放大器分為 2 檔,分別放大 10 倍和 100 倍,由控制端 A1,A0 控制。</p><p&

39、gt;<b>  1.3 方案的確定</b></p><p>  綜合以上四種方案比較,最后確定直接采用超聲波測距模塊。該電路簡單方便,經濟實用。比較適合本設計需要。</p><p>  由AT89C52單片機編程,執(zhí)行程序后P1.0口產生脈沖信號,經HC-SRO4超聲波測距模塊,產生超聲波和接收。將超聲波調制脈沖變?yōu)榻蛔冸妷盒盘?,送入MAX232接收器中進行處理。輸

40、出端7高電平越變?yōu)榈碗娖?,作為中斷請求信號,送至單片機處理。在啟動發(fā)射電路的同時啟動單片機內部的定時器T0,利用定時器的計數功能記錄超聲波發(fā)射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產生一個負跳變,在INTO或INT1端產生一個中斷請求信號,單片機響應外部中斷請求,執(zhí)行外部中斷服務子程序,讀取時間差,計算距離。</p><p>  第二章 系統硬件設計</p><p>

41、;  硬件電路主要包括六個部分:單片機外圍電路、超聲波發(fā)射和接收電路、顯示電路、報警電路、L298N驅動電路組成。運用L298N芯片驅動小車行使,利用HC-SR04超聲波傳感器模塊來實現測距功能。</p><p>  2.1 單片機最小系統</p><p>  單片機最小系統通常作為系統的最前端,它既是協調整機工作的控制器,又是數據處理器。本設計中單片機最小系統主要是由AT89C52芯片、

42、復位電路、時鐘電路組成。</p><p>  2.1.1 AT89C52芯片</p><p>  AT89C52是一個低電壓,高性能CMOS 8位單片機,片內含8k bytes的可反復擦寫的Flash只讀程序存儲器和256 bytes的隨機存取數據存儲器(RAM),器件采用ATMEL公司的高密度、非易失性存儲技術生產,兼容標準MCS-51指令系統,片內置通用8位中央處理器和Flash存儲單

43、元,AT89C52單片機在電子行業(yè)中有著廣泛的應用。</p><p>  89C52相對于89C51優(yōu)越性包括:第一是RAM空間增大:AT89C51有128字節(jié)的內部RAM,稱為DATA存儲區(qū)。AT89C52的內部RAM擴展為256字節(jié),其中高128字節(jié),位于從80H開始的地址空間中,稱為IDATA存儲區(qū),但IDATA區(qū)的訪問只能是間接尋址方式。第二是內部Flash變大:AT89C51有4 kB的內部Flash

44、PERAM,而AT89C52的內部Flash PERAM增加1倍,達到8kB。 第三是中斷源增加:在AT89C52申P1.0和P1.1還可分別作為定時器/計數器2的外部計數輸入(P1.O/T2)和(P1.1/T2EX),也就是說,P1.0同時可作為定時器針數器T2的外部計數輸入和輸出占空比50%的時鐘脈沖端口,Pl.l同時可作為定時器/計數器T2捕獲厘新裝載觸發(fā)和方向控制端口。故AT89C52除了具備AT89C51的定時器/汁數器T和定

45、時器/計數器Tl,還額外增加了一個定時器/計數器12。而定時器/計數器T2的控制和狀態(tài)位單獨位于,I2CON、T2MOD,定時器/計數器12在16位捕獲方式或自動重新裝載方式下的捕獲/重載寄存器組是(TCA02H、RC</p><p>  AT89C52具有40個引腳,主要管腳有:XTAL1(19 腳)和XTAL2(18 腳)為振蕩器輸入輸出端口,外接12MHz 晶振。RST/Vpd(9 腳)為復位輸入端口,外接

46、電阻電容組成的復位電路。VCC(40 腳)和VSS(20 腳)為供電端口,分別接+5V電源的正負端。P0~P3 為可編程通用I/O 腳,其功能用途由軟件定義,在本設計中,P0 端口(32~39 腳)被定義為N1 功能控制端口,分別與N1的相應功能管腳相連接,13 腳定義為IR輸入端,10 腳和11腳定義為I2C總線控制端口,分別連接N1的SDAS(18腳)和SCLS(19腳)端口,12 腳、27 腳及28 腳定義為握手信號功能端口,連接

47、主板CPU 的相應功能端,用于當前制式的檢測及會聚調整狀態(tài)進入的控制功能。芯片引腳圖如圖2-1所示。 </p><p>  圖2-1 AT89C52單片機芯片</p><p>  根據系統設計要求,各接口功能[9-11]如下:</p><p>  P1.0: 產生輸出一個脈沖信號。</p><p>  INT0: 產生中斷請求,接前方測距電路

48、。</p><p>  INT1: 產生中斷請求,接前方測距電路。</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與單片機連接:</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:接外部晶振的一個引腳。在單片機內部,它是一反相放大器輸入端,這個放大器構成了片內振蕩器。它采用外部振蕩器時,引腳應接地。</p><p>  XTAL2:接外部晶振的一個引腳。在片內接至振蕩器的反相放大器輸出端和內部時鐘發(fā)生器輸入端。當采用外部振蕩器時,則此引腳接外部振蕩信號的輸入。</p><p>  RST:AT89C52

52、 的復位信號輸入引腳,高電位工作,當要對芯片又時,只要將此引腳電位提升到高電位,并持續(xù)兩個機器周期以上的時間,AT89C52 便能完成系統復位的各項工作,使得內部特殊功能寄存器的內容均被設成已知狀態(tài)。</p><p>  2.1.2 復位電路</p><p>  (1)單片機AT89C52作為主控芯片,控制整個電路的運行。單片機外圍需要一個復位電路,復位電路的功能是:系統上電時提供復位信號

53、,直至系統電源穩(wěn)定后,撤消復位信號。為可靠起見,電源穩(wěn)定后還要經一定的延時才撤銷復位信號,以防電源開關或電源插頭分-合過程中引起的抖動而影響復位。該設計采用含有電阻的復位電路,復位電路可以有效的解決電源毛刺和電源緩慢下降(電池電壓不足)等引起的問題,在電源電壓瞬間下降時可以使電容迅速放電,一定寬度的電源毛刺也可令系統可靠復位。復位電路如圖2-2所示。</p><p><b>  圖2-2 復位電路<

54、;/b></p><p> ?。?)復位是單片機的初始化操作,使CPU及各專用存儲器處于一個確定的初始狀態(tài),其中把PC的內容初始化為0000H,使單片機從0000H單元開始執(zhí)行程序,除了系統的正常開機(上電)復位外,當程序運行出錯或操作錯誤使系統處于死循環(huán)狀態(tài)時,為擺脫困境,可按復位鍵進行復位,復位電路由片外和片內兩部分電路組成。AT89C52的RST引腳為復位引腳,只要在RST引腳上出現兩個機器周期以上的

55、高電平,即可實現復位。復位通常有上電復位和按鍵復位兩種方法。本設計采用的是上電復位,開機時電容器是空的,上電后就對電容充電,充電電流,在電阻上形成正電壓,RST引腳就處于高電平,就可以達到復位的目的。</p><p>  在實際應用系統中,為了保證復位電路可靠工作,常將RC電路接施密特電路后再接入單片機復位端和外圍電路復位端。這特別適合于應用現場干擾大、電壓波動大的工作環(huán)境,并且,當系統有多個復位端時,能保證可靠

56、地同步復位。</p><p>  2.1.3 時鐘電路</p><p>  時鐘電路用于產生單片機工作所需要的時鐘信號,單片機本身就是一個復雜的同步時序電路,為了保證同步工作方式的實現,電路應在惟一的時鐘信號控制下嚴格地按時序進行工作 。該時鐘電路由兩個電容和一個晶體振蕩器組成。X1是接外部晶體管的一個引腳。在單片機內部,它是一個反相放大器的輸入端,這個放大器構成了片內振蕩器。輸出端為引腳

57、X2,在芯片的外部通過這兩個引腳接晶體振蕩器和微調電容,形成反饋電路,構成一個穩(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>  本設計采用的是HC-SRO4超聲波測距模塊[12],它有發(fā)生電路和接受電路構成。模塊性能穩(wěn)定,測度距離精確。能和國外的SRF05、SRF02等超聲波測距模塊相媲美。模塊精度高,盲區(qū)達到(2cm),有穩(wěn)定的測距功能。本模塊可提供全套測距程序:C51,PIC18F877,超聲波LCD1602顯示,超聲波LCD12864顯示,數碼管顯示,串

59、口顯示等,測距參考程序。</p><p>  2.2.1 HC-SR04主要技術參數</p><p> ?。?)使用電壓:DC5V; </p><p> ?。?)靜態(tài)電流:小于2mA;</p><p> ?。?)電平輸出:高5V; </p><p>  (4)電平輸出:底0V;</

60、p><p> ?。?)感應角度:不大于15度; </p><p> ?。?)探測距離:2cm-450cm ;</p><p> ?。?)高精度:可達0.3cm;</p><p>  (8)接線方式: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>  (3)有信號返回,通過IO輸出一高電平,高電平持續(xù)的時間就是超聲波從發(fā)射到返回的時間。</p><p><b>  2.3顯示電路</b><

62、;/p><p>  顯示器是一個典型的輸出設備,而且其應用是極為廣泛的,幾乎所有的電子產品都要使用顯示器,其差別僅在于顯示器的結構類型不同而已。最簡單的顯示器可以使LED 發(fā)光二極管,給出一個簡單的開關量信息,而復雜的較完整的顯示器應該是 CRT監(jiān)視器或者屏幕較大的 LCD 液晶屏。綜合課題的實際要求以及考慮單片機的接口資源,采用工業(yè)字符型液晶,能夠同時顯示16x02即32個字符。</p><p&

63、gt;  1602液晶也叫1602字符型液晶它是一種專門用來顯示字母、數字、符號等的點陣型液晶模塊它有若干個5X7或者5X11等點陣字符位組成,每個點陣字符位都可以顯示一個字符。每位之間有一個點距的間隔每行之間也有間隔起到了字符間距和行間距的作用,正因為如此所以他不能顯示圖。</p><p>  本設計中,1602用來顯示測試的距離,1602顯示電路如圖2-4所示。</p><p><

64、;b>  2.4 報警電路</b></p><p>  報警電路的作用是當小車與障礙物之間的距離達到初始設置距離的時候,蜂鳴器發(fā)出警報。報警電路由一個三極管、一個電阻和一個蜂鳴器組成的。當單片機P1.5端口為低電平時,報警。報警電路如圖2-5所示。</p><p><b>  圖2-4顯示電路</b></p><p>  圖2

65、-5 系統報警電路</p><p>  2.5 L298N驅動電路</p><p>  L298N 為SGS-THOMSON Microelectronics 所出產的雙全橋步進電機專用驅動芯片,內部包含4信道邏輯驅動電路,是一種二相和四相步進電機的專用驅動器,可同時驅動2個二相或1個四相步進電機,內含二個H-Bridge的高電壓、大電流雙全橋式驅動器,接收標TTL邏輯準位信號,可驅動46

66、V、2A以下的步進電機,且可以直接透過電源來調節(jié)輸出電壓;此芯片可直接由單片機的IO端口來提供模擬時序信號。本設計是用L298芯片來驅動小車。L298N管腳圖如圖2-6所示。</p><p>  圖2-6 L298N管腳圖</p><p>  單片機的I/O端口分別與L298N的IN1,IN2,IN3,IN4連接,接受脈沖信號。1腳和15腳發(fā)射極分別引出以便接入電流采樣電阻,形成電流傳感信

67、號。 OUT1,OUT2,OUT3,OUT4分別接電機的一相。5腳,7腳,10腳和12腳接輸入控制電平。ENA,ENB控制使能端,控制電機的停轉,高電平有效。驅動電路圖如圖2-7所示。</p><p><b>  圖2-7驅動電路圖</b></p><p><b>  2.6系統原理</b></p><p>  系統原理圖

68、見附錄1。工作原理: 由單片機AT89C52編程產生方波信號,經過P1.0口連接到超聲波模塊發(fā)送超聲,再經過放大電路,驅動超聲波發(fā)射探頭發(fā)射超聲波,發(fā)射出的超聲波經障礙物反射回來,經過P3.2口由超聲波接收頭接收信號。通過接收電路的檢波放大、積分整形以及一系列的處理,送至單片機。單片機利用聲波傳播速度和發(fā)射脈沖到接收反射脈沖的時間間隔計算出障礙物的距離,并由單片機控制顯示模塊,顯示出具體的距離。</p><p>

69、  第三章 系統軟件的設計</p><p>  在系統硬件構架了超聲波測距的基本功能之后,系統軟件所實現的功能主要是針對系統功能的實現及數據的處理和應用。根據第二章所述系統硬件設計和所完成的功能。</p><p>  3.1系統軟件實現功能</p><p> ?。?)信號控制。在系統硬件中,已經完成了發(fā)射電路、接收電路、檢測電路、顯示電路、門限檢測的設計。在系統軟件

70、中,要完成增益控制信號、門控信號、發(fā)射脈沖信號、峰值采集信號、遠近控制信號的時序及輸出。</p><p> ?。?)數據存儲。為了得到發(fā)射信號與接收回波間的時間差,要讀出此刻計數器的計數值,然后存儲在 RAM 中,而且每次發(fā)射周期的開始,需要對計數器清零,以備后續(xù)處理。</p><p> ?。?) 信號處理。RAM 中存儲的計數值并不能作為距離值直接顯示輸出,因為計數值與實際的距離值之間轉

71、換公式為</p><p><b>  (3-1)</b></p><p>  其中,T 為發(fā)射信號到接收之間經歷的時間,Tr 為方波信號作為計數脈沖時計數器的時間分辨率,N 為計數器的值。在這個部分中,信號處理包括計數值與距離值換算,二進制與十進制轉換。</p><p>  (4) 數據傳輸與顯示。經軟件處理得到的距離送顯示輸出,用1602 液

72、晶表示。由于采用了單片機AT89C52并考慮整個系統的控制流程,整個系統軟件都有AT89C52系列單片機匯編語言實現。由于距離值的得出及顯示是在中斷子程序中完成的,因此在初始化發(fā)射程序后進入中斷響應的等待。在中斷響應之后,原始數據經計數值與距離值換算子程序,二進制與十進制轉換子程序后顯示輸出。整個系統軟件功能的實現可以分為主程序、中斷服務程序幾個主要部分。</p><p><b>  3.2 主程序&l

73、t;/b></p><p>  主程序是單片機程序的主體,整個單片機端系統軟件的功能的實現都是在其中完成的,程序首先完成初始化過程,然后是一個重復的控制發(fā)射信號的過程,即調用發(fā)射子程序幾遍,而且每次發(fā)射周期結束都會判斷在發(fā)射信號后延時等待的過程中是否發(fā)生了中斷,即是否有回波產生來判斷程序得流程,有回波的話,再經過測距的子程序流來計算距離,判斷所測距離是否在安全范圍內,以驅動顯示和報警電路。主程序流程圖如圖3

74、-1所示。</p><p>  圖3-1 主程序流程圖</p><p>  上電后小車顯示“ Aptitude Crash-”“ worthy System”,按下功能鍵后開始設定報警距離值,設定在10cm以上比較好,設定時小車停止一切動作,功能鍵按下一次后同時按+,-鍵設定值,設定好后按確定鍵,則設定值有效,功能鍵按下兩次后小車行駛并開始測距判斷,功能鍵按下三次后,顯示初始顯示狀態(tài)。&l

75、t;/p><p>  (1)脈沖的產生與超聲波發(fā)射。在脈沖產生前先對定時/計數器T0進行初始化,在這里選擇的是工作方式1定時器模式,所以TMOD應該設定為0x11,再開啟T0的同時開發(fā)發(fā)射超聲波脈沖。這由單片機執(zhí)行下面程序來產生。</p><p>  #include <REG52.H></p><p>  sbit csbout=P1^0;

76、 //超聲波發(fā)送</p><p>  前方測距電路的輸入端接單片機P1.0端口,單片機執(zhí)行上面的程序后,在P1.0 端口輸出一個脈沖信號,經過三極管T放大,驅動超聲波發(fā)射頭發(fā)出脈沖超聲波,且持續(xù)發(fā)射。 </p><p>  (2)超聲波的接收與處理。超聲波的接收是由外部中斷口INT0是否有中斷脈沖產生來判斷的。定時子程序轉回來的時候,要對中斷進行初始化。選定

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>  聲波接收電路經過前置放大、限幅放大、寬頻帶濾波器、檢波器及比較器、整形、置后比較器的一系列工作之后,在信號輸出端7腳由高電平躍變?yōu)榈碗娖剑鳛橹袛嗾埱笮盘?,送至單片機處理。 </p><p>  前方測距電路的輸出端接單片機INT0端口,中斷優(yōu)先級最高。部分源程序如下:</p><p>  write_com(0x80);

79、 //顯示前方障礙物距離</p><p>  write_com(0x80+0x40); //顯示設定報警距離</p><p> ?。?)數據讀取和儲存。為了得到發(fā)射信號與接收回波間的時間差,要讀出T0計數器的計數值,然后存儲在 RAM 中,而且每次發(fā)射周期的開始,需要對計數器清零,以備后續(xù)處理。</p><p> ?。?)計算

80、超聲波傳播時間。T0中讀取出來的時間差數據并不能作為距離值直接顯示輸出,因為時間差值與實際的距離值之間轉換公式為 </p><p><b> ?。?-2)</b></p><p>  其中,V為聲音在常溫下的傳播速度,T為發(fā)射信號到接收之間經歷的時間[ 13-15]。</p><p>  3.3 顯示子程序和報警子程序</p>&

81、lt;p>  考慮到提高系統資源的利用率,顯示采用動態(tài)顯示法實現。部分源程序,顯示流程圖和報警流程圖如圖3-2和3-3所示。超聲波測得的數據送至單片機處理后,由LCD1602顯示出數據來。</p><p><b>  圖3-2顯示程序圖</b></p><p>  小車行駛中,超聲波對障礙物距離進行測距,然后把數據送至單片機處理,當超聲波測得的距離小于設定值的時

82、候,蜂鳴器發(fā)出警報,小車停止前進。當測得的距離大于設定值時,小車繼續(xù)前進。</p><p>  圖3-3 報警流程圖</p><p><b>  部分源程序如下:</b></p><p>  sbit temp_control=P2^3;//報警距離設計 按一次為距離設計 , 按兩次為正常工作狀態(tài)</p><p>  

83、sbit temp_1=P2^2; //設定時確定鍵控制 </p><p>  sbit temp_add=P2^1; //加鍵</p><p>  sbit temp_sub=P2^0; //減鍵</p><p>  uchar num; //顯示位數計數</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、 //設定值預放存儲器</p><p>  bit flag =0; //定時器溢出標志</p><p>  uchar disbuff[4] ={ 0,0,0,0,};</p><p>  uint temp_control_m; //控制按鍵次數</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) //寫數據</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; //初始化電機驅動模塊,使電機等待正轉</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; //關閉報警</p><p>  temp_value = S_fla

101、g;</p><p><b>  }</b></p><p>  第四章 系統調試與分析</p><p>  本設計由硬件電路和軟件組成,所以系統調試時要分為硬件調試和軟件調試。硬件調試由于涉及到較多的模塊,所以調試起來比較費勁,設計的不定的因素也比較多,因此調試的時候采用分塊調試方法,排除各個模塊的干擾。軟件調試時,不同的CPU,其匯編語言有

102、可能有所差異,所以不易移植。</p><p>  4.1 硬件調試 </p><p>  硬件調試分兩步:第一步:系統上電之前,先用萬用表等工具、根據硬件邏輯設計圖,仔細檢查各個模塊線路是否連接正確,并核對元器件型號、規(guī)格和安裝是否符合要求,應特別注意電源系統的檢

103、查,防止電源的短路的極性錯誤,并重點檢查系統總線是否存在相互之間短路或與其他信號線的短路。</p><p>  第二步:第一的調試,只是對系統進行初步調試,可以排除一些明顯的故障,而硬件故障(如各個部件內部存在的故障和部件之間來連接的邏輯錯誤)主要是靠軟件和硬件的聯調來排除。</p><p><b>  4.2 軟件調試</b></p><p>

104、;  首先是通過軟件仿真,先進行單個程序仿真,然后再進行整體程序仿真,不斷修改,逐步完善其功能。在這步完成后應該確定其I/O口的分配,時鐘的選擇和各輸入信號的邏輯性及給出系統所需的信號。調試的時候一定要細心,有耐心,踏踏實實的一步一步調,不可急,否則程序會一塌糊涂。 </p><p>  其過程分為以下幾個步驟: 第一步:建立源程序。通過計算機開發(fā)系統的編輯軟件,按照所要求的格式、語法規(guī)定、源程序輸入到開發(fā)系統中

105、,并存在磁盤上。</p><p>  第二步:在計算機上,利用KILE軟件對第一步輸入的源程序進行編譯,變?yōu)榭蓤?zhí)行的目標代碼。如果源程序有語法錯誤,則其錯誤將顯示出來,然后返回到第一步進行修改,再進行編譯,知道語法錯誤全部糾正為止。</p><p>  第三步:動態(tài)在線調試。對于和系統無聯系的程序,可以借助動態(tài)在線調試手段,如單步運行、設置斷點等,發(fā)現邏輯錯誤,然后返回刀片第一步修改,直到

106、邏輯錯誤糾正為止。對于和系統硬件緊密相關的程序,則需要軟件,硬件同時進行調試,將程序燒入CPU,然后將CPU插入系統,發(fā)現硬件故障排除故障,發(fā)現邏輯錯誤,修改程序,消除邏輯錯誤。</p><p>  4.3 數據測量與分析</p><p>  介于實際測量工作的局限性,最后在測量中選取了10cm,15cm,20cm,50cm,四個距離進行測量,每個距離連續(xù)測量7次,得出測量數據,如表所4-

107、2示,從表中的數據可以看出,測量只和實際值之間都存在誤差[16],但對于連續(xù)測量的準確性還是比較高的。對所測的每組數據去掉一個最大值和一個最小值,在求其平均值,用來作為最終的測量數據,最后進行比較分析。這樣處理數據也有一定的科學道理和合理性。從表中的數據開,雖然受到了溫度的影響,此系統是無法避免的,但從全部數據來看,本設計的絕對誤差都不較小,也比較穩(wěn)定。測距誤差主要來源于以下幾個方面:</p><p>  超聲波

108、發(fā)射與接收探頭與被測點存在一定角度,這個角度直接影響到測量距離的精確值,本系統中只能靠目測及簡單的工具微調超聲波發(fā)射頭和接收頭的中軸線平行,股存在一定誤差。 </p><p>  表4-2 測試數據表</p><p>  表4-2數據表明,在10—20cm距離之間的測量,本設計的精確度相當高,誤差比全部控制在1%以下,而在50cm以上的距離的測量中,誤差略又升高,最小的可測距離是由接受換能

109、器對聲波脈沖的直接接受能力決定。</p><p><b>  結束語</b></p><p>  經過幾周的奮戰(zhàn),我的畢業(yè)設計終于完成了。在沒有做畢業(yè)設計以前覺得畢業(yè)設計只是對這幾年來所學知識的單純總結,但是通過這次做畢業(yè)設計發(fā)現自己的看法有點太片面。畢業(yè)設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高。通過這次畢業(yè)設計使我明白了自己原來知識還比較欠缺

110、,這次做論文的經歷也會使我終身受益,我感受到做論文是要用心去做的一件事情,是真正的自己學習的過程和研究的過程,沒有學習就不可能有研究的能力,沒有自己的研究,就不會有所突破,那也就不叫論文了。</p><p>  通過這次畢業(yè)設計使我懂得了理論與實際相結合是很重要的,只有理論知識是遠遠不夠的,只有把所學的理論知識與實踐相結合起來,從理論中得出結論,才能真正為社會服務,從而提高自己的實際動手能力和獨立思考的能力。在設

111、計的過程中遇到很多問題,可以說是困難重重,必須要一一解決。同時在設計的過程中發(fā)現了自己的不足之處,對以前所學過的知識理解得不夠深刻,掌握得不夠牢固,希望這次的經歷能讓我在以后學習中激勵我繼續(xù)進。</p><p><b>  參考文獻</b></p><p>  [1] 晏敏、曾云、曾健平等.遠程汽車防盜報警系統的設計[J].宇航測技術,2004,24(6):49-51

112、.</p><p>  [2] 羅慶生,韓寶玲.一種基于超聲波與紅外線探測技術的測距定位系統[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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論