#用51單片機設(shè)計超聲波測距系統(tǒng)的設(shè)計原理和電路(附源程序)_第1頁
#用51單片機設(shè)計超聲波測距系統(tǒng)的設(shè)計原理和電路(附源程序)_第2頁
#用51單片機設(shè)計超聲波測距系統(tǒng)的設(shè)計原理和電路(附源程序)_第3頁
#用51單片機設(shè)計超聲波測距系統(tǒng)的設(shè)計原理和電路(附源程序)_第4頁
#用51單片機設(shè)計超聲波測距系統(tǒng)的設(shè)計原理和電路(附源程序)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于51單片機的超聲波測距儀說明書引言超聲波測距儀,可應(yīng)用于汽車倒車、建筑施工工地以及一些工業(yè) 現(xiàn)場的位置監(jiān)控,也可用于如液位、井深、管道長度的測量等場合。 利用超聲波指向性強,能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因 而超聲波經(jīng)常用于距離的測量。利用超聲波檢測往往比較迅速、方便、 計算簡單、易于做到實時控制。一、性能要求該超聲波測距儀,要求測量范圍在0.08-3.00m ,測量精度15 測量時與被測物體無直接接觸,能夠清晰穩(wěn)定地顯示測量結(jié)果。二、工作原理及方案論證超聲波傳感器及其測距原理超聲波是指頻率高于20KHz的機械波。用超聲波傳感器產(chǎn)生超 聲波和接收超聲波,習(xí)慣上稱為超聲波換能器或超聲

2、波探頭。 超聲波 傳感器有發(fā)送器和接收器.超聲波傳感器是利用壓電效應(yīng)的原理將電 能和超聲波相互轉(zhuǎn)化,即在發(fā)射超聲波的時候,將電能轉(zhuǎn)換,發(fā)射超 聲波;而在收到回波的時候,則將超聲振動轉(zhuǎn)換成電信號。超聲波測距的原理一般采用渡越時間法 TOF(timeofflight )。 首先測出超聲波從發(fā)射到遇到障礙物返回所經(jīng)歷的時間,再乘以超聲波的速度就得到二倍的聲源與障礙物之間的距離。根據(jù)要求并綜合各方面因素,采用 AT89C5舉片機作為主控制器,用動態(tài)掃描法實現(xiàn)LE國字顯示,超聲波驅(qū)動信號用單片機的定時器完成,超聲波測距儀的系統(tǒng)框圖如下圖所示:圖1超聲波測距儀系統(tǒng)設(shè)計框圖三、系統(tǒng)硬件部分硬件部分主要由單片

3、機系統(tǒng)及顯示電路、 超聲波發(fā)射電路和超聲 波檢測接收電路三部分組成。1.單片機系統(tǒng)及顯示電路單片機采用AT89C52來實現(xiàn)對CX20106A紅外接收芯片和TCT40-10系列超聲波轉(zhuǎn)換模塊的控制。單片機通過 P1.1弓I腳發(fā)射脈 沖控制超聲波的發(fā)送,然后單片機不停的檢測外中斷 0口 INT0弓|腳, 當(dāng)INT0引腳的電平由高電平變?yōu)榈碗娖綍r就認(rèn)為超聲波已經(jīng)返回。計數(shù)器所計的數(shù)據(jù)就是超聲波所經(jīng)歷的時間, 通過換算就可以得到傳 感器與障礙物之間的距離。顯示電路采用簡單實用的 4位共陽LED數(shù) 碼管,段碼用74LS2441動,位碼用PNP三極管驅(qū)動。單片機系統(tǒng)及顯示電路如下圖所示:彳615141Ar

4、ArTscyRTA7IP fi1pElp31OTNrn3pDXT/ITPDXR/nw3pTlp2/nwlp3Y29y21y2OY23y19y11Y1OY142SL4/ EO2 EO1 3rt2 9A2 1a2 QM2 3rt1 9A1 1A1 QM12U51Ar_/f?p41Arfi9p31ArE OB21a,9pqtatt9pqxtt- TP8Arn- TP7nffrT.np6nffrR.np5nffrE.np4DMV.np3nffr.np2nffrn.np1D/Ml.nponffmw.npElaNESPTSR2LHTX1LHTX1UIS03Q281Qw2.超聲波發(fā)射電路圖2單片機系統(tǒng)及顯示

5、電路利用555時基電路振蕩產(chǎn)生40kHz的超聲波信號,使之與換能器 的40kHz固有頻率一致。12V電源保證555時基具有足夠驅(qū)動能力。 P1.1為超聲波發(fā)射控制信號,由單片機控制。發(fā)射電路如圖3所示:113300P圖3超聲波發(fā)射電路原理圖3.超聲波檢測接收電路超聲波接收電路采用集成電路 CX20106A這是一款紅外線檢波接 收的專用芯片,常用于電視機紅外遙控接收器??紤]到紅外遙控常用 的載波頻率38KHz與測距超聲波頻率40KHz較為接近,可以利用它作 為超聲波檢測電路。實驗證明其具有很高的靈敏度和較強的抗干擾能 力。適當(dāng)改變C4勺大小,可改變接受電路的靈敏度和抗干擾能力。接收電路如圖4所示

6、:四.系統(tǒng)軟件部分超聲波測距程序設(shè)計軟件部分主要由主程序,超聲波發(fā)射子程 序,超聲波接受中斷程序及顯示子程序組成。下面對超聲波測距儀的算法,主程序,超聲波發(fā)射子程序和超聲波接受中斷程序逐一介紹。1 .超聲波測距儀的算法設(shè)計下圖示意了超聲波測距的原理,即超聲波發(fā)生器T在某一時刻發(fā) 出的一個超聲波信號,當(dāng)超聲波遇到被測物體后反射回來, 就被超聲 波接收器R所接受。這樣只要計算出發(fā)生信號到接受返回信號所用的 時間,就可算出超聲波發(fā)生器與反射物體的距離。距離計算公式:d=s/2=(c*t)/2*d為被測物與測距器的距離,s為聲波的來回路程,c為聲速,t為聲波來回所用的時間晅雷披意m.原理法2 .主程序

7、主程序框圖如右圖所示: 主程序首先對系統(tǒng)環(huán)境初始化,設(shè)置定時 器T0工作模式為16位的定時計數(shù)器模式, 置位總中斷允許位EA并給顯示端口 POP2#0。然后調(diào)用超聲波發(fā)生子程序送出 一個超聲波脈沖,為避免超聲波從發(fā)射器 直接傳送到接收器引起的直接波觸發(fā),需 延遲0.1ms(這也就是測距器會有一個最 小可測距離的原因)后,才打開外中斷0接 收返回的超聲波信號。由于采用12MHz勺晶振,機器周期為1us,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計數(shù) 器T0中的數(shù)(即超聲波來回所用的時間)按下式計算即可測得被測物體與測距儀之間的距離,設(shè)計時取20c時的聲速為344m/s則有:d=(C*T0)/2=172

8、T0/10000cm (其中T0為計數(shù)器T0的計數(shù)值)測出距離后結(jié)果將以十進制 BC四方式LED,然后再發(fā)超聲波脈 沖重復(fù)測量過程3 .超聲波發(fā)生子程序和超聲波接收中斷程序超聲波發(fā)生子程序的作用是通過 P1.1端口發(fā)送超聲波發(fā)射控制脈沖 信號,同時把計數(shù)器T的開進行計時。超聲波測距器主程序利用外 中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(INT0引腳 出現(xiàn)低電平),立即進入中斷程序。進入該中斷后就立即關(guān)閉計時器 TS亭止計時,并將測距成功標(biāo)志字賦值1。如果當(dāng)計時器溢出時還未 檢測到超聲波返回信號,則定時器 T篩出中斷將外中斷0關(guān)閉,并將 測距成功標(biāo)志字賦值2以表示此次測距不成功。五.

9、軟硬件調(diào)試及性能超聲波發(fā)射和接收采用 15的超聲波換能器TCT40-10F1 (T發(fā) 射)和TCT40-10S1 (R接收),中心頻率為40kHz,保持兩換能器中心 軸線平行并相距48cmi主要性能指標(biāo):測距儀能測的范圍為0.083.00m,測距儀精度 1cmi程序清單以下是用匯編語言編寫的超聲波測距控制源程序:采用AT89s52 12MHz晶振顯示緩沖單元在4 0 H4 3 H,使用內(nèi)存 斗4H、45H、46H用于計算距離20H用于標(biāo)志VOLT EQU P1.0 ;脈沖輸出端口東中斷入口程序上ORG 0000HLJMP STARTORG 0003HLJMP PINTOORG OOOBHLJM

10、P INTTOORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETIORG 002BHRETI東主程序*SIAM: MOV Sl MFHMOV RO. #40H :40-43H為顯示數(shù)據(jù)存放單元(40為最高位)MOV R7,#0BHCLEARD1SP:MOV RQMOOHNC RODJNZ R7.CLEARDISPMOV 2阻岬 MOV 1MOD, 21H 時器MOV THQ#00H MOV ILOfOOH MOV TH10F2H MOV 1LU0F2H MOV PO,0FFH MOV PLWFH MOV P2.#0FFH MOV P3,旺FH MOV R4

11、.期4H SETB PXO SETB ETO STEB EA CLR OOH SETB TROSTART1:LCALL DISPLAYJNB 00H. START 1 CLR EA LCALL WORK SETB EA CLR OOH SETB TRO MOV R2. #64HLOOP:LCALL DISPLAYDJNZ R2. LOOP SJMP START 1:門為8位自動重裝模式,TQ為16位定;65ms初值;40KHz初值;超聲波脈沖個數(shù)控制(為賦值的一半);開啟測距定時器:收到反射信號時標(biāo)志位為1;計算距離子程序;重新開啟測距定時器;測量間隔控制(約4100=4001115):TO中

12、斷,6)田5中斷一次INTTO:CLR EACLR TR0MOV THO, #00HIL0,聊 HET1EA TROTRI來回時向OUT:T1中斷, INUI:WVN CO nb sTgETIn器印 rcdccmsr;啟動計時器TQ,用以計算超聲波:開啟發(fā)超聲波用定時器T1VOUTR4.RETIOUTTR1;超聲波發(fā)送完畢,關(guān)T1ET1IM#04HEXO;開啟接收回波中斷;外中斷0,收到回波時進入PINTO:CLRTRO關(guān)計數(shù)器CLRTRICLRET1CLREACLREXOMOV44H皿將計數(shù)值移入處理單元MOV45H. THOSETBOOH;接收成功標(biāo)志RETI1延時程序iDL1MS:MOV

13、R6J14HDL1:MOVR7 9HDL2:DJNZR6. DL2DJNZR6, DL1RET上顯小程序*:40H為最高位,書H為最低位,先掃描高位DISPLAY:MOV Rl.#40H:GMOV R5 擁;GPLAY:MOV A R5MOV PtUOFFHMOV PIAMOV A, R1MOV DPTR,犯 ABMOVC a, a-dptrMOV PO.ALCALL DLIMSINC RIMOV A.R5,JNB ACC.O. ENDOUT;GRR AMOV R5.AAM PLAYENDOUT:MOV P2.#0FFHMOV PtUOFFHRETTAB: DB 0 C0H,0F9H.0A4H

14、0B0H99H52E82K0F8H.80H,90H.0FFH.88R0BFH;共陽數(shù)碼管WORK:JJO:0.L2v.7.89不亮,A 一*距離計算程序.(二計算值x 17/1 ooocm近似PUSH ACCPUSH PSWPUSH BMOV PSW:#18HMOV R3.45HMOV &44HMOV Rl.#00DMOV R0J17DLCALL MUL2BY2MOV R3J03HMOV R2.#0E8HLCALL DIV4BY2LCALL DW4BY2MOV 40H. R4MOV A 40HJNZ JJOMOV 40HTOAH;最高位為0,不點亮MOV A ROMOV RIAMOV A RI

15、MOV R5 AMOV R3.#00DMOV R2.#100DLCALL DIV4BY2MOV 41H.R4MOV A.41HJNZ JJ1MOV A 40H;此高位為Q,先看最高位是否為不亮SUBB M0AHJJ1:JNZ MOV MOV MOV MOV MOV MOV MOVJJ141H.菱 OAHA. RO R4.AA, RI R5,A R3. #00D R2. #10D; 最高位不亮,次高位也不亮LCALL DIV4BY2JJ2:MOV MOV JNZ MOV SUBB JNZ MOV MOV POP POP POP RET42H. R4 A 42H JJ2 A.41H A. 2AH

16、TP42H.和AH 43R RO BPSW ACC;次高位為0,先看次高位是否為不亮;次高位不亮,次高位也不亮上兩字節(jié)無符號數(shù)乘法程序M112BY2:CLR MOV MOV MOVR7.AR6,A Ri AMOV R4.A MOV 46H10HMULLOOP1: CLR C MOV A,R4 RLC A MOV RIA MOV A. R5 RLC A MOV R5,A MOV A.R6 RLC A MOV R6,A MOV A.R7 RLC A MOV R7.AMOV A. RORLC AMOV RO, AMOV A. RIRLC A MOV Rl-A JNC MULLOOP2 MOV A.R

17、4 ADD a,R2 MOV RIA MOV A.R5 ADDC A. R3 MOV R5.A MOV A.R6 ADDC A,順H MOV R6.A MOV A.R7 ADDC A.加 OH MOV RZA(ULLOOP2: DJNZ 46H.MULLOOP1RET*四字節(jié),兩字節(jié)無符號數(shù)除法程序今 DIV4BY2:MOV 弗H, 20HMOV IMOH MOV RlOOH DIVLOOP1: MOV A.R4RLC A MOV RIA MOV A.R5 RLC A MOV R5,A MOV A,R6 RLC A MOV R6,A MOV A.R7 RLC A MOV R7,A MOV A.

18、 RO RLC A MOV RO. A MOV A. RI RLC A MOV RLA CLR C MOV A. RO SUBB A.R2 MOV B,aDIVL00P2:-1I.-I.-I.I.-1I.-1I.A. RIA.R3 DRT00P2RO.BRLAC46H. DIVLOOP1A.R4AR4.AA. R5AR5.AA. R6AR6.AAR7AR7.AEXD附C51程序INCLUDE WEFINEUCHAR UNSIGNED CHAR WEFINElINT UNSIGNED INT WEFINEULONG UNSIGNED LONG EXTERN VOID CS_T(VOID);EXT

19、ERN VOID DELAWINT); EXTERN VOID DISPLAY! UCHAR*); /DATA UCHAR DISPLAY(UCIIAR*); DATAUCHARTESTOK;VOID MAIN (VOID)i)DATA UCHAR D1SPRAM5;DATA UINTI;DATA ULONG TIME;PO=OXPF;P2=0XPF;TMOD=OX11;IE=0X80:WHILE CS _T();DELAY( 1);TESTOK=0;EXO=1;ETO= I;WHILE(! TESTOK) DISPLAY(DISPRAM);IF(1=TESTOK)(TIME=TH0;TIME

20、=(TIME8)| TLO;TIME*=172;TIME/= 10000;DISPRAMO=(UCHAR) (TIME% 10);TIME/=10;DISPRAM1=(UCHAR) (TIME% 10);TIME/=10;DISPRAM2=(UCHAR) (TIME% 10);DISPRAM3=(UCHAR) (TIME/10);IF(0=DISPRAM3) DISPRAM3=17; ELSE(DISPRAM 0=16;DISPRAM1=16;DISPRAM 2=16;DISPRAM 3=16;FOR (I=0;I300;l+) DISPLAY(DISPRAM);)VOID CS_R(VOID

21、) INTERRUPT 0(TR0=0;ET0=0;EX0=0;TESTOK=1;VOID OVERTIME(VOID) INTERRUPT 1EX0=0;TR0=0;ET0=0;TESTOK=2;)NAME CS_T?PR?CS_T?CS_T SEGMENT CODEPUBLICCS_TRSEG?PR?CS_T?CS_TCS_T:PUSHACCMOVTHO, #00HMOVTLO. #00HMOVA, #4DSETBTROCS_T1:CPLpl.ONOPNOPNOPNOPNOPNOPNOPNOPNOPNOPDJNZACC.CS_T1POPACCRETENDNAME DELAY ?PR?_DELAY?DELAY SEGMENT CODEPUBLIC _DELAYRSEG ?PR?_DELAY?DELAYDELAY:PUSH ACCMOVA.R7JZ DELA1INC R6DELA 1: MOV R5.#50DDJNZ R5, $DJNZ R7.DELA 1DJNZR6.DELA 1P

溫馨提示

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

評論

0/150

提交評論