




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、電子與信息工程學院綜合實驗課程報告課題名稱 超聲波測距儀專 業 電子信息工程班 級 07級 一、二班學生姓名 王利偉、魏麗麗、齊斯超學 號 07205010122王利偉07205010205魏麗麗07205010241齊斯超指導教師 丁剛、嚴輝2010年 7 月 4日摘要隨著科學技術的快速發展,超聲波將在測距儀中的應用越來越廣。但就目前技術水平來說,人們可以具體利用的測距技術還十分有限,因此,這是一個正在蓬勃發展而又有無限前景的技術及產業領域。展望未來,超聲波測距儀作為一種新型的非常重要有用的工具在各方面都將有很大的發展空間,它將朝著更加高定位高精度的方向發展,以滿足日益發展的社會需求,如聲納
2、的發展趨勢基本為:研制具有更高定位精度的被動測距聲納,以滿足水中武器實施全隱蔽攻擊的需要;繼續發展采用低頻線譜檢測的潛艇拖曳線列陣聲納,實現超遠程的被動探測和識別;研制更適合于淺海工作的潛艇聲納,特別是解決淺海水中目標識別問題;大力降低潛艇自噪聲,改善潛艇聲納的工作環境。無庸置疑,未來的超聲波測距儀將與自動化智能化接軌,與其他的測距儀集成和融合,形成多測距儀。隨著測距儀的技術進步,測距儀將從具有單純判斷功能發展到具有學習功能,最終發展到具有創造力。在新的世紀里,面貌一新的測距儀將發揮更大的作用。本設計采用以AT89C51單片機為核心的低成本、高精度、微型化數字顯示超聲波測距儀的硬件電路和軟件設
3、計方法。整個電路采用模塊化設計,由主程序、中斷程序、發射子程序、接收子程序、顯示子程序等模塊組成。各探頭的信號經單片機綜合分析處理,實現超聲波測距儀的各種功能。在此基礎上設計了系統的總體方案,最后通過硬件和軟件實現了各個功能模塊。1.總體方案設計介紹本文所研究的超聲波測距儀利用超聲波指向性強、能量消耗緩慢、傳播距離較遠等優點,即用超聲波發射器向某一方向發送超聲波,同時在發射的時候開始計時,在超聲波遇到障礙物的時候反射回來,超聲波接收器在接收到反射回來的超聲波時,停止計時。設超聲波在空氣中的傳播速度為V,在空氣中的傳播時間為T,汽車與障礙物的距離為S,S=VT/2,這樣可以測出汽車與障礙物之間的
4、距離,然后在LED顯示屏上顯示出來。其工作機理是依據壓電材料的正逆壓電效應,利用逆壓電效應產生超聲波,即逆壓電效應是在壓電材料上加上某種特定頻率的交變正弦信號,材料就會產生隨所加電壓的變化規律而變化的機械形變,這種機械形變推動周圍介質振動,產生疏密相間的機械波,如果其振動頻率在超聲范圍內,這種機械波就是超聲波。本文所設計的超聲波測距儀主要由AT89C52單片機、超聲波發射電路、超聲波接收放大電路、顯示電路.首先由單片機驅動產生12MHZ晶振,由超聲波發射探頭發送出去,在遇到障礙物反射回來時由超聲波接收探頭檢測到信號,然后經過濾波、放大、整形之后送入單片機進行計算,把計算結果輸出到LED液晶顯示
5、屏上。超聲波發生器可以分為兩大類:一類是用電氣方式產生超聲波;另一類是用機械方式。產生超聲波。電氣方式包括壓電型、電動型等;機械方式有加爾統笛、液 和氣流旋笛等。它們所產生的超聲波的頻率,功率和聲波特性各不相同,因而用途也各不相同。目前在近距離測量方面較為常用的是壓電式超聲波換能器。根據設計要求并綜合各方面因素,本例決定采用AT89C51單片機作為主控制器,用動態掃描法實現LED數字顯示,超聲波驅動信號用單片機的定時器完成。超聲波測距器系統設計如圖3.1所示。圖3.1 超聲波測距器系統設計框圖2.硬件電路設計硬件電路的設計主要包括單片機系統及顯示電路、超聲波發射電路和超聲波檢測接收電路三部分。
6、單片機采用AT89C51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩定時鐘頻率,減小測量誤差。單片機用P1.0端口輸出超聲波換能器所需的40kHz的方波信號,利用外中斷0口監測超聲波接收電路輸出的返回信號。顯示電路采用簡單實用的4位共陽LED數碼管,段碼用74LS244驅動,位碼用PNP三極管9012驅動。主要由單片機系統及顯示電路、超聲波發射電路和超聲波檢測接收電路三 部分組成。采用AT89S51來實現對超聲波模組進行控制,然后單片機不停的檢測INT0引腳,當INT0引腳的電平由高電平變為低電平時就認為超聲波已經返回。計數器所計的數據就是超聲波所經歷的時間,通過換算就可以得到傳感器與
7、障礙物之間的距離。2.1超聲波發射和接收模組(V2.0)本文采用的超聲波測距模組集發射和接受為一體,內部超聲波傳感器諧振頻率40KHz,模組傳感器工作電壓4.5V9V,模組接口電壓4.5V5.5V。提供三種測距模式,選擇跳線可以選擇短距、中距和可調距。本實驗采用短距(20100cm)精度1cm。模組結構示意圖如下:應用時只需要用J5的第1個口與單片機Vcc連接,最后一個口與單片機GND連接,第4個接口與 單片機的INT0口相連接,J4的第3個接口與單片機1.0口連接,同時將J1跳線設置為短距模式,J2跳線設置為非外部電源供電方式(此時開發板通過10PIN排線為模組供電,板上J5選擇5V,要把J
8、2跳接到5v的一端)。這就完成了模組硬件的連接。超聲波諧振頻率調理電路圖如下:由單片機產生40KHz的方波由P1.0口送出,連接模組接口J4到模組的CD4049,而后面的CD4049則對40KHz頻率信號進行調理,以使超聲波傳感器產生諧振。上圖為超聲波回波接收處理電路,超聲波接受處理部分電路前級采用NE5532構成10000倍放大器,對接收信號進行放大;后級采用LM311比較器對接收信號進行調整,比較電壓為LM311的3管腳的輸入。接收回路中測得的超聲波信號共有兩個波束,第一個為余波信號,即超聲波接收頭在發射頭發射信號(一組40KHz的脈沖)后,馬上就接收到了超聲波信號,并持續一段時間。另一個
9、波束為有效信號,即經過被測物表面反射的回波信號。超聲波測距時,需要測的是開始發射到接收到信號的時間差,要盡量避免檢測到余波信號,這也是檢測中存在最小測量盲區的主要原因。單片機控制模組每次發生若干完整的40KHz的脈沖信號,發射信號前打開計數器T0,進行計時,等計時到達一定值后再開啟檢測回波信號,以避免余波信號的干擾。采用外部中斷INT0對回波信號進行檢測,接收到回波信號后馬上讀取計數器中的數值,此數據即為需要測量的時間差數據。2.2數據顯示模塊顯示電路采用簡單實用的4位共陽LED數碼管,斷碼用74LS244驅動,位碼用PNP三極管9012驅動。由P0口輸出顯示數據,P2.0P2.3用來位選。顯
10、示電路如下圖:3.系統程序的設計超聲波測距器的軟件設計主要由主程序,超聲波發生子程序,超聲波接收中斷程序及顯示子程序組成,由于C語言程序有利于實現較復雜的算法,匯編語言程序則具有較高的效率并且容易精確計算程序行動的時間,而超聲波測距器的程序既有較復雜的計算(計算距離時),又要求精確計算程序運行時間(超聲波測距時),所以控制程序可采用C語言和匯編語言混合編程。下面對超聲波測距器的算法,主程序,超聲波發生子程序和超聲波接收中斷程序逐一介紹。 3.1 超聲波測距器的算法設計圖3.6示意了超聲波測距的原理,既超聲波發生器T在某一時刻發出一個超聲波信號,當這個超聲波遇到被測物體后反射回來,就會被超聲波接
11、收器R接收到。這樣,只要計算出從發出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發生器于反射物體的距離。該距離的計算公式如下: d=s/2(v×t)/2其中:d為被測物于測距器的距離;s為聲波的來回路程;v為聲速;t為聲波來回所用的時間。超聲波也是一種聲波,其聲速v于溫度有關。表3.1列出了幾種不同溫度下的超聲波聲速。在使用時,如果溫度變化不大,則可認為聲速基本不變的。如果測距精度要求很高,則應通過溫度補償的方法加以校正。聲速確定后,只要測得超聲波往返的時間,即可求得距離。表3.1不同溫度下超聲波聲速表3.2 主程序主程序首先要對系統環境初始化,設置定時器T0工作模式為16位
12、定時/計數器模式,置位總中斷允許位EA并對顯示端口P0和P2清0;然后調用超聲波發生子程序送出一個超聲波脈沖。為了避免超聲波從發射器直接傳到接收器引起的直射波,需要延時約0.1ms(這也就是超聲波測距器會有一個最小可測距離的原因)后才可打開外中斷0接收返回的超聲波信號。由于采用的是12MHz的晶振,計數器每計一個數就是1us,所以當主程序檢測到接收成功的標志位后,將計數器T0中的數(即超聲波來回所用的時間)按式(32)計算,即可得被測物體與測距器之間的距離。設計時取20時的聲速為344m/s,則有d=(v×t)/2=(172T/10000)cm (32)其中:T為計數器T0的計數值。
13、測出距離后,結果將以十進制BCD碼方式送往LED顯示約為0.5s,然后再發超聲波脈沖重復測量過程。圖3.7所示為主程序流程圖。主程序START: MOV SP, #4FHMOV R0, #40H ;40H43H為顯示數據存放單元(40H為最高位) MOV R7, #0BHCLEARDISP: MOV R0, #00HINC R0DJNZ R7, CLEARDISPMOV 20H, #00HMOV TMOD, #21H ;T1為8位自動重裝模式,T0為16位定時器 MOV TH0, #00H ;65ms初值MOV TL0, #00HMOV TH1, #0F2H ;40kHz初值MOV TL1,
14、#0F2HMOV P0, #0FFHMOV P1, #0FFHMOV P2, #0FFHMOV P3, #0FFHMOV R4, #04H ;超聲波脈沖個數控制(為賦值的一半) SETB PX0SETB ET0SETB EASETB TR0 ;開啟測試定時器START1: LCALL DISPLAYJNB 00H, START1 ;收到反射信號時標志位為1CLR EALCALL WORKSETB EACLR 00HSETB TR0 ;重新開啟測試定時器MOV R2, #64H ;測量間隙控制(約4ms×100=400ms) LOOP: LCALL DISPLAYDJNZ R2,LOO
15、PSJMP START13.3 超聲波發生子程序和超聲波接收中斷程序超聲波發生子程序的作用是通過P1.0端口發送兩個左右的超聲波脈沖信號(頻率40KHz的方波),脈沖寬度為12us左右,同時把計數器T0打開進行時。超聲波發生子程序較簡單,但要求程序運行時間準確,所以采用匯編語言編程。ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETI超聲波測距器主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0
16、引腳出現低電平),立即進入超聲波接收中斷程序。進入該中斷后,就立即關閉計時器T0,停止計時,并將測距成功標志字賦值1.中斷程序;T0中斷,65ms中斷一次INTT0: CLR EACLR TR0MOV TH0,#00HMOV TL0,#00HSETB ET1SETB EASETB TR0 ;啟動計數器T0,用以計算超聲來回時間SETB TR1 ;開啟發超聲波用定時器T1 OUT: RETI;T1中斷,發超聲波用INTT1: CPL VOUTDJNZ R4,RETOUTCLR TR1 ;超聲波發完畢,關T1CLR ET1MOV R4,#04HSETB EX0 ;開啟接收回波中斷RETIOUT:
17、RETI;外中斷0,收到回波時進入PINT0: CLR TR0 ;關計數器CLR TR1CLR ET1CLR EACLR EX0MOV 44H,TL0 ;將計數值移入處理單元MOV 45H,TH0SETB 00H ;接收成功標志RETI如果當計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關閉,并將測距成功標志字賦值2,以表示本次測距不成功。4.調試及性能分析4.1 調試超聲波測距器的制作和調試都較為簡單,其中超聲波發射和接收采用ø15的超聲波換能器TCT4010F1(T發射)和TCT4010S1(R接收),中心頻率為40KHz,安裝時應保持兩換能器中心軸線平行并
18、相距48cm,其余元件無特殊要求。若能將超聲接收電路用金屬殼屏蔽起來,則可提高抗干擾性能。根據測量范圍要求不同,可適當地調整與接收換能器并接的濾波電容C4的大小,以獲得合適的接收靈敏度和抗干擾能力。硬件電路制作完成并調整好后,便可將程序編譯好下載到單片機試運行。根據實際情況,可以修改超聲波子程序每次發送的脈沖個數和兩次測量的間隔時間,以適應不同距離的測量需要。4.2 性能指示根據文中電路參數和程序,測距器可測量的范圍為0.075.50m。實驗中,對測量范圍為0.072.50m的平面物體做了多次測試,測距器的最大誤差不超過1cm,重復性很好。5.設計總結在本次設計中,我們廣泛借鑒了各種設計的優點
19、,充分考慮了整個設計中的各個環節。包括產生40KHz的方波,在接收電路中,對所接收方波進行濾波、放大、整形等步驟。但由于條件和技術所限,對于很多以上所分析的在發射和接收過程中所產生的誤差沒有得到有效的校正。比如溫度誤差、硬件電路誤差等。在我們為期一個學期的設計中,我們用到了以前學到的很多知識,比如電工、單片機、和匯編語言等。這使我們意識到,任何一件產品的產生,都不是單一知識所能實現的。而且在電路的設計和程序的編制過程中,出現了很多意想不到的錯誤,讓我們措手不及,有些甚至是一些非常低級的錯誤,但是這些錯誤也同樣讓我們獲益非淺,它使我們意識到,研究是一個非常嚴肅的過程,來不得半點馬虎。必須有一個嚴
20、謹的態度,加上100的努力才有可能獲得成功的喜悅。總之,在本課題的設計過程中盡管走了很多的彎路,但是還是學到了不少知識,從中受益匪淺。了解了超聲波傳感器的原理,學會了各種放大電路的分析、設計,也掌握了單片機的開發過程中所用到的開發方法和工具。動手能力與自學能力得到了鍛煉與提高,對待事物的態度也發生了變化。理論總是離不開實踐的,設計制作過程中,盲目地追尋理論知識根本不足以解決任何問題,一味的死研究課本是不會真正掌握單片機的。只有真正動手去做才能發現問題,解決問題,提高能力。6.附件6.1控制源程序單片機匯編源程序超聲波測距器采用AT89C51 12MHz晶振采用共陽LED顯示器測試范圍為0.07
21、4m,堆棧在4FH以上,20H用于標志顯示緩沖單元在40H43H,內存44H46H用于計算距離VOUT EQU P1.0 ;脈沖輸出端口中斷入口程序ORG 0000HLJMP STARTORG 0003HLJMP PINT0ORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETISTART: MOV SP, #4FHMOV R0, #40H ;40H高位)MOV R7, #0BHCLEARDISP: MOV R0, #00HINC R0DJNZ R7, CLEARDISP MOV 20H, #00
22、HMOV TMOD,器MOV TH0, #00H ;65ms MOV TL0, #00HMOV TH1, #0F2H ;40kHz MOV TL1, #0F2HMOV P0, #0FFHMOV P1, #0FFH MOV P2, #0FFH MOV P3, #0FFHMOV R4, #04H ;半)SETB PX0SETB ET0SETB EASETB TR0 START1: LCALL DISPLAYJNB 00H, START1 ; CLR EALCALL WORKSETB EACLR 00HSETB TR0 ; MOV R2,LOOP: LCALL DISPLAY主程序 43H為顯示數據
23、存放單元(40H為最#21H ;T1為8位自動重裝模式,T0為16位定時初值 初值 超聲波脈沖個數控制(為賦值的一;開啟測試定時器 收到反射信號時標志位為1 重新開啟測試定時器 #64H ;測量間隙控制(約4ms×100=400ms)DJNZ R2,LOOPSJMP START1中斷程序;T0中斷,65ms中斷一次INTT0: CLR EACLR TR0MOV TH0,#00HMOV TL0,#00HSETB ET1SETB EASETB TR0 ;啟動計數器T0,用以計算超聲來回時間SETB TR1 ;開啟發超聲波用定時器T1 OUT: RETI;T1中斷,發超聲波用INTT1:
24、CPL VOUTDJNZ R4,RETOUTCLR TR1 ;超聲波發完畢,關T1CLR ET1MOV R4,#04HSETB EX0 ;開啟接收回波中斷RETIOUT: RETI;外中斷0,收到回波時進入PINT0: CLR TR0 ;關計數器CLR TR1CLR ET1CLR EACLR EX0MOV 44H,TL0 ;將計數值移入處理單元MOV 45H,TH0SETB 00H ;接收成功標志RETI顯示程序;40H為最高位,43H為最低位,先掃描高位DISPLAY: MOV R1,#40H;GMOV R5,#0E7H;GPLAY: MOV A,R5MOV P0,#0FEHMOV P2,A
25、MOV R1MOV DPTR,#TABMOVC A,A+DPTRMOV P0,ALCALL DL1MSINC R1MOV A,R5JNB ACC.0,ENDOUT;GRR AMOV R5,AAJMP PLAYENDOUT: MOV P2,#0FEHMOV P0,#0FEHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FEH,88H,0BFH;共陽段碼表 “0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“不亮”,“A”,“-”延時程序DL1MS: MOV R6, #14HDL1: MOV R7,
26、#19HDL2: DJNZ R7, DL2DJNZ R6, DL1RET距離計算程序Work: PUSH ACCPUSH PSWPUSH BMOV PSW, #18hMOV R3, 45HMOV R2, 44HMOV R1, #00DMOV R0, #17DLCALL MUL2BY2MOV R3, #03HMOV R2, #0E8HLCALL DIV4BY2LCALL DIV4Y2MOV 400H, R4MOV A, 40HJNZ JJ0MOV 40H,#0AH ;最高位為0,不點亮JJ0: MOV A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #100DLCALL DIV4BY2MOV 41H, R4MOV A, 41HJNZ JJ1MOV A, 40H ;次高位為0,先看最高位是否為不亮SUBB A, #0AHJNZ JJ1MOV 41H, #0AH ;最高位不亮,次高位也不亮 JJ1: M0V A, R0MOV R4, AMOV A, R1MOV R5, AMOV R3, #00DMOV R2, #10DLCALL DIV4BY2MOV 42H, R4MOV A, 42HJNZ JJ2MOV A, 41H ;次次高位為0,先看次高位是否為不亮SUBB A, #0AHJNZ JJ2MOV 42
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西職業技術學院《中級財務會計上》2023-2024學年第二學期期末試卷
- 江蘇財經職業技術學院《遙感原理與方法》2023-2024學年第二學期期末試卷
- 山西電力職業技術學院《水利類專業概論》2023-2024學年第二學期期末試卷
- 四平職業大學《護理禮儀與人際溝通(實驗)》2023-2024學年第二學期期末試卷
- 九江理工職業學院《書寫技能》2023-2024學年第二學期期末試卷
- 上海市黃埔區2025年初三5月仿真考試數學試題含解析
- 山東省鄆城第一中學2025屆初三下學期第18周物理試題考試試題含解析
- 山西工程科技職業大學《環境資源保護法》2023-2024學年第二學期期末試卷
- 南方醫科大學《植物生物學》2023-2024學年第二學期期末試卷
- 二零二五版租賃合同補充協議書范例
- 工業機器人集成應用(ABB) 高級 課件 1.2.3 PLC設備選型方法與工作站PLC選型
- 《危險作業審批制度》知識培訓
- 新國際物流知識培訓課件
- 畢業設計(論文)-基于微信小程序校園訂餐的設計與開發+ssm
- 七年級家長會歷史老師發言稿
- 關節置換感染預防與控制
- 《中藥鑒定學總論》課件
- 落實工業產品質量安全主體責任-質量管理人員培訓考核題:生產領域題庫含答案
- 室內空間的類型及特54課件講解
- CDN加速服務合同(2024年版)
- 海上光伏專項施工方案
評論
0/150
提交評論