基于51单片机的超声波测距

本文详细介绍了超声波的基本特性及其在非接触式检测中的应用,特别是超声波传感器在水文液位测量、车辆导航和物体识别等领域的使用。超声波测距原理基于发射和接收回波的时间差,通过计算可得到精确的距离。文中还提供了超声波测距模块的工作原理及示例程序,展示了如何在单片机环境下实现超声波测距并显示在液晶屏上。

超声波:

      超声波是由机械振动产生的, 可在不同介质中以不同的速度传播, 具有定向性好、能量集中、传输过程中衰减较小、反射能力较强等优点。

      超声波传感器可广泛应用于非接触式检测方法,它不受光线、被测物颜色等影响, 对恶劣的工作环境具有一定的适应能力, 因此在水文液位测量、车辆自动导航、物体识别等领域有着广泛的应用。

超声波测距原理:

      超声波测距是通过不断检测超声波发射后遇到障碍物所反射的回波, 从而测出发射和接收回波的时间差Δt , 然后求出距离S 。在速度v 已知的情况下,距离S 的计算,公式如下:S = vΔt/ 2。

      在空气中,常温下超声波的传播速度是334 米/秒,但其传播速度V 易受空气中温度、湿度、压强等因素的影响,其中受温度的影响较大,如温度每升高1 ℃, 声速增加约0. 6 米/ 秒。因此在测距精度要求很高的情况下, 应通过温度补偿的方法对传播速度加以校正。已知现场环境温度T 时, 超声波传播速度V 的计算公式如下:V = 331. 5 + 0. 607T

      这样, 只要测得超声波发射和接收回波的时间差Δt 以及现场环境温度T,就可以精确计算出发射点到障碍物之间的距离。

超声波测距模块:

      (1):采用IO口TRIG触发测距,给至少10us的高电平信号;

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

      (3):有信号返回,通过IO口ECHO输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。测试距离=(高电平时间*声速(340M/S))/2。

例程:

/****************超声波测距1602显示****************

*单片机型号:STC89C52RC

*开发环境:KEIL

*名称:超声波测距液晶1602显示     

/**********************包含头文件********************/

#include <reg52.h>

#define LCD_Data P0

#define Busy 0x80

/**********************宏定义*************************/

#define SPEED_30C 3495     //30摄氏度时的声速,声速V=331.5+0.6*温度;

#define SPEED_23C 3453     //23摄氏度时的声速,声速V=331.5+0.6*温度;

/**********************位定义*************************/

sbit ECHO=P1^6;  

sbit TRIG=P1^5;

sbit BEEP=P2^3;

sbit LCD_RS=P1^0;

sbit LCD_RW=P1^1;

sbit LCD_E=P2^5;

/********************定义变量和数组*******************/

long int distance=0;       //距离变量      

  

unsigned char code table0[]={"     SL-51A     "};

unsigned char code table1[]={"    NO  ECHO    "};

unsigned char code table2[]={"D

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式硬件与代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值