新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于單片機控制的超聲波測距報警系統

        基于單片機控制的超聲波測距報警系統

        作者: 時間:2012-05-24 來源:網絡 收藏

        0 引言

        超聲波具有定向性好、能量集中、在傳輸過程中衰減較小、反射能力較強等優點,超聲波傳感器可廣泛應用于非接觸式檢測方法,因而采用仿真技術進行

        目前國內的專用集成電路都是只有厘米級的測量準確度。通過分析誤差產生的原因,提高測量時間差到微秒級,以及用LM92 溫度傳感器進行聲波傳播速度的補償后,設計的高準確度超聲波測距儀能達到毫米級的測量準確度。

        1 超聲波測距基本原理

        如圖1 所示,使單片機可接收超聲波模塊輸出的距離信號,并對其進行合理的處理后,在顯示模塊上實時顯示超聲波模塊與障礙物的距離。

        基于單片機控制的超聲波測距報警系統

        圖1 系統連接示意

        單片機發出40 kHz 的方波信號,經放大后通過超聲波發射器輸出;超聲波接收器將接收到的超聲波信號經放大器放大,用鎖相環電路進行檢波處理后,啟動單片機中斷程序,測得時間為t.

        再通過軟件編程進行判別、計算,得出所測距離值并由LED 數碼管顯示,其原理框圖如圖2。

        基于單片機控制的超聲波測距報警系統

        圖2 超聲波測距儀原理框圖

        發射器發出的超聲波以速度v 在空氣中傳播,在到達被測物體時被反射返回,由接收器接收,其往返時間為t.由公式:測出的距離 L (m) = 常溫下的聲速340 (m/s)× 感應時間t (s) / 2,算出被測物體的距離。由于超聲波也是一種聲波,其聲速v 與溫度有關,如果溫度變化不大,則可認為聲速是基本不變的。如果測距準確度要求很高,則應通過溫度補償的方法加以修正。

        2 系統硬件設計

        2.1 超聲波測距原理

        單片機在 T0 時刻發射方波,同時啟動定時器開始計時,當收到回波后,產生一個負跳變到單片機中端口,單片機響應中斷程序,定時器停止計數。計算時間差,即可得到超聲波在介質中傳播的時間t ,由此便可計算出距離。其時序圖如圖3 所示。

        基于單片機控制的超聲波測距報警系統

        圖3 超聲波時序圖

        2.2 硬件電路

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

        2.3 各主要模塊的硬件

        STC89C51 芯片引腳與封裝如圖4 所示。

        基于單片機控制的超聲波測距報警系統

        圖4 STC89C51 引腳

        引腳功能說明:

        (1)VCC:電源電壓。

        (2)GND:接地。

        (3)RST:復位輸入。當振蕩器復位器件時,要保持RST 腳兩個機器周期的高電平時間。

        (4)/EA/VPP:當/EA 保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。

        (5)XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。

        (6)XTAL2:來自反向振蕩器的輸出。

        (7)P0 口:P0 口為一個8 位漏級開路雙向I/O 口,也即地址/ 數據總線復用口。作為輸出口用時,每腳可吸收8TTL 門電流。

        (8)P1 口:P1 口是一個內部提供上拉電阻的8 位雙向I/O 口,P1 口緩沖器能吸收或輸出4TTL門電流。

        (9)P2 口:P2 口為一個內部上拉電阻的8 位雙向I/O 口,P2 口緩沖器可吸收或輸出4 個TTL門電流,當P2 口被寫"1"時,其管腳被內部上拉電阻拉高,且作為輸入。

        (10)P3 口:P3 口管腳是8 個帶內部上拉電阻的雙向I/O 口,可吸收或輸出4 個TTL 門電流。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 桂阳县| 仙游县| 行唐县| 武平县| 北票市| 华蓥市| 门头沟区| 南城县| 巩义市| SHOW| 承德县| 西青区| 晋州市| 专栏| 榆社县| 昌江| 东乡族自治县| 南阳市| 常山县| 怀来县| 申扎县| 开平市| 新巴尔虎右旗| 兴安盟| 息烽县| 望江县| 年辖:市辖区| 古蔺县| 天镇县| 宁国市| 墨玉县| 丽水市| 岳阳市| 兰州市| 松江区| 鹤岗市| 启东市| 嘉善县| 绥芬河市| 日土县| 前郭尔|