基于單片機的汽車倒車雷達系統設計_第1頁
基于單片機的汽車倒車雷達系統設計_第2頁
基于單片機的汽車倒車雷達系統設計_第3頁
基于單片機的汽車倒車雷達系統設計_第4頁
基于單片機的汽車倒車雷達系統設計_第5頁
已閱讀5頁,還剩12頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、基于單片機的汽車倒車雷達系統設計摘要隨著社會經濟的發展交通運輸業日益興旺,汽車的數量在大副攀升。交通擁擠狀況也日趨嚴重,撞車事件屢屢發生,造成了不可避免的人身傷亡和經濟損失,針對這種情況,設計一種響應快,可靠性高且較為經濟的汽車倒車防撞預警系統勢在必行。本設計是利用最常見的超聲波測距法來設計的一種基于單片機的汽車倒車雷達系統。本設計的主要是基于STC89C52單片機利用超聲波的特點和優勢,將超聲波測距系統和STC89C5彈片機結合于一體,設計出一種基于STC89C5彈片機的汽車倒車雷達系統。該系統采用軟、硬件結合的方法,實現了汽車與障礙物之間距離的顯示以及危險距離的聲光報警等功能。本設計論文概

2、述了超聲波檢測的發展及基本原理,闡述了超聲波傳感器的原理及特性。在超聲波測距系統功能和STC89C5彈片運用的基礎上,提出了系統的總體構成,對系統各個設計單元的原理進行了介紹,并且對組成各單元硬件電路的主要器件做了詳細說明和選擇。本設計論文還介紹了系統的軟件結構,并通過編程來實現系統功能和要求。關鍵詞:汽車倒車雷達、STC89C52超聲波、測量距離、顯示距離、聲光報警第一章緒論課題設計的目的和意義隨著汽車的普及,越來越多的家庭擁有了汽車。交通擁擠狀況也隨之出現,撞車事件也是經常發生,人們在享受汽車帶來的樂趣和方便的同時,更加注重的是汽車的安全性,許多“追尾”事故都與車距有著密切的關系。為了解決

3、這個安全問題,設計一種汽車測距防撞報警系統勢在必行。由于超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而超聲經常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現。利用超聲波檢測往往比較迅速、方便、計算簡單。所以超聲波測距法是一種非常簡單常見的方法,應用在汽車停車的前后左右防撞的近距離測量,以及在汽車倒車防撞報警系統中,超聲波作為一種特殊的聲波,具有聲波傳輸的基本物理特性一折射,反射,干涉,衍射,散射。超聲波測距是利用其反射特性,當車輛后退時,超聲波測距傳感器利用超聲波檢測車輛后方的障礙物位置,并利用LED顯示出來,當到達一定距離時,系統能發出報警聲,進而提醒駕駛人員,起到

4、安全的左右。通過本課題的研究,將所學到的知識用在實踐中并有所創新和進步。該設計可廣泛應用在生活、軍事、工業等各個領域,它需要設計者有較好的數電、模電知識,并且有一定的編程能力,綜合運用所學的知識實現對超聲波發射與接收信號進行控制,通過單片機程序對超聲波信號進行相應的分析、計算、處理最后顯示在液晶顯示屏上。第二章設計原理及總體方案本設計的研究方法本設計選用US-100超聲波傳感器。了解超聲波測距的原理的,只有對理論知識有一定的學習才能運用到實際操作中。根據原理設計超聲波測距儀的硬件結構電路。對設計的電路進行分析能夠產生超聲波,實現超聲波的發送和接收,從而實現利用超聲波測距的方法測量物體之間的距離

5、。具體設計一個基于單片機的超聲波測距器,包括單片機控制電路,發射電路,接收電路,液晶顯示電路,聲光報警電路。系統整體方案的設計由于超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而超聲波經常用于距離的測量。利用超聲波檢測距離,設計比較方便,計算處理也較簡單,并且在測量精度方面也能達到農業生產等自動化的使用要求。超聲波發生器可以分為兩大類:一類是用電氣方式產生超聲波,一類是用機械方式產生超聲波。電氣方式包括壓電型、電動型等;機械方式有加爾統笛、液哨和氣流旋笛等。它們所產生的超聲波的頻率、功率、和聲波特性各不相同,因而用途也各不相同。目前在近距離測量方面常用的是壓電式超聲波換能器。根據設計

6、要求并綜合各方面因素,本文采用STC89C5彈片機作為控制器,超聲波驅動信號用單片機的定時器。系統整體方案的論證超聲波測距的原理是利用超聲波的發射和接受,根據超聲波傳播的時間來計算出傳播距離。實用的測距方法有兩種,一種是在被測距離的兩端,一端發射,另一端接收的直接波方式,適用于身高計;一種是發射波被物體反射回來后接收的反射波方式,適用于測距儀。此次設計采用反射波方式。測距儀的分辨率取決于對超聲波傳感器的選擇。超聲波傳感器是一種采用壓電效應的傳感器,常用的材料是壓電陶瓷。由于超聲波在空氣中傳播時會有相當的衰減,衰減的程度與頻率的高低成正比;而頻率高分辨率也高,故短距離測量時應選擇頻率高的傳感器,

7、而長距離的測量時應用低頻率的傳感器。第三章系統的硬件設計系統的總體框圖照系統設計的功能的要求,初步確定設計系統由單片機主控模塊、顯示模塊、超聲波收發模塊、聲光報警模塊共四個模塊組成。單片機主控芯片使用51系列STC89C5率片機,該單片機工作性能穩定,同時也是在單片機課程設計中經常使用到的控制芯片。發射電路由單片機輸出端直接驅動超聲波發送。接收電路使用三極管組成的放大電路,該電路簡單,調試工作小較小圖3-1:系統設計框圖硬件電路的設計主要包括單片機系統及顯示電路、超聲波發射電路和超聲波接收電路、報警輸出電路、供電電路等幾部分。單片機采用STC89C52系統晶振采用12MHz高精度的晶振,以獲得

8、較穩定時鐘頻率,減小測量誤差。US-100超聲波收發模塊該超聲波收發模塊可自己產生40kHz的方波,并經放大電路驅動超聲波發射探頭發射超聲波,發射出去的超聲波經障礙物反射后由超聲波接收探頭接收。經接收電路的檢波放大,積分整形,在ECHGI腳上產生方波脈沖,該脈沖寬度與被測距離成線性關系。具體過程如圖2所示。圖2US-100超聲波收發模塊工作時序圖上圖表明:只需要在Trig/TX管腳輸入一個10us以上的高電平,系統便可發出8個40KHz勺超聲波脈沖,然后檢測回波信號,當檢測到回波信號后,模塊還要進行溫度值的測量,然后根據當前溫度對測距結果進行校正,將校正后的結果通過Echo/RX管腳輸出。在此

9、模式下,模塊將距離值轉化為340m/s時的時間值的2倍,通過Echo端輸出一個高電平,可以根據此高電平的持續時間來計算距離值。即距離值為:(高電平時間*340m/s)/2設l為測量距離,t為往返時間差,超聲波的傳播速度為c則有(2-1)而聲波在空氣中的傳播速度為:(2-2)式中T為環境溫度;c0為絕對溫度時的速度,是常數。從上述兩式可以推出:(2-3)注:因為距離值已經經過溫度校正,所以在此不需考慮溫度補償問題,聲速選擇340m/s即可。使用US-100超聲波收發模塊進行距離測量測量時,單片機只需要輸出觸發信號,并監視回響引腳,通過定時器計算回響信號寬度,并換算成距離即可。該模塊簡化了發送和接

10、收的模擬電路,工作穩定可靠,其參數指標如表1所示。電氣參數US-100超聲波測距模塊工作電壓DC靜態電流表1US-100模塊參數2mA工作溫度-20+70度輸出方式電平或UART跳線帽選擇)感應角度小于15度探測距離2cm-450cm探測精度0.3cm+1%UARTt式下串口配置波特率9600,起始位1位,停止位1位,數據位8位,無奇偶校驗,無流控制。應注意測量周期必須在60毫秒以上,防止發射信號對回響信號的影響。模塊共有兩個接口,即模式選擇跳線和5pin接口。模式選擇跳線接口設置為當安裝上短路帽時為UART(串口)模式,拔掉時為電平觸發模式。單片機電路單片機選用高性能的STC89C52其管角

11、如圖3所示:圖3STC89C52單片機管腳圖該芯片為52內核8位單片機,兼容Intel等52內核單片機,支持ISP下載,適用于常用檢測控制電路。由STC89C52S成的單片機系統原理圖如圖4所示。圖中TRIG引腳為單片機發送觸發信號的引腳,ECHGI腳為US-100模塊送回回響信號的引腳,接至單片機外部中斷腳上,可以利用外部中斷測量回響信號寬度。當測量距離小于20cm時,單片機通過管腳發出燈光報警信號,觸發LED報警燈亮,同時通過管腳發出聲音報警信號,該信號用以觸發蜂鳴器鳴響報警O圖4單片機系統及超聲波模塊接口原理圖蜂鳴器報警電路圖5所示為蜂鳴器報警電路。由于單片機管腳的輸入比輸出電流大,因此

12、電路設計為低電平輸出時蜂鳴器響,高電平關閉。當腳輸出低電平時,PN叫三極管8550導通,有集電極電流通過,蜂鳴器鳴響。當腳輸出高電平時,三極管截止,蜂鳴器關閉。圖5蜂鳴報警電路顯示電路顯示部分采用SMC1602夜晶屏進行數據顯示,其主要技術參數為:表2液晶屏技術指標顯示容量16*2個字符芯片工作電壓工作電流模塊最佳工作電壓字符尺寸*(WXH)mm接口信號說明表如表3表3液晶屏借口信號說明編p符號引腳說明編p符合引腳說明1VSS電源地9D2DataI/02VDD電源正極10D3DataI/03VL液晶顯示偏壓信號11D4DataI/04RS數據/命令選擇端(H/L)12D5DataI/05R/W

13、讀/寫選擇端(H/L)13D6DataI/06E使能信號14D7DataI/07D0DataI/015BLA背光源正極8D1DataI/016BLA背光源負極與單片機的接口電路如圖6所示圖6LCD與單片機的接口電路系統總電路圖通過對單片機主控模塊、顯示模塊、超聲波收發模塊、聲光報警模塊共四個模塊進行結合,可以繪出系統總的電路圖如圖7:圖7系統總電路圖第四章系統的軟件設計軟件流程圖本設計軟件主程序流程圖如圖8所示,(a)為主程序流程圖,(b)為外部中斷子程序流程圖。(a)主程序流程圖(b)外部中斷流程圖圖8程序流程圖主程序詳見附錄程序說明系統加載5V電壓后啟動,數據、定時器、LCD1602s行初

14、始化,程序進入while循環,超聲波測距模塊觸發,發射超聲波并檢測有無回波,如果有回波,則超聲波模塊發射電平信號,驅使單片機進行計算,將數據顯示在LCD1602h,如果無回波則跳過判斷。程序在計算完距離后與20cm進行比較,如果小于20GR1則驅動蜂鳴器和LED報警燈進行報警,如果大于20cm,則進入一個60ms的延時,繼續while循環進行測量。硬件設計圖結論本文主要講述了倒車雷達,即超聲波測距儀的原理和設計方法,設計的最終結果是使超聲波測距儀能夠產生超聲波,實現超聲波的發送與接收,從而實現利用超聲波方法測量物體間的距離,并以數字的形式顯示測量距離,在距離小于50cm時發出報警。超聲波測距的

15、原理是利用超聲波的發射和接收,根據超聲波傳播的時間來計算出傳播距離。超聲波測距儀硬件電路的設計主要包括單片機系統及顯示電路、超聲波發射電路和超聲波接收電路三部分。單片機采用STC89C51采用12M高精度的晶振,以獲得較穩定時鐘頻率,減小測量誤差。單片機控制超聲波發射與接收模塊進行信號的發射與接收。顯示電路采用LCD顯示屏進行顯示。附錄:(1)頭文件和一些宏定義/*/*超聲波測距儀*/*(液晶屏顯示)*/*晶振*/#include<>#include""typedefunsignedcharU8;/*definedforunsigned8-bitsinteger

16、variable無符號8位整型*/typedefsignedcharS8;/*definedforsigned8-bitsintegervariable有符號8位整型*/typedefunsignedintU16;/*definedforunsigned16-bitsintegervariable無符號16位整型*/typedefsignedintS16;/*definedforsigned16-bitsintegervariable有符號16位整型*/typedefunsignedlongU32;/*definedforunsigned32-bitsintegervariable無符號32位

17、整型*/typedefsignedlongS32;/*definedforsigned32-bitsintegervariable有符號32位整型*/typedeffloatF32;/*singleprecisionfloatingpointvariable(32bits)單精度浮點數32位長度*/typedefdoubleF64;/*doubleprecisionfloatingpointvariable(64bits)雙精度浮點數64位*/0L8M0L0L20cm-4m*描述該程序實現了對液晶1602的控制。*/#include""#include""

18、;/* 名稱:delay()* 功能:延時,延時時間大概為140US* 輸入:無* 輸出:無*voiddelay()inti,j;for(i=0;i<=10;i+)for(j=0;j<=2;j+);)/*/*名稱Convert(ucharIn_Date)*功能*輸入*輸出送到1602的值因為電路設計時,接法剛好了資料中的相反,所以設計該函數。1602資料上的值*/ucharConvert(ucharInDate)/*名稱*功能*輸入*輸出輸入的命令值)/*enable(uchardel)1602命令函數*/voidenable(uchardel)P0=Convert(del);RS

19、=0;)/* 名稱:write(uchardel)* 功能:1602寫數據函數* 輸入:需要寫入1602的數據* 輸出:無*/voidwrite(uchardel)(P0=Convert(del);RS=1;RW=0;E=0;delay();E=1;delay();/*名稱:L1602_init()* 功能:1602初始化,請參考1602的資料* 輸入:無* 輸出:無*/voidL1602_init(void)(enable(0x01);enable(0x38);enable(0x0c);enable(0x06);enable(0xd0);/* 名稱:L1602_char(ucharhang,

20、ucharlie,charsign)* 功能:改變液晶中某位的值,如果要讓第一行,第五個字符顯示"b"L1602_char(1,5,'b')* 輸入:行,歹U,需要輸入1602的數據* 輸出:無* */voidL1602_char(ucharhang,ucharlie,charsign)(uchara;if(hang=1)a=0x80;if(hang=2)a=0xc0;,調用該函數如下)/*/* 名稱:L1602_string(ucharhang,ucharlie,uchar*p)* 功能:改變液晶中某位的值,如果要讓第一行,第五個字符開始顯示"abcdef",調用該函數如下L1602_string(1,5,"abcdef;")* 輸入:行,歹U,需要輸入1602的數據* 輸出:無*;voidL1602_string(ucharhang,ucharlie,uchar*p)uchara;if(hang=1)a=0x80;if(hang

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論