当前位置: 首页 > news >正文

C51_HC-SR04超声波模块

文章目录

  • 一、HC-SR04
    • 1、电气参数
    • 2、引脚
  • 二、HC-SR04工作原理
    • 1、基本工作原理
    • 2、超声波时序图
    • 3、原理图
  • 三、代码实例
    • 1、UT.h
    • 2、UT.c
    • 3、main.c
    • 4、实例现象

一、HC-SR04

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

1、电气参数

工作电压:DC—5V
工作电流:15mA
工作频率:40Hz
电平输出:高5V
电平输出:底0V
感应角度:不大于15度
射程范围:2cm-400cm
高精度 可达0.3cm

2、引脚

VCC 电源正极
GND 电源地
Trig 触发信号输入
Echo 回响信号输出

二、HC-SR04工作原理

1、基本工作原理

1、利用IO口中Trig触发测距 ,要求:给出至少10us的高电平;
2、模块自动发出8个40KHz的方法,自动检测是否有信号返回;
3、有信号返回,通过IO口Echo输出一高电平;
4、高电平的时间超声波从发射到返回的时间,测试距离=(高电平时间*声速(340m/s))/2 。

2、超声波时序图

提供一个 10us 以上脉冲触发信号,该模块内部将发出 8 个 40kHz 周期电平并检测回波。
一旦检测到有回波信号则输出回响信号。
回响信号的脉冲宽度与所测的距离成正比。
由此通过发射信号到收到的回响信号 时间间隔可以计算得到距离。
公式:距离= 高电平时间*声速(340M/S)/2;建议测量周期为 60ms 以上,以防止发射信号对回响信号的影响。

3、原理图

VCC–>3V3
ECHO–>P15
TRIG–>P16
GND–>GND

三、代码实例

通过超声波测试出前方障碍的距离,通过LCD1602液晶屏幕进行显示。

1、UT.h

#ifndef__UT_H__#define__UT_H__/** *@breaf 定时计数器1初始化 *@param 无 *@retval 无 */voidT0_Init();/** *@beaf 超声波模块初始化 *@param 无 *@retval 无 */voidUT_Init();/** *@beaf 超声波模块触发函数 *@param 无 *@retval 无 */voidUT_triggr();/** *@beaf超声波测距 *@param 无 *@retval distance 测试的距离 */unsignedintmeasure();#endif

2、UT.c

#include<REGX52.H>#include"UT.h"#include"Delay.h"sbit Trig=P1^6;//定义超声波模块引脚sbit Echo=P1^5;/** *@breaf 定时计数器1初始化 *@param 无 *@retval 无 */voidT0_Init(){TMOD=0x01;//定义计时器0工作方式为1TH0=0;//定义定时器初值TL0=0;ET0=1;//开定时器0中断EA=1;//开总中断}/** *@beaf 超声波模块初始化 *@param 无 *@retval 无 */voidUT_Init(){Echo=0;Trig=0;T0_Init();}/** *@beaf 超声波模块触发函数 *@param 无 *@retval 无 */voidUT_triggr(){Trig=1;Delay10us(2);Trig=0;}/** *@beaf超声波测距 *@param 无 *@retval distance 测试的距离 */unsignedintmeasure(){unsignedinta,distance;while(Echo==0);TR0=1;while(Echo);TR0=0;a=TH0*256+TL0;TH0=0;TL0=0;distance=a*1.7/100;returndistance;}

3、main.c

#include<reg52.h>#include"LCD1602.h"#include"UT.h"#include<intrins.h>unsignedintdis;//定义距离变量voidmain(){LCD_Init();//LCD1602初始化UT_Init();//超声波模块初始化LCD_ShowString(1,1,"distance:");while(1){UT_triggr();//触发测距信号dis=measure();//返回测距数值LCD_ShowSignedNum(1,10,dis,3);//显示测试距离}}

4、实例现象

http://www.cnnetsun.cn/news/27033.html

相关文章:

  • Java 小白求职者在互联网大厂的面试实录:从 Spring Boot 到微服务架构
  • V助手舆情分析智能体:重塑舆情分析,从“人找信息”到“信息为人”
  • 连接2026:十款远程控制软件真实力横评与选择指南
  • 计算机毕业设计springboot基于Spark++Vue.js的学生管理系统 Spark+Vue 高校学生综合信息管理平台 基于 SpringBoot+Spark+Vue 的全链路学生事务中心
  • JavaScript 集合操作的哈希碰撞:攻击者如何利用特殊 Key 导致 Map/Set 性能降级到 O(N)
  • 为什么 C盘空间会莫名其妙减少(即使没装新软件)?
  • 17、深入理解 Linux 文件系统机制与结构
  • 29、Linux 软件使用与故障排除指南
  • 从入门到转行:网络安全自学与跳槽的终极建议
  • 网络安全小白自学之路,别拜师了,求人不如求己_网络安全小白怎么自学
  • 从系统运维到网络安全工程师,8个月转行真实经验分享!
  • 算法系列(Algorithm)- 快速排序
  • RobotStudio2025全功能授权
  • IsaacLab中UR机械臂与Robotiq夹爪的5大配置难点与解决方案
  • cmark Markdown解析器终极指南:从入门到精通
  • 4-bit量化FLUX模型:让专业AI绘图走进寻常百姓家
  • Excel VBA快速入门:7天从零到精通终极指南
  • AutoHotkey鼠标轨迹自动化终极指南:从零开始实现精准操作回放
  • UxPlay 终极指南:在 Linux 系统上实现 AirPlay 镜像的完整教程
  • 1-2 惜败!国安亚冠连败 中超 16 强魔咒难破
  • 一键解锁阅读3.0书源终极合集:1629个精品资源任你选
  • 一般人不懂Windows
  • Java 基于多线程机制的专项实验
  • 51、Linux 系统中 shell 环境管理与脚本编写全解析
  • 53、编写高效 Shell 脚本:从基础到实践
  • 解锁共享单车数据:从入门到精通的完整分析指南
  • KOOM:如何快速解决Android应用内存泄漏的终极方案
  • API 测试- Postman Vs Rest Assured
  • 如何在React Native应用中实现语音交互?
  • 突破创意瓶颈:BlenderMCP如何用AI重塑3D建模工作流