51单片机使用HC-S104超声波模块

这篇具有很好参考价值的文章主要介绍了51单片机使用HC-S104超声波模块。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

HC-S104超声波模块是一种测量距离的传感器,可以用于51单片机的测距应用。下面是使用HC-S104超声波模块的步骤:

1.将HC-S104超声波模块的VCC引脚连接到51单片机的3.3V或5V电源,GND引脚连接到51单片机的GND,TRIG引脚连接到51单片机的一个可编程输出口,ECHO引脚连接到51单片机的一个可编程输入口。

2.提供一个10微秒以上的高电平信号给HC-S104的TRIG引脚,触发模块向目标发射超声波。

3.HC-S104超声波模块将发射的超声波信号反弹回来,通过ECHO引脚返回到单片机。

4.通过单片机的编程,测量从TRIG触发到ECHO引脚返回的超声波信号的时间差,通常以微秒为单位。

5.根据测量的时间差和超声波在空气中传播的速度,可以计算出距离。

6.重复以上步骤,可以实现连续的测距操作。

注意:使用HC-S104超声波模块时,需要注意防止信号干扰和误判。可以采用滤波器和阈值判断等方法来提高测量精度。同时,还需要考虑超声波在不同介质中传播的速度不同,需要根据具体情况进行修正。


具体例子:

连线:

将HC-SR04超声波模块的VCC和GND分别接单片机的5V和GND上。将Trig接单片机的PD0(D0),将Echo接单片机的PD1(D1)上。文章来源地址https://www.toymoban.com/news/detail-532984.html

代码:

#include <reg51.h>
//定义PD0为输出口,PD1为输入口,并全局变量int distance
sbit Trig = P0^0; //Trig连接PD0
sbit Echo = P0^1; //Echo连接PD1
int distance;


//首先,向Trig脚发送一个10微秒的高电平信号,然后将Trig脚拉低,等待Echo脚变为高电平。当Echo脚高电平时,开始计时。当Echo脚低电平时,计时结束,并计算出距离,存入全局变量distance中。
void send_pulse()
{
    Trig = 1; //发送10微秒的高电平
    delay_us(10);
    Trig = 0; //拉低
}


void measure_distance()
{
    int time = 0;
    while(Echo == 0); //等待Echo脚变高
    while(Echo == 1)
    {
        time ++;
        delay_us(1);
    } //计数
    distance = time / 58; //计算距离
}


//延时函数用于精确计时。以下是一个精度较高的延时函数:
void delay_us(int time)
{
    int i, j;
    for(i = 0; i < time; i ++)
    {
        j = 12; //经过测试,12是一个较为准确的值
        while(j --);
    }
} 


//主函数调用send_pulse()和measure_distance()函数,然后将距离distance输出到串口。
void main()
{
    while(1)
    {
        send_pulse(); //发送超声波
        measure_distance(); //测量距离
        printf("Distance: %d cm\n", distance); //输出距离
        delay_ms(200); //延时200毫秒
    }
}

到了这里,关于51单片机使用HC-S104超声波模块的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于51单片机的超声波测距及温度显示

    (仿真+程序+PCB+原理图+设计报告) 功能介绍 具体功能: 1.超声波测距传感器HC-SR04、温度传感器DS18B20将检测的数据传给51单片机; 2.LCD1602实时显示测得的距离和温度; 3.按键可以设置距离的上下限; 4.距离超过设定范围,蜂鸣器+LED产生声光报警; ​演示视频: 基于5

    2024年04月24日
    浏览(49)
  • 【C语言】51单片机超声波测距(实作 非仿真)

    一、设计目标     使用51单片机和超声波测距模块实现超声波测距。 二、主要功能     超声波测距。 三、硬件部分     51单片机,超声波测距模块,导线,动态数码管,74HC245芯片,74HC138芯片。 图1                       图2   图3   图4     图1为超声波测距模块的

    2024年02月09日
    浏览(46)
  • 【51单片机练习1——超声波测距+LCD12864显示】

    PS:这是人生中的第一篇博客,记录了我人生中的第一次实习工作。与其说是博客文章,这些更像是一个小白的流水账日记,可能会有很多错误和有待优化的地方,希望各位大佬可以多多提出。如有问题可以私信联系。 行文过程中,欲说尽心中无限事,感慨万千。不过各位“

    2024年02月04日
    浏览(57)
  • 51单片机的超声波测距系统【proteus仿真+程序+报告+原理图】

    该系统由AT89C51单片机+数码管模块+LED指示灯模块+按键模块构成。 利用51单片机实现超声波测距功能。利用单片机控制超声波的发射和对超声波自发射至接收往返时间的计时。系统定时发射超声波,在启动发射电路的同时启动单片机内部的定时器,利用定时器的计数功能记录超

    2024年02月11日
    浏览(164)
  • 【毕业设计】基于超声波智能跟随小车 - 单片机 物联网 stm32 c51

    自动跟随小车系统由两部分组成:跟随小车和移动目标携带装置。 工作原理:跟随小车系统通过无线通信模块发送寻找信号,同时超声波接收器开始计时,如果移动目标接收到无线寻找信号,则立即发送超声波信号。这样小车的三角超声波接收器陆续收到超声波信号,CPU通过

    2023年04月08日
    浏览(65)
  • 基于单片机超声波测距语音播放

    一、系统方案 本设计采用52单片机作为主控器,HC-SR04测距,液晶1602显示,按键设置报警阀值,语音报警。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先是系统初始化 uint dist; // 保存超声波模块测量到的结果 2、液晶显示程序 / / // 1602液晶写命令函数,cmd就是要写

    2024年02月09日
    浏览(49)
  • 基于单片机的超声波探伤仪

    摘要 超声波探伤仪是目前工业制造和现代化检测的重要途径之一,广泛的应用在质量检测和产品检测中,通过使用其产品能够有效地降低产品次品的风险。尽管随着电子技术的发展, 国内出现了一些数字化的超声检测仪器,但其数据处理及扩展能力有限,缺乏足够的灵活性

    2024年04月11日
    浏览(61)
  • 基于单片机的超声波语音测距系统

    一、系统方案 超声波具有指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。利用超声波检测往往比较迅速、方便、计算简单、易于做到实时控制,并且在测量精度方面能达到工业实用的

    2024年02月10日
    浏览(52)
  • 基于单片机的超声波探伤仪设计

    摘要 超声波探伤仪是目前工业制造和现代化检测的重要途径之一,广泛的应用在质量检测和产品检测中,通过使用其产品能够有效地降低产品次品的风险。尽管随着电子技术的发展, 国内出现了一些数字化的超声检测仪器,但其数据处理及扩展能力有限,缺乏足够的灵活性

    2024年02月08日
    浏览(48)
  • 基于Arduino单片机超声波测距仪设计

    文章目录 摘  要 1.课程设计任务 1.1课程设计题目 1.2设计的要求 2.设计总体方案 2.1初步设计方案 2.2各个单元电路的设计要求 2.3主要性能指标 2.4总体方案 3.单元模块设计 3.1显示模块 3.2超声波测距模块 3.3蜂鸣器模块 3.4电机模块 3.5 LED二极管模块 4.软件流程图 5.设计代码 5.1核

    2024年02月11日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包