zoukankan      html  css  js  c++  java
  • 超声波模块HC-SR04简介以及编程

    HC-SR04

    一、主要参数
    1:使用电压:DC—5V
    2:静态电流:小于2mA
    3:电平输出:高5V
    4:电平输出:底0V
    5:感应角度:不大于15度
    6:探测距离:2cm-450cm
    7:高精度 可达0.2cm
    二、工作原理
    1.采用IO口TRIG触发测距,给至少10us的高电平信号来启动模块。
    2.模块自动发送8个40khz的方波,自动检测是否有信号返回。
    3.如果有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。通过公式计算测试距离=(高电平时间*声速(340M/S))/2。

     

     

     

     


    三、运用超声波模块测距

     1 sbit RX=P2^0;
     2 sbit TX=P2^1;
     3 void delay()   //精确延时21us
     4 {
     5        _nop_(); 
     6        _nop_(); 
     7        _nop_(); 
     8        _nop_(); 
     9        _nop_(); 
    10        _nop_(); 
    11        _nop_(); 
    12        _nop_(); 
    13        _nop_(); 
    14        _nop_(); 
    15        _nop_(); 
    16        _nop_(); 
    17        _nop_(); 
    18        _nop_(); 
    19        _nop_(); 
    20        _nop_(); 
    21        _nop_();
    22        _nop_(); 
    23        _nop_(); 
    24        _nop_(); 
    25        _nop_();
    26 }
    27  
    28 viod init()  //对计数器初始化
    29 {
    30         TMOD=0x11;           //设T0为方式1,GATE=1;
    31         TH0=0;
    32         TL0=0;  
    33         // 只是单纯计数可以不用写后两句在不会溢出的情况下
    34         ET0=1;             //允许T0中断   
    35         EA=1;               //开启总中断
    36 }
    37  
    38 void Conut(void)  //计算到障碍物的距离
    39 {
    40       time=TH0*256+TL0;
    41       TH0=0;
    42       TL0=0;
    43       S= (long)(time*0.017);     //算出来是CM
    44 }
    45  
    46 void main()
    47 {
    48       while(1)
    49      {
    50           TX=1;
    51           delay();
    52           TX=0;
    53           while(!RX);        //当RX为零时等待
    54           TR0=1;                //开启计数
    55           while(RX);            //当RX为1计数并等待
    56           TR0=0;                //关闭计数
    57           Conut();            //计算
    58      }
    59 }

     

     

  • 相关阅读:
    HTML<head></head>中标签的含义
    axios发送post请求node服务器无法通过req.body获取参数
    Vue下URL地址栏参数改变却不能刷新界面
    Vue中img标签src属性绑定
    vue-cli 初始化项目时开发环境中的跨域问题
    【CODEVS2152】滑雪
    【NOIP2005】过河
    【CODEVS2776】寻找代表元
    【CodeVS1231】最优布线问题
    【CODEVS1073】家族
  • 原文地址:https://www.cnblogs.com/zhj868/p/12506536.html
Copyright © 2011-2022 走看看