• HC-SR04超声波测距模块使用


    HC-SR04超声波测距模块

    HC-SR04超声波测距模块可提供2cm至400cm的非接触式距离感测功能,测距精度可达3mm;模块自身包括超声波发射器、接收器与控制电路。

     

     

     

     

     

                                                    实物正反两面图

    HC-SR04电气参数:

      HC-SR04工作原理及说明:

    1、 给Trig触发控制信号IO端口至少10us的高电平信号;

    2、 模块自动发送8个40khz的方波,并自动检测是否有信号返回;

    3、 有信号返回时,Echo回响信号输出端口输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间;

    4、 两次测距时间间隔最少在60ms以上,以防止发射信号对回响信号的影响;

                                                                超声波时序图

     单片机控制HC-SR04超声波测距说明:

     原理图中,单片机的P1.7口接HC-SR04的Trig端口,P1.6口接HC-SR04的Echo端口,超声波在传播时碰到障碍物即返回,HC-SR04模块收到回波信号后Echo口输出一个高电平,单片机检测到高电平后即启动计数器开始计数,直到单片机检测到Echo口变成低电平后结束计数,计数器的计数值乘以单片机计数周期就是超声波从发射到接收的往返时间,即距离S=v*t/2

    以下是实现代码:

     1 #include <OLED12864.H>
     2 #include <stdio.h>
     3 unsigned long record;
     4 unsigned int number_1;
     5 char Display[10];
     6 /*P17 HC-SR04触发信号输入,P16 HC-SR04回响信号输出*/
     7 void delay_10us(unsigned int i)//约延时10us
     8 {
     9     while(i--);    
    10 }
    11 //主函数
    12 void main(void)
    13 {    
    14       LCD_Init();//显示屏初始化
    15     while(1)
    16     {    
    17         TMOD=0x10;
    18         TH1=0x00;
    19         TL1=0x00;
    20         /*触发超声波测距*/
    21         P17=0;
    22         P17=1;
    23         delay_10us(2);
    24         P17 = 0;
    25         while (!P16)
    26         {
    27             TR1 = 0;
    28         }
    29         while (P16)
    30         {
    31             TR1 = 1; 
    32         }
    33         number_1=TH1*256+TL1;
    34         record =(unsigned long)(number_1*0.17+20);    
    35     }
    36 }

    来源:E小电

  • 相关阅读:
    redis 学习笔记
    导数据方法
    数据库常用操作
    zepto.js
    shopnc
    vue.js
    laravel
    mysql进阶学习
    Python基础------生成器表达式形式、面向过程编程、内置函数部分
    Python基础----生成器、三元表达式、列表生成式、生成器表达式
  • 原文地址:https://www.cnblogs.com/HBUdianxie/p/13287987.html
Copyright © 2020-2023  润新知