【摘 要】在汽車越來越普及的現今社會,尤其是家用轎車,對于倒車雷達的應用也越來越普遍,本文主要研究了一種基于AT89S51這款單片機的倒車雷達的研究,包括系統的軟硬件設計。
【關鍵詞】單片機;AT89S51;倒車雷達
一、系統設計思路
倒車雷達的測距方法有很多種,例如相位檢測法、超聲波測速等。本系統采用應用最廣泛的超聲波測速,超聲波是一種振動頻率高于聲波的機械波,是由換能晶片在電壓的激勵下發(fā)生振動而產生的。本倒車雷達系統采用模塊化設計,主要包括超聲波發(fā)射電路、超聲波接收電路、報警電路以及顯示電路等,各部分信號線和控制線都與單片機相連接,并在其指揮下統一協調工作,系統的結構框圖如圖1 所示。本系統以AT89S51 單片機為核心,以低成本、高精度、微型化數字顯示超聲波測距儀為設計理念,測出回波和發(fā)射脈沖之間的時間間隔,利用S=CT/2(C 為聲速,T 為發(fā)射到接受的時間間隔)可以算出距離,再在LED數碼管上顯示出來。
二、硬件設計
本系統單片機選用AT89S51,是一個CMOS8位40引腳芯片,具有高性能、低功耗的特點。芯片配置128字節(jié)的RAM,4k字節(jié)Flash 片內ROM,32 個外部雙向I/O口,2 層中斷嵌套中斷5個中斷優(yōu)先級,2 個16 位可編程定時計數器,2 個全雙工串行口,片內置時鐘振蕩器,完全可以滿足本系統的要求。(1)超聲波發(fā)射電路。超聲波發(fā)射電路主要作用是驅動超聲波發(fā)射探頭內的壓電晶片振動,使之發(fā)出超聲。電路的工作過程如下:先由單片機產生脈沖調制信號,單片機通過控制Pl.0 端口發(fā)送一組頻率約40kHz、脈沖寬度約為12μs 的PWM波。由于信號較弱,無法直接驅動探頭,要進行放大。將放大后的調制信號加載于超聲波傳感器上,經I/O口輸出,同時將計數器T0 打開計時,等待回波反射到接收探頭。(2)超聲波接收電路。超聲波接收電路的主要作用是對接收到的超聲波信號進行接收和處理。由于經探頭變換后的正弦波電信號非常弱,因此必須經放電路放大。本設計采用了集成運算放大器TL082,經過帶通濾波電路后,40kHz左右的有用回波信號被保留,其它無用信號被削弱。由于正弦波信號不能直接被單片機接收,必須進行波形變換,采用LM393 芯片,將正弦信號轉換成方波信號,并將此方波信號輸入D 觸發(fā)器,將多個方波脈沖變?yōu)橐粋€方波脈沖進行鎖存,從而引起單片機的外部中斷以停止計時,確定時間間隔準確計算距離。(3)顯示及報警電路。本系統的顯示電路采用的是LED數碼管動態(tài)顯示,能夠顯示的距離范圍為3米。電路選用3位LED 數碼管,顯示程序由單片機編程實現,需要顯示的字符由單片機的P2口先送到鎖存器鎖存,再經顯示驅動芯片去驅動LED數碼管顯示。P0口的P0.1-P0.3 分別控制每一位的動態(tài)顯示,顯示的三位數據表示距離的厘米數值。系統報警電路由一個三極管、一個蜂鳴器和一個電阻組成。當倒車雷達探測到的距離小于一定值時,觸發(fā)蜂鳴器報警。
三、軟件設計
軟件采用模塊化設計,由主程序、超聲波發(fā)射子程序、超聲波接收子程序、LED 顯示子程序、報警子程序組成,采用匯編編程來實現。(1)主程序。ORG OOOOH;MAIN:MOV TMOD,#01H;MOV TL0,#00H;MOV TH0,#00H;SETB ET0;SETB IT0;SETB EX0;SETB EA;SETB TR0;LCALL FASHE;WAIT:AJMP WAIT。(2)超聲波發(fā)射子程序。FASHE:MOV R0,#08;START:SETB P1.3;NOP;MOV R1,#4;DJNZ R1,$;CLR P1.3;MOV R1,#4;DJNZ R1 $;DJNZ R0 START;MOV R3 #213;DJNZ R3,$;MOV R4 #182;LOOP:MOV R5 #250;DJNZ R5 $;DJNZ R4 LOOP;JMP FASHE;RET。(3)超聲波接收子程序。JIESHOU:PUSH PSW;PUSH A;CLR EXO;MOV RO,TLO;MOV RI,THO;CALL CHENGFA;LCALL ADJ;LCALL XIANSHI;SETB EXO;POP A;POP PSW;RETI。
本文設計的基于AT89S51 單片機的倒車雷達具有結構簡單、性價比高、工作可靠的特點。測試表明:該系統在30~350cm范圍內能實現準確測距,最大誤差為1.5cm,且重復性好。本設計完全符合實際使用的精度要求和測距距離,有很強的實用性。
參 考 文 獻
[1]博起.車載倒車雷達系統的研究[D].哈爾濱:哈爾濱工業(yè)大學.2006