課程設(shè)計(jì)報(bào)告書_第1頁
課程設(shè)計(jì)報(bào)告書_第2頁
課程設(shè)計(jì)報(bào)告書_第3頁
課程設(shè)計(jì)報(bào)告書_第4頁
課程設(shè)計(jì)報(bào)告書_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、超聲波測距儀課程設(shè)計(jì)報(bào)告書目錄引言2超聲波測距設(shè)計(jì)方案21.總體方案設(shè)計(jì)介紹22.硬件電路設(shè)計(jì)33.系統(tǒng)程序的設(shè)計(jì)64.設(shè)計(jì)總結(jié)10附件11控制源程序11引言本課程設(shè)計(jì),旨在用所學(xué)知識解決生活中的常見問題,真正實(shí)現(xiàn)知識的活學(xué)活用,為步入社會,進(jìn)入真實(shí)的生產(chǎn)制造環(huán)節(jié)打基礎(chǔ);超超聲波測距在生活中應(yīng)用極為廣泛,因其測量誤差小,操作方便而被廣泛使用;然其工作原理較為簡單,運(yùn)用大學(xué)所學(xué)的單片機(jī)原理及應(yīng)用的基礎(chǔ)知識便可以實(shí)現(xiàn)其基本工程原理,再結(jié)合其他科目的基礎(chǔ)知識便可以完成這一設(shè)計(jì)。超聲波測距設(shè)計(jì)方案1.總體方案設(shè)計(jì)介紹超聲波測距原理源于蝙蝠回聲定位,設(shè)超聲波在空氣中的傳播速度為V,在空氣中的傳播時(shí)間為T

2、,測距儀與障礙物的距離為S,S=VT/2,這樣可以測出測距儀與障礙物之間的距離,然后在LED顯示屏上顯示出來。本課程設(shè)計(jì)測量范圍0.504.00m,測量精度1cm.屬于近距測量,采用壓電式超聲波傳感器;程序要求反應(yīng)靈敏,故采用80C51單片機(jī)的匯編程序設(shè)計(jì),顯示LED采用4位共陽LED數(shù)碼管。首先由單片機(jī)驅(qū)動產(chǎn)生12MHZ晶振,由超聲波發(fā)射探頭發(fā)送出去,在遇到障礙物反射回來時(shí)由超聲波接收探頭檢測到信號,然后經(jīng)過濾波、放大、整形之后送入單片機(jī)進(jìn)行計(jì)算,把計(jì)算結(jié)果輸出到LED液晶顯示屏上。本設(shè)計(jì)采用80C51單片機(jī)作為主控制器,用動態(tài)掃描法實(shí)現(xiàn)LED數(shù)字顯示,超聲波驅(qū)動信號用單片機(jī)的定時(shí)器完成。超

3、聲波測距器系統(tǒng)設(shè)計(jì)如圖1.1所示。超聲波接收 80C51單片機(jī)超聲波發(fā)送LED顯示掃描驅(qū)動 圖1.1 超聲波測距器系統(tǒng)結(jié)構(gòu)設(shè)計(jì)框圖2.硬件電路設(shè)計(jì)硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機(jī)采用80C51。采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測量誤差。單片機(jī)用P1.0端口輸出超聲波傳感器所需的40kHz的方波信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實(shí)用的4位共陽LED數(shù)碼管,段碼用74LS244驅(qū)動,位碼用PNP三極管9012驅(qū)動(74LS06)。超聲波發(fā)出后,單片機(jī)自動檢測INT0引腳,當(dāng)INT0

4、引腳的電平由高電平變?yōu)榈碗娖綍r(shí)就認(rèn)為超聲波已經(jīng)返回。計(jì)數(shù)器所計(jì)的數(shù)據(jù)就是超聲波所經(jīng)歷的時(shí)間,通過換算就可以得到傳感器與障礙物之間的距離。2.1超聲波發(fā)射和接收模組(V2.0)本文采用的超聲波測距模組集發(fā)射和接受為一體,內(nèi)部超聲波傳感器諧振頻率40KHz,模組傳感器工作電壓4.5V9V,模組接口電壓4.5V5.5V。本實(shí)驗(yàn)采用短距(0.504.00m)精度1cm。模組結(jié)構(gòu)示意圖如圖2.1:J7J6J5J4 圖2.1 超聲波發(fā)射及接收模組設(shè)計(jì)框圖應(yīng)用時(shí)只需要用J5的第1個(gè)口與單片機(jī)Vcc連接,最后一個(gè)口與單片機(jī)GND連接,第4個(gè)接口與 單片機(jī)的INT0口相連接,J4的第3個(gè)接口與單片機(jī)1.0口連接

5、,同時(shí)將J1跳線設(shè)置為短距模式,J2跳線設(shè)置為非外部電源供電方式(此時(shí)開發(fā)板通過10PIN排線為模組供電,板上J5選擇5V,要把J2跳接到5v的一端)。這就完成了模組硬件的連接。超聲波諧振頻率調(diào)理電路圖如圖2.2:圖2.2 超聲波諧振頻率調(diào)整電路設(shè)計(jì)框圖由單片機(jī)產(chǎn)生40KHz的方波由P1.0口送出,連接模組接口J4到模組的CD4049,而后面的CD4049則對40KHz頻率信號進(jìn)行調(diào)理,以使超聲波傳感器產(chǎn)生諧振。圖2.3 超聲波回波接收電路設(shè)計(jì)框圖超聲波接受處理部分電路前級采用NE5532構(gòu)成10000倍放大器,對接收信號進(jìn)行放大;后級采用LM311比較器對接收信號進(jìn)行調(diào)整,比較電壓為LM31

6、1的3管腳的輸入。接收回路中測得的超聲波信號共有兩個(gè)波束,第一個(gè)為余波信號,即超聲波接收頭在發(fā)射頭發(fā)射信號(一組40KHz的脈沖)后,馬上就接收到了超聲波信號,并持續(xù)一段時(shí)間。另一個(gè)波束為有效信號,即經(jīng)過被測物表面反射的回波信號。超聲波測距時(shí),需要測的是開始發(fā)射到接收到信號的時(shí)間差,要盡量避免檢測到余波信號,這也是檢測中存在最小測量盲區(qū)的主要原因。單片機(jī)控制模組每次發(fā)生若干完整的40KHz的脈沖信號,發(fā)射信號前打開計(jì)數(shù)器T0,進(jìn)行計(jì)時(shí),等計(jì)時(shí)到達(dá)一定值后再開啟檢測回波信號,以避免余波信號的干擾。采用外部中斷INT0對回波信號進(jìn)行檢測,接收到回波信號后馬上讀取計(jì)數(shù)器中的數(shù)值,此數(shù)據(jù)即為需要測量的

7、時(shí)間差數(shù)據(jù)。2.2數(shù)據(jù)顯示模塊顯示電路采用簡單實(shí)用的4位共陽LED數(shù)碼管,斷碼用74LS244驅(qū)動,位碼用74LS06驅(qū)動。由P0口輸出顯示數(shù)據(jù),P2.0P2.3用來位選。顯示電路如圖2.4圖2.4 超聲波測距顯示電路設(shè)計(jì)框圖3.系統(tǒng)程序的設(shè)計(jì)超聲波測距器的軟件設(shè)計(jì)主要由主程序,超聲波發(fā)生子程序,超聲波接收中斷程序及顯示子程序組成,本次設(shè)計(jì)采用執(zhí)行效率高的匯編語言實(shí)現(xiàn)。下面對超聲波測距器的算法,主程序,超聲波發(fā)生子程序和超聲波接收中斷程序逐一介紹。3.1超聲波測距器的算法設(shè)計(jì)超聲波測距的原理類似于蝙蝠的回聲定位,既超聲波發(fā)生器T在某一時(shí)刻發(fā)出一個(gè)超聲波信號,當(dāng)這個(gè)超聲波遇到被測物體后反射回來,

8、就會被超聲波接收器R接收到。這樣,只要計(jì)算出從發(fā)出超聲波信號到接收到返回信號所用的時(shí)間,就可算出超聲波發(fā)生器于反射物體的距離。該距離的計(jì)算公式如下:d=s/2=(v×t)/2式3-1 超聲波距離計(jì)算其中:d為被測物于測距器的距離(m);s為聲波的來回路程(m);v為聲速(m/s);t為聲波來回所用的時(shí)間(s)。3.2 主程序主程序首先要對系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器T0工作模式為16位定時(shí)/計(jì)數(shù)器模式,置位總中斷允許位EA并對顯示端口P0和P2清0;然后調(diào)用超聲波發(fā)生子程序送出一個(gè)超聲波脈沖。為了避免超聲波從發(fā)射器直接傳到接收器引起的直射波,需要延時(shí)約2.906ms(最小距離0.50m

9、,機(jī)器周期1us)后才可打開外中斷0接收返回的超聲波信號。由于采用的是12MHz的晶振,計(jì)數(shù)器每計(jì)一個(gè)數(shù)就是1us,所以當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器T0中的數(shù)(即超聲波來回所用的時(shí)間)按式(32)計(jì)算,即可得被測物體與測距器之間的距離。設(shè)計(jì)時(shí)取20時(shí)的聲速為344m/s,則有d=(v×t)/2=(172T/1000)(cm)式3-2 超聲波距離計(jì)算其中:T為計(jì)數(shù)器T0的計(jì)數(shù)值。測出距離后,結(jié)果將以十進(jìn)制BCD碼方式送往LED顯示,重復(fù)測量3-5次取加權(quán)平均即可得出最終結(jié)果。圖3.1所示為主程序流程圖。開始系統(tǒng)初始化發(fā)送超聲波脈沖等待反射超聲波計(jì)算距離顯示結(jié)果0.5s圖3

10、.1 超聲波測距主程序流程圖主程序START: MOV SP, #4FH MOV R0, #40H ;40H43H為顯示數(shù)據(jù)存放單元(40H為最高位) MOV R7, #0BHCLEARDISP: MOV R0, #00H INC R0 DJNZ R7, CLEARDISP MOV 20H, #00H MOV TMOD, #21H ;T1為8位自動重裝模式,T0為16位定時(shí)器 MOV TH0, #C7H ;14.5ms初值 MOV TL0, #39H MOV TH1, #0F2H ;40kHz初值 MOV TL1, #0F2H MOV P0, #0FFH MOV P1, #0FFH MOV P

11、2, #0FFH MOV P3, #0FFH MOV R4, #04H ;超聲波脈沖個(gè)數(shù)控制(為賦值的一半) SETB PX0 SETB ET0 SETB EA SETB TR0 ;開啟測試定時(shí)器START1: LCALL DISPLAY JNB 00H, START1 ;收到反射信號時(shí)標(biāo)志位為1 CLR EA LCALL WORK SETB EA CLR 00H SETB TR0 ;重新開啟測試定時(shí)器 MOV R2, #64H ;測量間隙控制(約4ms×100=400ms)LOOP: LCALL DISPLAY DJNZ R2,LOOPSJMP START13.3 超聲波發(fā)生子程序

12、和超聲波接收中斷程序超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送兩個(gè)左右的超聲波脈沖信號(頻率40KHz的方波),脈沖寬度為12us左右,同時(shí)把計(jì)數(shù)器T0打開進(jìn)行時(shí)。超聲波發(fā)生子程序較簡單,但要求程序運(yùn)行時(shí)間準(zhǔn)確,所以采用匯編語言編程。ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI超聲波測距器主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即

13、進(jìn)入超聲波接收中斷程序。進(jìn)入該中斷后,就立即關(guān)閉計(jì)時(shí)器T0,停止計(jì)時(shí),并將測距成功標(biāo)志字賦值1. 中斷程序;T0中斷,14.5ms中斷一次INTT0: CLR EA CLR TR0 MOV TH0,#C7H MOV TL0,#39H SETB ET1 SETB EA SETB TR0 ;啟動計(jì)數(shù)器T0,用以計(jì)算超聲來回時(shí)間 SETB TR1 ;開啟發(fā)超聲波用定時(shí)器T1OUT: RETI;T1中斷,發(fā)超聲波用INTT1: CPL VOUT DJNZ R4,RETOUT CLR TR1 ;超聲波發(fā)完畢,關(guān)T1 CLR ET1 MOV R4,#04H SETB EX0 ;開啟接收回波中斷RETIOU

14、T: RETI;外中斷0,收到回波時(shí)進(jìn)入PINT0: CLR TR0 ;關(guān)計(jì)數(shù)器 CLR TR1 CLR ET1 CLR EA CLR EX0 MOV 44H ,TL0 ;將計(jì)數(shù)值移入處理單元 MOV 45H ,TH0 SETB 00H ;接收成功標(biāo)志 RETI如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測到超聲波返回信號,則定時(shí)器T0溢出中斷將外中斷0關(guān)閉,并將測距成功標(biāo)志字賦值2,以表示本次測距不成功。4.設(shè)計(jì)總結(jié)本次設(shè)計(jì)中,充分體現(xiàn)了合作共贏的重要性,這個(gè)社會是個(gè)專業(yè)化日趨加強(qiáng)的社會,人們的專業(yè)知識正變得集中而而有深度,此次設(shè)計(jì),廣泛整合了各方面的資源,充分證明了合作的重要性,以及專業(yè)知識的必要性,作為作為

15、一項(xiàng)實(shí)際需要的產(chǎn)品,都綜合了各方面的知識,只有強(qiáng)強(qiáng)聯(lián)手,才能打造更加優(yōu)異的產(chǎn)品。本次設(shè)計(jì)的環(huán)節(jié)不多,單片機(jī)及程序、超聲波發(fā)送及接收電路,數(shù)碼顯示管等幾大塊,對于我來說,專業(yè)在于單片機(jī)及數(shù)碼顯示管的連接及程序設(shè)計(jì),而超聲波發(fā)射及接收電路則是由另外的合作伙伴完成,然后實(shí)現(xiàn)兩者的連接便完成了此次設(shè)計(jì)。當(dāng)然,設(shè)計(jì)總是沒有完美的,我們由于閱歷尚欠,經(jīng)驗(yàn)不足,又缺乏實(shí)踐,故產(chǎn)品設(shè)計(jì)原型可能存在諸多問題,需要在實(shí)踐中不斷發(fā)現(xiàn),修補(bǔ)完善,不斷創(chuàng)新。不滿足于已有的設(shè)計(jì),不斷尋求新的突破才是我們需要做的。附件控制源程序 超聲波測距器 采用80C51、12MHz晶振、采用共陽LED顯示器測試范圍為0.505.00m

16、,堆棧在4FH以上,20H用于標(biāo)志顯示緩沖單元在40H43H,內(nèi)存44H46H用于計(jì)算距離VOUT EQU P1.0 ;脈沖輸出端口 中斷入口程序 ORG 0000H LJMP START ORG 0003H LJMP PINT0 ORG 000BH LJMP INTT0 ORG 0013H RETI ORG 001BH LJMP INTT1 ORG 0023H RETI ORG 002BH RETI 主程序START: MOV SP, #4FH MOV R0, #40H ;40H43H為顯示數(shù)據(jù)存放單元(40H為最高位) MOV R7, #0BHCLEARDISP: MOV R0, #00H

17、 INC R0 DJNZ R7, CLEARDISP MOV 20H, #00H MOV TMOD, #21H ;T1為8位自動重裝模式,T0為16位定時(shí)器 MOV TH0, #C7H ;14.5ms初值 MOV TL0, #39H MOV TH1, #0F2H ;40kHz初值 MOV TL1, #0F2H MOV P0, #0FFH MOV P1, #0FFH MOV P2, #0FFH MOV P3, #0FFH MOV R4, #04H ;超聲波脈沖個(gè)數(shù)控制(為賦值的一半) SETB PX0 SETB ET0 SETB EA SETB TR0 ;開啟測試定時(shí)器START1: LCALL

18、 DISPLAY JNB 00H, START1 ;收到反射信號時(shí)標(biāo)志位為1 CLR EA LCALL WORK SETB EA CLR 00H SETB TR0 ;重新開啟測試定時(shí)器 MOV R2, #64H ;測量間隙控制(約4ms×100=400ms)LOOP: LCALL DISPLAY DJNZ R2,LOOPSJMP START1中斷程序;T0中斷,1.45ms中斷一次INTT0: CLR EA CLR TR0 MOV TH0,#C7H MOV TL0,#39H SETB ET1 SETB EA SETB TR0 ;啟動計(jì)數(shù)器T0,用以計(jì)算超聲來回時(shí)間 SETB TR1

19、;開啟發(fā)超聲波用定時(shí)器T1OUT: RETI;T1中斷,發(fā)超聲波用INTT1: CPL VOUT DJNZ R4,RETOUT CLR TR1 ;超聲波發(fā)完畢,關(guān)T1 CLR ET1 MOV R4,#04H SETB EX0 ;開啟接收回波中斷RETIOUT: RETI;外中斷0,收到回波時(shí)進(jìn)入PINT0: CLR TR0 ;關(guān)計(jì)數(shù)器 CLR TR1 CLR ET1 CLR EA CLR EX0 MOV 44H,TL0 ;將計(jì)數(shù)值移入處理單元 MOV 45H,TH0 SETB 00H ;接收成功標(biāo)志 RETI顯示程序;40H為最高位,43H為最低位,先掃描高位DISPLAY: MOV R1,#

20、40H;GMOV R5,#0E7H;GPLAY: MOV A,R5 MOV P0,#0FEH MOV P2,A MOV R1 MOV DPTR,#TAB MOVC A,A+DPTR MOV P0,A LCALL DL1MS INC R1 MOV A,R5 JNB ACC.0,ENDOUT;G RR A MOV R5,A AJMP PLAYENDOUT: MOV P2,#0FEH MOV P0,#0FEH RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FEH,88H,0BFH;共陽段碼表 “0”,“1”,“2”,“3”,“4”,

21、“5”,“6”,“7”,“8”,“9”,“不亮”,“A”,“-”延時(shí)程序DL1MS: MOV R6, #0BHDL1: MOV R7, #5AHDL2: DJNZ R7, DL2 DJNZ R6, DL1 RET 距離計(jì)算程序Work: PUSH ACC PUSH PSW PUSH B MOV PSW, #18h MOV R3, 45H MOV R2, 44H MOV R1, #00D MOV R0, #17D LCALL MUL2BY2 MOV R3, #03H MOV R2, #0E8H LCALL DIV4BY2 LCALL DIV4Y2 MOV 400H, R4 MOV A, 40H

22、JNZ JJ0 MOV 40H,#0AH ;最高位為0,不點(diǎn)亮JJ0: MOV A, R0 MOV R4, A MOV A, R1 MOV R5, A MOV R3, #00D MOV R2, #100D LCALL DIV4BY2 MOV 41H, R4 MOV A, 41H JNZ JJ1 MOV A, 40H ;次高位為0,先看最高位是否為不亮 SUBB A, #0AH JNZ JJ1 MOV 41H, #0AH ;最高位不亮,次高位也不亮JJ1: M0V A, R0 MOV R4, A MOV A, R1 MOV R5, A MOV R3, #00D MOV R2, #10D LCAL

23、L DIV4BY2 MOV 42H, R4 MOV A, 42H JNZ JJ2 MOV A, 41H ;次次高位為0,先看次高位是否為不亮 SUBB A, #0AH JNZ JJ2 MOV 42H, #0AH ;次高位不亮,次次高位也不亮JJ2: MOV 43H, R0 POP B POP PSW POP ACC RET2字節(jié)無符號數(shù)乘法程序R7R6R5R4R3R2×R1R0MUL2BY2: CLR A MOV R7,A MOV R6,A MOV R5,A MOV R4,A MOV 46H,#10HMULLOOP1: CLR C MOV A,R4 RLC A MOV R4,A MOV A,R5 RLC A

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論