【51单片机STC89C52】HC-SR04超声波模块测距

一、HC-SR04超声波模块

1、简介

HC-SR04 超声波测距模块可提供 2cm-400cm的非接触式距离感测功能,测距精度可达高达3mm;模块包括超声波发射器、接收器与控制电路。
基本工作原理:
(1)采用 IO 口 TRIG 触发测距,给最少 10us 的高电平信呈。
(2)模块自动发送 8 个 40khz 的方波,自动检测是否有信号返回;
(3)有信号返回,通过 IO 口 ECHO 输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2;

让它发送波:Trig端口至少10us的高电平

开始发送波:Echo信号由低电平跳转到高电平

接收返回波:Echo信号由高电平跳转回低电平

计算时间    :Echo引脚维持高电平的时间!

                      开始发送波,启动定时器,接收到返回波,停止计时器

计算距离    :测试距离=(高电平时间*声速(340m/s))/2

接线参考:
TRIG—>P1.5
ECHO—>P1.6

2、超声波的时序图

二、定时器计算时间

将TH0和TL0拼接为16进制,需要将TH0左移8位

十进制2左移1位,变成20,相当于乘以10
二禁止1左移1位,变成10(2),相当于乘以2。左移8位,乘以2的8次方=256

//4. 计算时间
		time = (TH0 * 256 + TL0)*1.085;//us为单位

三、编程实现

#include "reg52.h"

//距离小于10cm,D5亮,D6灭,反之相反现象

sbit D5 = P3^7;//根据原理图(电路图),设备变量led1指向P3组IO口的第7口
sbit D6 = P3^6;//根据原理图(电路图),设备变量led2指向P3组IO口的第6口
sbit Trig = P1^5;
sbit Echo = P1^6;

void Delay10us()		//@11.0592MHz
{
	unsigned char i;

	i = 2;
	while (--i);
}

void Time0Init()
{	
	TMOD &= 0xF0;		//设置定时器模式
	TMOD |= 0x01;
	TH0 = 0;
	TL0 = 0;
	//设置定时器0工作模式1,初始值设定0开始数数,不着急启动定时器
}
/*
十进制2左移1位,变成20。相当于乘以10
二禁止1左移1位,变成10(2)。相当于乘以2,左移8位,乘以2的8次方=256;*/

void startHC()
{
	Trig = 0;
	Trig = 1;
	Delay10us();
	Trig = 0;
}
void main()
{
	double time;
	double dis;
	
	Time0Init();
	
	while(1){
		//1. 让它发送波:给Trig端口至少10us的高电平
		startHC();
		//2. 开始发送波:Echo信号由低电平跳转到高电平
		while(Echo == 0);
		//   开始发送波,启动定时器
		TR0 = 1;
		//3. 接收返回波:Echo信号由高电平跳转回低电平
		while(Echo == 1);
		//   接收返回波,停止定时器
		TR0 = 0;
		//4. 计算时间
		time = (TH0 * 256 + TL0)*1.085;//us为单位
		//5. 距离 = 速度 (340m/s)* 时间/2
		dis = time * 0.017;
		if(dis < 10){
				D5 = 0;
				D6 = 1;
		}else{
				D5 = 1;
				D6 = 0;
		}
		//定时器数据清零,以便下一次测距
		TH0 = 0;
		TL0 = 0;
	}
}

  • 27
    点赞
  • 213
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
### 回答1: 51单片机hc-sr04超声波测距模块是一种常用的测距设备,它可以通过发射超声波并接收回波来测量物体与模块之间的距离。该模块具有测量精度高、测距范围广、响应速度快等优点,广泛应用于智能车、机器人、安防监控等领域。 ### 回答2: 51单片机HC-SR04超声波测距模块是一种常用的距离测量工具,利用超声波技术进行非接触式的测量,实现对目标物体距离的快速、准确、稳定的测量。 该模块超声波发射器、接收器、控制电路以及工作指示灯等部分组成,非常简单易懂,用户只需通过单片机模块进行编程即可实现距离测量等应用。 在实际应用中,51单片机HC-SR04超声波测距模块可以广泛用于智能机器人、智能车、无人机等电子设备中,实现对目标物体的避障、追踪等功能。 其优势在于测量范围广,可测量的距离范围从2cm到4m不等,具有超低功耗、高精度、抗干扰、体积小等特点,非常适合于各种小型智能电子设备的距离测量需求。 总之,51单片机HC-SR04超声波测距模块是一款非常优秀的距离测量工具,具有广泛的应用前景和潜力,是电子工程师们的首选之一。 ### 回答3: HC-SR04超声波测距模块是一款常见的电子元器件,常用于各种自动化控制、智能机器人和测量等领域。该模块使用超声波信号进行距离测量,具有简单易用、测量精度高等特点,深受广大电子爱好者的喜爱。 HC-SR04超声波测距模块的工作原理是利用超声波在空气中传播的特性来测量物体到模块之间的距离。模块发送超声波信号,当信号遇到障碍物时会被反射回来,模块接收到反射回来的信号,并计算出信号的往返时间,从而得出距离。该模块测量精度高,最大测量距离达到4米,同时还支持多种距离单位、具有灵活的电源和数据接口等特点。 在使用HC-SR04超声波测距模块时,需要注意以下事项:首先,模块需要接入适当的电源,确保信号和电源的稳定;其次,需要正确接线,遵循模块的引脚说明书;最后,还需要注意测量时的环境因素,如温度、湿度等可能影响超声波传输的因素。 综上所述,HC-SR04超声波测距模块是一款实用性强、精度高的电子元器件,可广泛应用于各种领域。对于想要进行距离测量的爱好者和工程师来说,该模块是一款不可多得的好选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值