新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機的超聲波測距儀LED顯示電路的設計

        基于單片機的超聲波測距儀LED顯示電路的設計

        作者: 時間:2010-04-02 來源:網絡 收藏

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

        INTT0: CLR EA

        CLR TR0

        MOV TH0,#00H

        MOV TL0,#00H

        SETB ET1

        SETB EA

        SETB TR0

        SETB TR1

        OUT : RET;T1中斷,發超聲波用:

        INTT1 : CPL VOUT

        DJNZ R4,RETIOUT

        CLR TR1

        CLR ET1

        MOV R4,#04H

        SETB EX0

        RETIOUT:RETI;外中斷0,收到回波時進入

        PINT0: CLR TR0

        CLR TR1

        CLR ET1

        CLR EA

        CLR EX0

        MOV 44H,TL0

        MOV 45H,TH0

        SETB 00H

        RETI

        3.3.4 系統的軟硬件的調試

        超聲波測距儀的制作和調試都比較簡單,其中超聲波發射和接收采用模塊直接實現。

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

        軟件的調試程序見附錄三.

        4 總結和體會

        由于時間和其它客觀上的原因,此次設計沒有成功做出實物。但是對設計有一個很好的理論基礎。設計的最終結果是使超聲波測距儀能夠產生超聲波,實現超聲波的發送與接收,從而實現利用超聲波方法測量物體間的距離。以數字的形式顯示測量距離。

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

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

        超聲波發射電路主要由反相器4069和超聲波發射換能器FSQ構成,單片機P1.0端口輸出的40kHz的方波信號一路經一級反向器后送到超聲波換能器的一個電極,另一路經兩級反向器后送到超聲波換能器的另一個電極,用這種推換形式將方波信號加到超聲波換能器的兩端,可以提高超聲波的發射強度。輸出端采兩個反向器并聯,用以提高驅動能力。超聲波換能器內部有兩個壓電晶片和一個換能板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片會發生共振,并帶動共振板振動產生超聲波,這時它就是一個超聲波發生器;反之,如果兩電極問未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉換為電信號,這時它就成為超聲波接收換能器。超聲波發射換能器與接收換能器在結構上稍有不同,使用時應分清器件上的標志。

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

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

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

        附錄一:電氣原理圖

        基于單片機設計的超聲波測距儀 - 雕★{天★ - 但得柔情消b猓此生常伴梳y

        附錄二:程序調試


        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中斷,發超聲波用:

        INTT1 : CPL VOUT

        DJNZ R4,RETIOUT

        CLR TR1

        CLR ET1

        MOV R4,#04H

        SETB EX0

        RETIOUT:RETI

        ;外中斷0,收到回波時進入

        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,-

        ;延時程序:

        DL1MS: MOV R6,#14H

        DL1: MOV R7,#19H

        DL2: DJNZ R7,DL2

        DJNZ R6,DL1

        RET

        51單片機相關文章:51單片機教程


        晶振相關文章:晶振原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁阳县| 定南县| 牡丹江市| 蓬安县| 罗田县| 九龙城区| 阳谷县| 大邑县| 蒲城县| 保靖县| 赤水市| 瑞丽市| 阜城县| 乌拉特前旗| 留坝县| 茂名市| 叶城县| 大埔县| 清镇市| 天柱县| 三台县| 潍坊市| 来凤县| 内黄县| 东辽县| 西乌珠穆沁旗| 吉水县| 繁昌县| 从江县| 新干县| 且末县| 即墨市| 托克逊县| 甘孜县| 南陵县| 黄冈市| 秦安县| 扎兰屯市| 会昌县| 襄樊市| 汕尾市|