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

下載本文檔

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

文檔簡介

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

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

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

4、alA7mip5S-CL4*txK7 43r席OJT $ dbss8VY1301A iAA3 i021042SL4Z31+-ZL/JC3-OlZL/IC3-QXFOC3-2U3S-CL2Jr/nMIPI51/-C2LT4CA6C2LO-CA5C2LC2CA4C2L-V<A3C2LelaNESP03OVCA2C2L<9jt- .Aro8/> oth7qa-.c£l6QAD.C0L5QAD.C0L4qa/-.c£l3QAO.C0L2CD/I.C0L1DAn._nOQAD.C0L92TSR2Lalx1Lalx1U001圖2單片機(jī)系統(tǒng)及顯示電路2. 超聲波發(fā)射電路

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

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

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

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

9、試及性能超聲波發(fā)射和接收采用 15的超聲波換能器TCT40-10F1( T發(fā) 射)和TCT40-10S1(R接收),中心頻率為40kHz,保持兩換能器中心 軸線平行并相距4 8cm。主要性能指標(biāo):測距儀能測的范圍為0.083.00m,測距儀精度1cm。程序清單以下是用匯編語言編寫的超聲波測距控制源程序:采用AT89S52 12mh?晶振顯示緩沖單元在4oh43H,使用內(nèi)存 軸H、45H、46H用于計(jì)算距離用于標(biāo)志脈沖輸出端口中斷入口程序卡ORG 0000HLJMP STARTORG 0003HLJMP PINTOORG OOOBHLJMP INTTOORG 0013HRETIORG 001BH

10、LJMP INTT1ORG 0023HRETIORG 002BHRETI主程序*S : MOV SR#4FH為顯示數(shù)據(jù)存放單元(40為最高位)MOV R7,#0BHCLEARD1SP:MOV ®R0, OOHNC RODJNZ R7.CLEARDISPMOV 2OH¥OQHMOV 1MOD, 21H 時器MOV TH0,#00HMOV lltHOOHMOV TH1 岸0F2HMOV 1L1J0F2HMOV PO用OFFHMOV PLWFHMOV P2.#0FFHMOV P玄鮒FFHMOV R4.#04HSETB PXOSETB ETOSTEB EACLR OOHSETB T

11、ROSTART1: LCALL DISPLAYJNB OOH. START 1CLR EALCALL WORKSETB EACLR OOHSETB TROMOVR1 #6 斗 HLOOP:LCALL DISPLAYDJNZ R2. LOOPSJW START 1:T1為8位自動重裝模式,TO為16位定初值初值;超聲波脈沖個數(shù)控制(為賦值的一半);開啟測距定時器:收到反射信號時標(biāo)志位為1;計(jì)算距離子程序;重新開啟測距定時器;測量間隔控制(約00=400ms)*中斷程序*:TO中斷,65ms中斷一次NTT0:CLREACLRTROMOVTHO, #00HMOVTLO, #00HSETBET1SET

12、BEA來回時間SETBTRO:啟動計(jì)時器TO,用以計(jì)算超聲波SETBTRI:開啟發(fā)超聲波用定時器T1OUT:RETI中斷,發(fā)超聲波用NTT1:CPLVOUTDJNZR4.RETIOUTCLRTRI7超聲波發(fā)送完畢,關(guān)T1CLRET1MOVR404HSETBEXO開啟接收回波中斷RETIOUT:RETI;外中斷0,收到回波時進(jìn)入PINTO:CLRTRO;關(guān)計(jì)數(shù)器CLRTRICLRET1CLREACLREXOMOV44H, TLO;將計(jì)數(shù)值移入處理單元MOV45H THOSETBOOH;接收成功標(biāo)志RETI*延時程序iDL1MS:MOVR6J14HDL1:MOVR7+19HDL2:DJNZR6.

13、DL2DJNZ R6, DL1RET*顯示程序*:40H為最高位,為最低位,先掃描高位DISPLAY:MOVR140H:GMOVR50F7H;GPLAY:MOVA. R5MOVPO. #OFFHMOVP2.AMOV扎R1MOVDPTR. TABMOVC A邂A-DPTR MOV PO.ALCALL DLIMS INC R1MOV A.R5,JNB ACC.O. ENDOl;T;G RR AMOV R5,A AM PLAYENDOUT; MOV PZ#0FFHMOV 嗆 #0FFHRETTAB; DBO C0H,0F9H10A4E0B0E99H52H;10BFH;共陽數(shù)碼管0、2.3、4*5,6

14、工8.9、不亮,A* *距離計(jì)算程序(=計(jì)算值xm近似WORK:PUSHACCPUSHPSWPUSHBMOVPSW:#18HMOVR3.45HMOVRZ 44HMOVRL#00DMOVRO.粗7DLCALL MIO Y2MOVR3. #03HMOVRZ #0E8HLCALL DIV4BY2LCALL DR4BY2MOV40H. R4MOVA. 40HJNZJJOMOV最咼位為0,不點(diǎn)亮JJO:MOVA ROMOV RIAMOV A R1MOV R5 AMOV IE MODMOV R2100DLCALL DIV4BY2MOV 41H.R4MOV A.41HJNZ JJ1;此高位為0,先看最高位是

15、否為不亮SUBBJJ1:JNZJJ1MOV41H. #0AHMOVA. ROMOVR4.AMOVA.R1MOVR5,AMOV& MODMOV也 10D最咼位不亮,次咼位也不亮JJ2:LCALL DIT4BY2MOV42H. R4MOVA 42HJNZJJ2MOVA.41H:次高位為o,SUBBA.和AHJNZJJ2MOV42H.和AH;次咼位不亮,MOV43H ROPOPBPOPPSWPOPACCRET*兩字節(jié)無符號數(shù)乘法程序先看次高位是否為不亮次咼位也不亮NWL2BY2;CLR AMOV R7,AMOV R6,AMOV R5.AMOV R4.AMULL00P1:MOV 46H10HC

16、LR CMOV A?R4RLC AMOV RIAMOV A. R5RLC AMOV R5,AMOV A.R6RLC AMOV R6,AMOV A.R7RLC AMOV R7.AMOV A. RORLC AMOV RO, AMOV A.R1 RLC A MOV Rl-A JNC NWLLOOP2 MOV A.R4 ADD a?R2 MOV RIA MOV A.R5 ADDC A. R3 MOV R5.A MOV A.R6 ADDC A.呦 OH MOV R6-A MOV A.R7 ADDC亠呦OH MOV RMULLOOP2: DJNZ 46H. MULLOOP1RET*四字節(jié):兩字節(jié)無符號數(shù)除

17、法程序iDIV4BY2:MOV 46比世OHMOV RlUOOH MOV RlOOH DIVLOOPI: MOV A.R4RLC AMOV R4,A MOV A.R5 RLC AMOV R5,A MOV A?R6 RLC AMOV R6,A MOV A.R7 RLC A MOV R7,A MOV A. RO RLC A MOV RO. A MOV A.R1 RLC A MOV RLA CLR C MOV A. RO SUBB A.R2 MOV B.aDIVLOO 巴:-I.-I.-I.I.-I.-I.A.R1A. R3 DRT00P2RO.BRl.AC46H. DIVLOOP1A.R4AR4.

18、AA. R5 AR5.AA. R6AR6.AA. R7 AR7.AEXD 附C51程序 INCLUDE <REG5kH> WEFINEUCHAR UNSIGNED CHAR DEFINE I'INT UNSIGNED IN'T WEFINEULONG UNSIGNED LONG EXTERN VOID CS_T(VOID); EXTERN VOID DELAWINT); EXTERN VOID DISPLAY! UCHAR*); /DATA UCHAR DISPLAY(UCILR*); DATAUCHARTESTOK; VOID MAIN (VOID)<DAT

19、A UCHAR D1SPRAM5;DATA UINTI;DATA ULONG TIME;P0=0XFF;P2=0XFF;TMOD=OX11;IE二0X80;WHILE C'S TO;DELAY( 1);TESTOK=0;EXO=1;ETO= I;WHILE(! TESTOK) DISPLAY(DISPRAM);IF(1=TESTOK)TIME=TH0;TIME=(TIME«8)| TLO;TIME*=172;TIME/= 10000;DISPRAM0F(UCHAR) (TIME% 10);TIME/=10;DISPR AM 1 F(UCH AR) (TIME% 10);TIM

20、E/=10;DISPRAM2=(UCHAR) (TIME% 10);DISPRAM=(UCHAR) (TIME/10);IF (0=DISPRAM3) DISPRAM3=17; ELSEDISPRAM0=16;DISPR AM1=16;DISPRAM2=16;DISPRAM3=16;FOR (I=0;I<300;I+) DISPLAY(DISPRAM);VOID CS_R(VOID) INTERRUPT 0TR0=0;ET0=0;EX0=0;TESTOK=1;VOID OVERTIME(VOID) INTERRUPT 1EX0=0;TR0=0;ET0=0;TESTOK=2;NAME CS

21、_T?PR?CS_T?CS_T SEGMENT CODEPUBLIC CS TRSEG?PR?CS_T?CS_TCS_T:PUSHACCMOVTHO. #00HMOVTLO. #00HMOVA, #4DSETBTROCS_T1:CPLNOPNOPNOPNOPNOPNOPNOPNOPNOPNOPpl.ODJNZA CCCS_T1POPACCRET9ENDNAMEDELAY?PR?_DELAY?DELAY SEGMENTCODEPUBLIC_DELAYRSEG?PR?_DELAY?DELAY一DELAY:PUSH ACC MOVA.R7 JZ DELA1 INC R6DELAI:MOV R5.#50DDJNZ R5, $DJNZ R7.DELA 1DJNZR6.D

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論