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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

8、聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時(shí)間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。如圖3和4。</p><p>  圖3定時(shí)中斷子服務(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位自動(dòng)重裝模式,T0為16位定時(shí)器</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 ;超聲波脈沖個(gè)數(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 ;開啟測(cè)距定時(shí)器</p><p>  start1: LCALL DISPLAY</p><p>  JNB 00H, START1 ;收到反射信號(hào)時(shí)標(biāo)志為1</p><p>  CLR EA</p><p>  LCALL WORK ;計(jì)算距離

17、子程序</p><p>  SETB EA </p><p>  CLR 00H</p><p>  SETB TR0 ;重新開啟測(cè)距定時(shí)器</p><p>  MOV R2, #64H ;測(cè)量間隔控制(約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 ;啟動(dòng)計(jì)時(shí)器T0,用以計(jì)算超聲波往返時(shí)間</p><p>  SETB TR1 ;開啟發(fā)超聲波用定時(shí)器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,收到回波時(shí)進(jìn)入</p><p>  PINT0: CLR TR0 ;關(guān)計(jì)數(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 ;將計(jì)數(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距離計(jì)算程序近似</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,不點(diǎn)亮</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>  六、上機(jī)仿真 </p><p><b>  結(jié)果如下:</b></p>

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

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

41、經(jīng)驗(yàn)一定能是自我的能力得到更大的提升。</p><p><b>  八、參考文獻(xiàn):</b></p><p>  1.牛昱光. 單片機(jī)原理與接口技術(shù).北京:電子工業(yè)出版社,2009</p><p>  2.趙晶. Protel 99高級(jí)應(yīng)用. 北京: 人民郵電出版社, 2000</p>&

溫馨提示

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

評(píng)論

0/150

提交評(píng)論