新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的超聲波測距儀LED顯示電路的設(shè)計(jì)

基于51單片機(jī)的超聲波測距儀LED顯示電路的設(shè)計(jì)

作者: 時(shí)間:2011-11-29 來源:網(wǎng)絡(luò) 收藏

主程序利用外中斷0檢測返回超聲波信號,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷程序。進(jìn)入中斷后就立即關(guān)閉計(jì)時(shí)器T0停止計(jì)時(shí),并將測距成功標(biāo)志字賦值1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測到超聲波返回信號,則定時(shí)器T0溢出中斷將外中斷0關(guān)閉,并將測距成功標(biāo)志字賦值2以表示此次測距不成功。 前方測距電路的輸出端接單片機(jī)INT0端口,中斷優(yōu)先級最高,左、右測距電路的輸出通過與門IC3A的輸出接單片機(jī)INT1端口,同時(shí)單片機(jī)P1.3和P1.4接到IC3A的輸入端,中斷源的識別由程序查詢來處理,中斷優(yōu)先級為先右后左。部分源程序如下:

INTT0: CLR EA

CLR TR0

MOV TH0,#00H

MOV TL0,#00H

SETB ET1

SETB EA

SETB TR0

SETB TR1

OUT : RET;T1中斷,發(fā)超聲波用:

INTT1 : CPL VOUT

DJNZ R4,RETIOUT

CLR TR1

CLR ET1

MOV R4,#04H

SETB EX0

RETIOUT:RETI;外中斷0,收到回波時(shí)進(jìn)入

PINT0: CLR TR0

CLR TR1

CLR ET1

CLR EA

CLR EX0

MOV 44H,TL0

MOV 45H,TH0

SETB 00H

RETI

3.3.4 系統(tǒng)的軟硬件的調(diào)試

的制作和調(diào)試都比較簡單,其中超聲波發(fā)射和接收采用模塊直接實(shí)現(xiàn)。

硬件電路制作完成并調(diào)試好后,便可將程序編譯好下載到單片機(jī)試運(yùn)行。根據(jù)實(shí)際情況可以修改超聲波發(fā)生子程序每次發(fā)送的脈沖寬度和兩次測量的間隔時(shí)間,以適應(yīng)不同距離的測量需要。根據(jù)所設(shè)計(jì)的電路參數(shù)和程序,測距儀能測的范圍為0.07~5.5m,測距儀最大誤差不超過1cm。系統(tǒng)調(diào)試完后應(yīng)對測量誤差和重復(fù)一致性進(jìn)行多次實(shí)驗(yàn)分析,不斷優(yōu)化系統(tǒng)使其達(dá)到實(shí)際使用的測量要求。

軟件的調(diào)試程序見附錄三.

4 總結(jié)和體會(huì)

由于時(shí)間和其它客觀上的原因,此次設(shè)計(jì)沒有成功做出實(shí)物。但是對設(shè)計(jì)有一個(gè)很好的理論基礎(chǔ)。設(shè)計(jì)的最終結(jié)果是使超能夠產(chǎn)生超聲波,實(shí)現(xiàn)超聲波的發(fā)送與接收,從而實(shí)現(xiàn)利用超聲波方法測量物體間的距離。以數(shù)字的形式顯示測量距離。

超聲波測距的原理是利用超聲波的發(fā)射和接受,根據(jù)超聲波傳播的時(shí)間來計(jì)算出傳播距離。實(shí)用的測距方法有兩種,一種是在被測距離的兩端,一端發(fā)射,另一端接收的直接波方式,適用于身高計(jì);一種是發(fā)射波被物體反射回來后接收的反射波方式,適用于測距儀。此次設(shè)計(jì)采用反射波方式。

超聲波測距儀硬件電路的設(shè)計(jì)主要包括單片機(jī)系統(tǒng)及顯示電路、超聲波發(fā)射電路和超聲波檢測接收電路三部分。單片機(jī)采用AT89S51或其兼容系列。采用12MHz高精度的晶振,以獲得較穩(wěn)定時(shí)鐘頻率,減小測量誤差。單片機(jī)用P1.0端口輸出超聲波換能器所需的40kHz的方波信號,利用外中斷0口監(jiān)測超聲波接收電路輸出的返回信號。顯示電路采用簡單實(shí)用的4個(gè)七段共陽數(shù)碼管組成動(dòng)態(tài)掃描電路 。

超聲波發(fā)射電路主要由反相器4069和超聲波發(fā)射換能器FSQ構(gòu)成,單片機(jī)P1.0端口輸出的40kHz的方波信號一路經(jīng)一級反向器后送到超聲波換能器的一個(gè)電極,另一路經(jīng)兩級反向器后送到超聲波換能器的另一個(gè)電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發(fā)射強(qiáng)度。輸出端采兩個(gè)反向器并聯(lián),用以提高驅(qū)動(dòng)能力。超聲波換能器內(nèi)部有兩個(gè)壓電晶片和一個(gè)換能板。當(dāng)它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng)產(chǎn)生超聲波,這時(shí)它就是一個(gè)超聲波發(fā)生器;反之,如果兩電極問未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號,這時(shí)它就成為超聲波接收換能器。超聲波發(fā)射換能器與接收換能器在結(jié)構(gòu)上稍有不同,使用時(shí)應(yīng)分清器件上的標(biāo)志。

超聲波檢測接收電路主要是由集成電路CX20106A組成,它是一款紅外線檢波接收的專用芯片,常用于電視機(jī)紅外遙控接收器。考慮到紅外遙控常用的載波頻率38 kHz與測距的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測接收電路。實(shí)驗(yàn)證明用CX20106A接收超聲波(無信號時(shí)輸出高電平),具有很好的靈敏度和較強(qiáng)的抗干擾能力。適當(dāng)更改電容Cs的大小,可以改變接收電路的靈敏度和抗干擾能力。

在元件及調(diào)制方面,由于采用的電路使用了很多集成電路。外圍元件不是很多,所以調(diào)試不會(huì)太難。一般只要電路焊接無誤,稍加調(diào)試應(yīng)該會(huì)正常工作。電路中除集成電路外,對各電子元件也無特別要求。若能將超聲波接收電路用金屬殼屏蔽起來,則可提高抗干擾能力。

我要感謝孔老師,邵老師和陳老師在設(shè)計(jì)中對我給予的悉心指導(dǎo)和嚴(yán)格要求,同時(shí)也感謝本班同學(xué)在設(shè)計(jì)期間所給予我的幫助。在我論文寫作期間,各位同學(xué)給我提供了種種專業(yè)知識上的指導(dǎo),使我能夠這么順利的完成設(shè)計(jì)與制作,借此機(jī)會(huì),向您們表示由衷的感激。同時(shí)還要感謝系實(shí)驗(yàn)室在設(shè)計(jì)期間提供給我們優(yōu)越的實(shí)驗(yàn)條件。

附錄一:電氣原理圖

基于51單片機(jī)的超聲波測距儀LED顯示電路的設(shè)計(jì)

附錄二:程序調(diào)試


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

MOV R7,#0BH

CLEARDISP:MOV @R0, #00H

INC R0

DJNZ R7,CLEARDISP

MOV 20H, #00H

MOV TMOD,21H

MOV TH0, #00H

MOV TL0,00H

MOV TH1,0F2H

MOV TL1,0F2H

MOV P0, 0FFH

MOV P1, 0FFH

MOV P2, 0FFH

MOV P3, 0FFH

MOV R4, 04H

SETB PX0

SETB ET0

SETB EA

SETB TR0

START1: LCALL DISPLAY

JNB 00H,START1

CLR EA

LCALL WORK

SETB EA

CLR 00H

SETB TR0

MOV R2,#64H

LOOP: LCALL DISPLAY

DJNZ R2,LOOP

SJMP START1

INTT0: CLR EA

CLR TR0

MOV TH0,#00H

MOV TL0,#00H

SETB ET1

SETB EA

SETB TR0

SETB TR1

OUT : RET

;T1中斷,發(fā)超聲波用:

INTT1 : CPL VOUT

DJNZ R4,RETIOUT

CLR TR1

CLR ET1

MOV R4,#04H

SETB EX0

RETIOUT:RETI

;外中斷0,收到回波時(shí)進(jìn)入

PINT0: CLR TR0

CLR TR1

CLR ET1

CLR EA

CLR EX0

MOV 44H,TL0

MOV 45H,TH0

SETB 00H

RETI

;*****顯示程序:**********

DISPLAY:MOV R1, #40H;G

MOV R5,#0F7H;G

PLAY: MOV A,R5

MOV P0,#0FFH

MOV P2,A

MOV A,@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 PLAY

ENDOUT: MOV R2,#0FFH

MOV P0,#0FFH

RET

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH

; 共陽段碼管 "0","1","2","3","4","5","6","7","8","9","不亮","A","-"

;延時(shí)程序:

DL1MS: MOV R6,#14H

DL1: MOV R7,#19H

DL2: DJNZ R7,DL2

DJNZ R6,DL1

RET



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉