在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

51單片機應用_超聲波&定時器

天才小貍花 ? 2022-10-07 18:06 ? 次閱讀

前言

通過利用超聲波在空氣中的傳播速度為已知,測量聲波在發射后遇到障礙物反射回來的時間,根據發射和接收的時間差計算出發射點到障礙物的實際距離。

HC-SR04模塊

**HC-SR04超聲波模塊常用于機器人避障、物體測距、液位檢測、公共安防、停車場檢測等場所。HC-SR04超聲波模塊主要是由兩個通用的壓電陶瓷超聲傳感器,并加外圍信號處理電路構成的。

參數:

Operating Voltage Dc5V
Operating Current 15ma
Operating Frequency 40KHz
Max Range 4m
Min Range 2cm
Ranging Accuracy 3mm
Measuring Angle 15°
Trigger Input Signal 10μS TTL脈沖
Dimension 45 x 20 x 15

控制流程

  1. 通過Trig引腳發一個 10US 以上的高電平,模塊自動發送 8 個 40khz 的方波,自動檢測是否有信號返回;
  2. 有信號返回時,Echo有高電平輸出,高電平時間即是超聲波往返時間。
  3. 測試距離 = (高電平時間 *聲速)/2

在這里插入圖片描述

通過單片機的定時器獲得計時功能來獲得檢測距離,開啟定時器后TH和TL寄存器數值會自動增加。直到關閉定時器,再讀出其中的數值即可計算距離。

/*開始計時*/
     while (!ECHO);//當ECHO為高電平的時候,跳出循環,并開始記錄時間
     TR0 = 1;//啟動定時器0,開啟計時
     while (ECHO);//ECHO不為0,即脈沖返回結束,計時結束
     TR0 = 0;//停止計時,此時的ECHO的高電平時間就是     超聲波發出到重新返回接收所用的時間

代碼

#ifndef _HC_SR04_H_
 #define _HC_SR04_H_
 #include //提供_nop_();/*供HC-SR04提供啟動時間*/
 ?
 /*位定義*/
 sbit TRIG = P1 ^ 0;
 sbit ECHO = P1 ^ 1;
 ?
 /*全局變量定義,超出距離標志位為1,不超出為0*/
 bit HC_SR04_flag;
 ?
 /*函數聲明*/
 void HC_SR04_Init(void);//初始化T0定時器,用于HC_SR04
 ?
 unsigned int HC_SR04(void);//返回距離
 ?
 #endif
#include "HC_SR04.h"
 ?
 /*******************************************************************************
 ** 函數名稱: HC_SR04_Init
 ** 功能描述: 初始化定時器0,用以記錄從發射到返回的時間Time
 ** 參數說明: void
 ** 返回說明: void
 ** 創建人員: Main
 ** 創建日期: 2020-06-01
 **------------------------------------------------------------------------------
 ** 修改人員:
 ** 修改日期:
 ** 修改描述:
 **------------------------------------------------------------------------------
 ********************************************************************************/
 void HC_SR04_Init(void)
 {
     TMOD |= 0x01;
 ?
     TH0 = 0;
     TL0 = 0;
     ET0 = 1;             //允許T0中斷,可關閉,只有特別大的才開
     EA = 1;
 ?
     TRIG = 0;           //先使啟動端置低,等待高電平啟動
 }
 ?
 ?
 /*******************************************************************************
 ** 函數名稱: HC_SR04
 ** 功能描述: 返回測量距離
 ** 參數說明: void
 ** 返回說明: 測量距離,單位(cm)
 ** 創建人員: Main
 ** 創建日期: 2020-12-22
 **------------------------------------------------------------------------------
 ** 修改人員: Main
 ** 修改日期: 
 ** 修改描述: 
 **------------------------------------------------------------------------------
 ********************************************************************************/
 unsigned int HC_SR04(void)
 {
     unsigned int distance;//用于記錄測得的距離
     unsigned int time;//用于記錄超聲波發出到重新返回接收所用的時間
 ?
     /*啟動HC_SR04*/
     TRIG = 1;//升高電平,打開觸發信號
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     _nop_();
     TRIG = 0;
 ?
     /*開始計時*/
     while (!ECHO);//當ECHO為高電平的時候,跳出循環,并開始記錄時間,當為低電平時卡住不動
 ?
     TR0 = 1;//啟動定時器0,開啟計時
     while (ECHO);//ECHO不為0,即脈沖返回結束,計時結束
     TR0 = 0;//停止計時,此時的ECHO的高電平時間就是     超聲波發出到重新返回接收所用的時間
 ?
     /*計算時間及距離*/
     time = (TH0 * 256 + TL0) * 1.29;        //可改變此數據來提高精確度
     distance = (time * 0.034) / 2;          //單位是cm,0.34是mm
 ?
 ?
     TH0 = 0;                                //清零,進行下一次測距
     TL0 = 0;
 ?
     //返回距離
     return distance;
 }
 ?
 /*******************************************************************************
 ** 函數名稱: T0_Time_Sr04
 ** 功能描述: 超出測量距離的異常
 ** 參數說明: None
 ** 返回說明: void
 ** 創建人員: Main
 ** 創建日期: 
 **------------------------------------------------------------------------------
 ** 修改人員:
 ** 修改日期:
 ** 修改描述:
 **------------------------------------------------------------------------------
 ********************************************************************************/
 void T0_Time_Sr04() interrupt 1
 {
     HC_SR04_flag = 1;
     //TI=1;
     //printf("超出距離");
     //TI=0;
 }
 ?
 ?
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6065

    文章

    44946

    瀏覽量

    648282
  • 超聲波
    +關注

    關注

    63

    文章

    3116

    瀏覽量

    140034
  • 51單片機
    +關注

    關注

    277

    文章

    5710

    瀏覽量

    126871
  • 定時器
    +關注

    關注

    23

    文章

    3297

    瀏覽量

    117461
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    單片機&超聲波探傷儀

    有能和32單片機連接的超聲波探傷傳感的具體模塊嗎?這種傳感能夠測高壓線內部的缺陷。要是沒有,自己做一個得話,如何實現?
    發表于 10-10 09:31

    基于51單片機超聲波測距系統

    AT89C2051。采用12MHz高精度的晶振,以獲得較穩定時鐘頻率,減小測量誤差。單片機用P3.5端口輸出超聲波換能器所需的40kHz的方波信號,P3.6端口監測超聲波接收電路輸出的
    發表于 03-25 10:21

    基于SLH89F5162的單片機超聲波測距設計

    方案標題:基于SLH89F5162的單片機超聲波測距設計方案概述:本設計旨在設計一種一種基于單片機實時語音播報,帶有LED數碼顯示功能的脈沖反射式
    發表于 10-18 14:16

    超聲波單片機超聲波單片機超聲波單片機超聲波單片機超聲波單片機超聲波

    單片機超聲波單片機超聲波單片機超聲波單片機
    發表于 04-14 23:51

    51單片機超聲波控制舵機轉向的創意制作資料

    51單片機&超聲波控制舵機轉向的創意制作,內容附實驗圖以及實用的材料清單
    發表于 09-26 07:04

    51單片機計數定時器的區別

    電子專業單片機相關知識學習教材資料——51單片機計數
    發表于 05-12 10:31 ?0次下載

    51單片機超聲波測距仿真與分析

    51單片機超聲波測距仿真與分析
    發表于 09-04 08:49 ?30次下載

    51單片機驅動超聲波測距模塊

    51單片機驅動超聲波測距模塊(單片機最小系統)-使用51單片機驅動
    發表于 07-22 10:01 ?61次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b>驅動<b class='flag-5'>超聲波</b>測距模塊

    51單片機超聲波測距(數碼管顯示)

    51單片機超聲波測距(數碼管顯示)程序/* 超聲波模塊的TRIG管腳接在單片機的P20口,ECHO管腳接在
    發表于 11-12 15:06 ?7次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>超聲波</b>測距(數碼管顯示)

    51單片機定時器應用】定時器計數、定時器中斷函數、while(1)三者之間是如何協調、工作?

    51單片機程序,使用定時器時,定時器計數、定時器中斷函數、while(1)循環三者之間如何協調好整個流程?【
    發表于 11-20 18:51 ?12次下載
    【<b class='flag-5'>51</b><b class='flag-5'>單片機</b>—<b class='flag-5'>定時器</b>應用】<b class='flag-5'>定時器</b>計數、<b class='flag-5'>定時器</b>中斷函數、while(1)三者之間是如何協調、工作?

    51單片機定時器、串口、中斷

    文章目錄MCS-51功能單元一、定時器&amp;amp;計數二、并行口&amp;
    發表于 11-21 10:36 ?12次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>、串口、中斷

    51單片機定時器及其應用(3)(測量脈沖頻率)

    51單片機定時器及其應用(3)(測量脈沖頻率)&amp;nbsp;&amp;nbsp;&amp;
    發表于 11-23 16:20 ?7次下載
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>及其應用(3)(測量脈沖頻率)

    求助51單片機超聲波測距

    **自己暑假搞了搞單片機,但是被困在了oled不顯示我測的實時數據,求幫忙**(stc89c52rc芯片,hc-sr04超聲波測距模塊)代碼如下:`#include &amp;lt
    發表于 11-23 18:21 ?0次下載
    求助<b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>超聲波</b>測距

    單片機高級系列丨超聲波測距(LCD1602顯示)

    單片機高級系列丨超聲波測距(LCD1602顯示)主程序#include&amp;lt;reg51.h&;gt;#include&amp
    發表于 11-26 14:36 ?12次下載
    <b class='flag-5'>單片機</b>高級系列丨<b class='flag-5'>超聲波</b>測距(LCD1602顯示)

    單片機高級系列丨超聲波測距(數碼管顯示)

    單片機高級系列丨超聲波測距(數碼管顯示)超聲波模塊的TRIG管腳接在單片機的P20口,ECHO管腳接在單片機的P21口 其他的電源管腳接在
    發表于 11-26 14:51 ?24次下載
    <b class='flag-5'>單片機</b>高級系列丨<b class='flag-5'>超聲波</b>測距(數碼管顯示)
    主站蜘蛛池模板: 欧美一级视频免费看 | 免费人成网站线观看合集 | 九九热在线免费观看 | 男女交性永久免费视频播放 | 色多多免费观看 | 丁香5月婷婷 | 四虎永久在线精品视频免费观看 | 日本三级免费观看 | 亚洲成网777777国产精品 | 又大又粗又爽黄毛片 | 人人爱爱人人 | 综合欧美一区二区三区 | 夜间视频在线观看 | 高清激情小视频在线观看 | 甘婷婷一级毛片免费看 | 天天躁狠狠躁狠狠躁夜夜躁 | 啪啪.com| 色.com| 手机看片1024在线观看 | 亚洲视频www| 三级理论手机在线观看视频 | 午夜精| 久久99热精品这里久久精品 | www在线观看 | 午夜黄页网站在线播放 | 亚洲dv| 国产99久9在线视频 国产99久久九九精品免费 | 五月天婷婷在线视频国产在线 | 久久久精品波多野结衣 | 中国毛茸茸bbxx | 国产拍拍1000部ww | 色www视频永久免费 色www视频永久免费软件 | 色综合色综合色综合网址 | 日本xxxxx黄区免费看动漫 | 在线观看a网站 | 欧美电影一区二区三区 | 苍井优一级毛片免费观看 | 激情综合五月网 | 91久久婷婷国产综合精品青草 | 一卡二卡≡卡四卡亚洲高清 | yy6080亚洲半夜理论一级毛片 |