基于單片機的超聲波測距器課程設(shè)計_第1頁
已閱讀1頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p>  一、課設(shè)題目: 基于單片機的超聲波測距器</p><p><b>  二、設(shè)計目的:</b></p><p>  設(shè)計一個超聲波測距器,可以應(yīng)用于汽車倒車位置監(jiān)控,也可用于如液位、井深、管道長度的測量等場合。要求測量范圍在0.10-10.00m,測量精度1cm,測量時與被測物體無直接接觸,能夠清晰穩(wěn)定地顯示測量結(jié)果,能夠手工設(shè)定報警量值。<

2、/p><p><b>  三、設(shè)計思路:</b></p><p>  本系統(tǒng)的設(shè)計思想是采用MCS51單片機為核心,來設(shè)計一種低成本、高精度、微型化數(shù)字顯示超聲波測距儀。超聲波測距可測出回波和發(fā)射脈沖之間的時間間隔,利用S=Ct/2就可以算出距離,再在LED上顯示出來。當(dāng)然還可以設(shè)置若干個鍵,以用來控制電路的工作狀態(tài)。限制的最大可測距離存有四個因素:超聲波的幅度,反射面的

3、質(zhì)地,反射面和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定最小的可測距離。</p><p>  根據(jù)設(shè)計要求并綜合各方面因素,采用單片機作為主控制器,用動態(tài)掃描法實現(xiàn)LED數(shù)字顯示,超聲波驅(qū)動信號可以用單片機的定時器和計數(shù)器來完成。</p><p><b>  三、設(shè)計原理</b></p><p>  本設(shè)

4、計采用MCS51單片機作為主控制器,用動態(tài)掃描法實現(xiàn)LED數(shù)字顯示,超聲波驅(qū)動信號用單片機的定時器和計數(shù)器來完成,超聲波測距器的系統(tǒng)框圖如圖1所示:</p><p>  圖1 超聲波測距器系統(tǒng)的框圖</p><p>  系統(tǒng)框圖中的單片機MCS51用來協(xié)調(diào)各個單元,超聲波接收電路用來接收要接收的信號,超聲波發(fā)射電路用來發(fā)射需要發(fā)射的信號,存儲器用來存儲接收的信號,用數(shù)碼管LED顯示距離。

5、</p><p><b>  四、系統(tǒng)框圖:</b></p><p>  本設(shè)計就是以MCS51單片機為核心。它采用模塊化設(shè)計,由主程序、發(fā)射子程序、接收子程序、定時子程序、顯示子程序等模塊組成。該系統(tǒng)的主程序處于鍵控循環(huán)工作方式,當(dāng)按下測量鍵時,主程序開始調(diào)用發(fā)射子程序、查詢接收子程序、定時子程序,并把測量結(jié)果用顯示子程序在數(shù)碼管上顯示出來。雖然用一個單獨計時器電路

6、也可以測量超聲波的傳輸時間,但利用MCS51單片機可以簡化設(shè)計,便于操作和直觀讀數(shù)。</p><p>  為了增強系統(tǒng)的可靠性,應(yīng)在軟硬件上采用一些特殊措施。主程序框圖如下圖2。</p><p><b>  圖2 主程序框圖</b></p><p>  超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送2個左右的超聲波信號頻率約40KHz的方波,脈沖

7、寬度為12us左右,同時把計數(shù)器T0打開進行計時。超聲波測距器主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(INT0引腳出現(xiàn)低電平),立即進入中斷程序。進入該中斷后就立即關(guān)閉計時器T0停止計時,并將測距成功標(biāo)志字賦值1。如果當(dāng)計時器溢出時還未檢測到超聲波返回信號,則定時器T0溢出中斷將外中斷0關(guān)閉,并將測距成功標(biāo)志字賦值2以表示此次測距不成功。</p><p>  定時中斷服務(wù)子程序完成三方向超

8、聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時間值的讀取、距離計算、結(jié)果的輸出等工作。如圖3和4。</p><p>  圖3定時中斷子服務(wù)子程序框圖</p><p>  圖4外部中斷服務(wù)子程序框圖</p><p><b>  五、源程序</b></p><p><b>  1中斷入口程序</b><

9、;/p><p>  ORG 0000H</p><p>  LJMP START</p><p>  ORG 0003H</p><p>  LJMP PINT0</p><p>  ORG 000BH</p><p>  LJMP INTT0</p>&

10、lt;p>  ORG 0013H</p><p><b>  RETI</b></p><p>  ORG 001BH</p><p>  LJMP INTT1</p><p>  ORG 0023H</p><p><b>  RETI </b>

11、</p><p>  ORG 002BH</p><p><b>  RETI</b></p><p><b>  2主程序:</b></p><p>  START: MOV SP, #4FH</p><p>  MOV R0, #40H

12、 ;40~43H為顯示數(shù)據(jù)存放單元</p><p>  MOV R7, #0BH</p><p>  CLEARDISP: MOV @R0, #00H</p><p><b>  INC R0</b></p><p>  DJNZ R7, CLEARDISP</p><p>

13、  MOV 20H, #00H</p><p>  MOV TMOD, #21H ;T1為8位自動重裝模式,T0為16位定時器</p><p>  MOV TH0, #00H ;65ms初值</p><p>  MOV TL0, #00H </p><p>  MOV TH1, #0

14、F2H ; 40kHz初值</p><p>  MOV TL1, #0F2H</p><p>  MOV P0, #0FFH</p><p>  MOV P1, #0FFH</p><p>  MOV P2, #0FFH</p><p>  MOV P3, #0FFH</p>&l

15、t;p>  MOV R4, #04H ;超聲波脈沖個數(shù)控制 </p><p><b>  SETB PX0</b></p><p><b>  SETB ET0</b></p><p><b>  SETB EA</b></p><p>  SE

16、TB TR0 ;開啟測距定時器</p><p>  start1: LCALL DISPLAY</p><p>  JNB 00H, START1 ;收到反射信號時標(biāo)志為1</p><p>  CLR EA</p><p>  LCALL WORK ;計算距離

17、子程序</p><p>  SETB EA </p><p>  CLR 00H</p><p>  SETB TR0 ;重新開啟測距定時器</p><p>  MOV R2, #64H ;測量間隔控制(約4*100=400ms)</p><p>  LO

18、OP: LCALL DISPLAY</p><p>  DJNZ R2, LOOP </p><p>  SJMP Start1</p><p><b>  3中斷程序:</b></p><p>  T0中斷,65ms中斷一次</p><p>  INTT0: CL

19、R EA</p><p>  CLR TR0</p><p>  MOV TH0, #00H</p><p>  MOV TL0, #00H</p><p>  SETB ET1</p><p><b>  SETB EA</b></p><p&

20、gt;  SETB TR0 ;啟動計時器T0,用以計算超聲波往返時間</p><p>  SETB TR1 ;開啟發(fā)超聲波用定時器T1</p><p>  OUT: RETI ;T1中斷,發(fā)超聲波用</p><p>  INTT1:

21、 CPL VOUT</p><p>  DJNZ R4, RETIOUT</p><p>  CLR TR1 ;超聲波發(fā)送完畢,關(guān)T1</p><p>  CLR ET1</p><p>  MOV R4, #04H</p><p>  SETB EX0

22、 ;開啟接收回波中斷</p><p>  RETIOUT: RETI</p><p>  外中斷0,收到回波時進入</p><p>  PINT0: CLR TR0 ;關(guān)計數(shù)器</p><p><b>  CLR TR1</b><

23、/p><p><b>  CLR ET1</b></p><p><b>  CLR EA</b></p><p><b>  CLR EX0</b></p><p>  MOV 44H, TL0 ;將計數(shù)值移入處理單元</p>&

24、lt;p>  MOV 45H, TH0</p><p>  SETB 00H ;接收成功標(biāo)志</p><p><b>  RETI</b></p><p><b>  4顯示程序:</b></p><p>  40H為最高位,43H為最低位,先掃描高位<

25、/p><p>  DISPLAY: MOV R1, #40H</p><p>  MOV R5, #0F7H</p><p>  PLAY: MOV A, R5</p><p>  MOV P0, #0FFH</p><p>  MOV P2, A</p>

26、;<p>  MOV A, @R1</p><p>  MOV DPTR, #TAB</p><p>  MOVC A, @A+DPTR</p><p>  MOV P0, A</p><p>  LCALL DL1MS</p><p><b>  INC R1</b&

27、gt;</p><p>  MOV A, R5</p><p>  JNB ACC.0, ENDOUT</p><p><b>  RRA</b></p><p>  MOV R5, A</p><p><b>  AJMPPLAY</b></p&

28、gt;<p>  ENDOUT: MOV P2, #0FFH</p><p>  MOV P0, #0FFH</p><p><b>  RET</b></p><p><b>  5距離計算程序近似</b></p><p>  WORK: PUSHACC

29、</p><p><b>  PUSHPSW</b></p><p><b>  PUSHB</b></p><p>  MOV PSW, #18H</p><p>  MOV R3, 45H</p><p>  MOV R2, 44H<

30、/p><p>  MOV R1, #00D </p><p>  MOV R0, #17D</p><p>  LCALL MUL2BY2</p><p>  MOV R3, #03H</p><p>  MOV R2, #0E8H</p><p>  LCAL

31、L DIV4BY2</p><p>  LCALL DIV4BY2</p><p>  MOV 40H, R4</p><p>  MOV A, 40H</p><p>  JNZ JJ0</p><p>  MOV 40H, #0AH ;最高位為

32、0,不點亮</p><p>  JJ0: MOV A, R0</p><p>  MOV R4, A</p><p>  MOV A, R1</p><p>  MOV R5, A</p><p>  MOV R3, #00D</p><p>  M

33、OV R2, #100D</p><p>  LCALL DIV4BY2</p><p>  MOV 41H, R4</p><p>  MOV A, 41H</p><p><b>  JNZ JJ1</b></p><p>  MOV A, 40H

34、 ;次高位為0,先看最高位是否為不亮</p><p>  SUBB A, #0AH</p><p>  JNZ JJ1</p><p>  MOV 41H, #0AH ;最高位不亮,次高位也不亮</p><p>  JJ1: MOV A, R0</p

35、><p>  MOV R4, A</p><p>  MOV A, R1</p><p>  MOV R5, A</p><p>  MOV R3, #00D</p><p>  MOV R2, #10D</p><p>  LCALL DIV4BY2

36、</p><p>  MOV 42H, R4</p><p>  MOV A,42H</p><p>  JNZ JJ2</p><p>  MOV A, 41H ;次次高位為0,先看次高位是否為不亮</p><p>  SUBB A, #0

37、AH</p><p>  JNZ JJ2</p><p>  MOV 42H, #0AH ;次高位不亮,次次高位也不亮</p><p>  JJ2: MOV 43H, R0</p><p>  POP B</p><p>  POP PS

38、W</p><p>  POP ACC</p><p><b>  RET </b></p><p><b>  END</b></p><p>  六、上機仿真 </p><p><b>  結(jié)果如下:</b></p>

39、<p><b>  七、設(shè)計心得:</b></p><p>  通過本次課程設(shè)計,掌握了美國Intel 公司生產(chǎn)的單片機MCS51芯片得基本結(jié)構(gòu)和工作原理。初步認識了超聲波測距器的設(shè)計方法。對課堂上了解的單片機知識有了鞏固和提高。加深了對單片機學(xué)習(xí)的興趣。</p><p>  在剛剛設(shè)計過程中,遇到了很多問題。對基本操作還不熟悉,做的效率不高。但在老師同學(xué)的

40、幫助下,并通過查詢有關(guān)參考文獻,使我了解了很多以前不懂的知識和設(shè)計技巧,遇到的困難一一解決。由于課本上的知識很多很雜,平時課間的學(xué)習(xí)并不能很好的理解和運用各個元件的功能,而且考試內(nèi)容有限,所以在這次課程設(shè)計過程中,我們了解了很多元件的功能。明白了一些道理,只有不斷實踐,才能在實踐中找到自己的問題,并通過不斷提高自己解決各種問題。</p><p>  本次課程設(shè)計使我受益匪淺,在今后的學(xué)習(xí)工作中,用這次學(xué)到的方法和

41、經(jīng)驗一定能是自我的能力得到更大的提升。</p><p><b>  八、參考文獻:</b></p><p>  1.牛昱光. 單片機原理與接口技術(shù).北京:電子工業(yè)出版社,2009</p><p>  2.趙晶. Protel 99高級應(yīng)用. 北京: 人民郵電出版社, 2000</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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論