版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機超聲波測距器設(shè)計
- 基于51單片機超聲波測距器設(shè)計
- 基于51單片機超聲波測距器的設(shè)計
- 超聲波測距器課程設(shè)計
- 單片機課程設(shè)計-超聲波測距
- 單片機課程設(shè)計--超聲波測距
- 單片機課程設(shè)計-超聲波測距
- 基于單片機的超聲波測距課程設(shè)計
- 基于單片機的超聲波測距課程設(shè)計報告
- 單片機課程設(shè)計---基于單片機的超聲波測距儀
- 單片機課程設(shè)計--超聲波測距系統(tǒng)設(shè)計
- 單片機課程設(shè)計--超聲波測距儀
- 基于52單片機的超聲波測距系統(tǒng)-課程設(shè)計
- 基于單片機的超聲波測距儀課程設(shè)計
- 單片機超聲波測距儀設(shè)計課程設(shè)計
- 基于單片機的超聲波測距設(shè)計
- 單片機課程設(shè)計--超聲波測距儀的設(shè)計
- 單片機課程設(shè)計超聲波測距儀的設(shè)計
- 課程設(shè)計--- 基于51單片機的超聲波測距儀設(shè)計
- 基于單片機的超聲波測距系統(tǒng)設(shè)計
評論
0/150
提交評論