新聞中心

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

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

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

        3.2.3 發射電路

        壓電轉換器的功能:利用壓電晶體諧振工作。內部結構上圖所示,它有兩個壓電晶片和一個共振板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片將會發生共振,并帶動共振板振動產生,這時它就是一超聲波發生器;如沒加電壓,當共振板接受到超聲波時,將壓迫壓電振蕩器作振動,將機械能轉換為電信號,這時它就成為超聲波接受轉換器。超聲波發射轉換器與接受轉換器其結構稍有不同。

        壓電式超聲波換能器是利用壓電晶體的諧振來工作的。超聲波換能器內部有兩個壓電晶片和一個換能板。當它的兩極外加脈沖信號,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片會發生共振,并帶動共振板振動產生超聲波,這時它就是一個超聲波發生器;反之,如果兩電極問未外加電壓,當共振板接收到超聲波時,將壓迫壓電晶片作振動,將機械能轉換為電信號,這時它就成為超聲波接收換能器。超聲波發射換能器與接收換能器在結構上稍有不同,使用時應分清器件上的標志。本設計中發射器電路采用集成電路模塊不需考慮這些問題,主要是采用4069反相器在換能器兩端提供脈沖信號。其原理圖如圖3所示。

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

        3.2.4 超聲波檢測接收電路

        集成電路CX20106A是一款紅外線檢波接收的專用芯片,常用于電視機紅外遙控接收器??紤]到紅外遙控常用的載波頻率38 kHz與的超聲波頻率40 kHz較為接近,可以利用它制作超聲波檢測接收電路(如圖2-3)。實驗證明用CX20106A接收超聲波(無信號時輸出高電平),具有很好的靈敏度和較強的抗干擾能力。適當更改電容CS的大小,可以改變接收電路的靈敏度和抗干擾能力。此部分電路在集成芯片上。

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

        3.2.5 LED顯示電路

        根據設計要求并綜合各方面因素,可以采用AT89S51作為主控制器,用動態掃描法實現LED數字顯示,超聲波驅動信號用的定時器完成,顯示電路如下圖5

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

        3.3 系統軟件的設計

        本設計匯編語言編程,其軟件設計思路如下:

        3.3.1超聲波儀的算法設計

        超聲波的原理為超聲波發生器T在某一時刻發出一個超聲波信號,當這個超聲波遇到被測物體后反射回來,就被超聲波接收器R所接收到。這樣只要計算出從發出超聲波信號到接收到返回信號所用的時間,就可算出超聲波發生器與反射物體的距離。距離的計算公式為:

        d=s/2=(c×t)/2 (1)

        其中,d為被測物與測距儀的距離,s為聲波的來回的路程,c為聲速,t為聲波來回所用的時間。 在啟動發射電路的同時啟動內部的定時器T0,利用定時器的計數功能記錄超聲波發射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產生一個負跳變,在INT0或INT1端產生一個中斷請求信號,單片機響應外部中斷請求,執行外部中斷服務子程序,讀取時間差,計算距離。其部分源程序如下:

        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 DIV4BY2

        MOV 40H,R4

        MOV A,40H

        JNZ JJ0

        MOV 40H,#0AH

        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

        SUBB A,#0AH

        JNZ JJ1

        MOV 41H,#0AH

        JJ1: MOV A,R0

        MOV R4,A

        MOV A,R1

        MOV R5,A

        MOV R3,#00D

        MOV R2,10D

        LCALL DIV4BY2

        MOV 42H,R4

        JNZ JJ2

        MOV A,41H

        SUBB A,#0AH

        JNZ JJ2

        MOV 42H,#0AH

        JJ2: MOV 43H,R0

        POP B

        POP PSW

        POP ACC

        RET

        3.3.2 主程序流程圖

        軟件分為兩部分,主程序和中斷服務程序,如圖3-1(a)(b) (c) 所示。主程序完成初始化工作、各路超聲波發射和接收順序的控制。

        定時中斷服務子程序完成三方向超聲波的輪流發射,外部中斷服務子程序主要完成時間值的讀取、距離計算、結果的輸出等工作。

        主程序首先是對系統環境初始化,設置定時器T0工作模式為16位定時計數器模式。置位總中斷允許位EA并給顯示端口P0和P1清0。然后調用超聲波發生子程序送出一個超聲波脈沖,為了避免超聲波從發射器直接傳送到接收器引起的直射波觸發,需要延時約0.1 ms(這也就是超聲波測距儀會有一個最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信號。由于采用的是12 MHz的晶 振,計數器每計一個數就是1μs,當主程序檢測到接收成功的標志位后,將計數器T0中的數(即超聲波來回所用的時間)按式(2)計算,即可得被測物體與測距儀之間的距離,設計時取20℃時的聲速為344 m/s則有:

        d=(c×t)/2=172T0/10000cm (2)

        其中,T0為計數器T0的計算值。

        測出距離后結果將以十進制BCD碼方式送往LED顯示約0.5s,然后再發超聲波脈沖重復測量過程。為了有利于程序結構化和容易計算出距離。

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

        3.3.3超聲波發生子程序和超聲波接收中斷程序

        超聲波發生子程序的作用是通過P1.0端口發送2個左右超聲波脈沖信號(頻率約40kHz的方波),脈沖寬度為12μs左右,同時把計數器T0打開進行計時。超聲波發生子程序較簡單,但要求程序運行準確,所以采用匯編語言編程。

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


        晶振相關文章:晶振原理


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五常市| 大连市| 岱山县| 从化市| 乌审旗| 沙湾县| 台湾省| 渭源县| 黄龙县| 元江| 昌宁县| 阜宁县| 若尔盖县| 梁河县| 宣化县| 剑阁县| 浑源县| 饶阳县| 镇巴县| 勐海县| 峡江县| 东莞市| 理塘县| 灌南县| 湖口县| 静乐县| 察隅县| 吴川市| 建德市| 南汇区| 秦皇岛市| 顺义区| 从江县| 荆门市| 神池县| 汝南县| 新和县| 陕西省| 延安市| 温宿县| 宜君县|