HC-SR04超声波测距模块

1. 基本参数

工作电压

DC5V

工作电流

15mA

工作频率

40Khz

最远射程

4m

最近射程

2cm

测量角度

15°

输入触发角度

10uS的TTL脉冲

输出回响信号

输出TTL信号

规格尺寸

45*20*15mm

2. 基本原理

1) 单片机IO口发送≥10us的持续高电平信号,作为起始信号。

2)模块自动发送8个40Khz的方波,单片机自动检测Ehco引脚是否有信号返回;

3)若有信号返回,开启定时器计时,当检测到Echo引脚为低电平则关闭定时器,此时的时间为发射超声到接收回波的时间,因为物体的距离=(定时器时间*340)/2。

4)若无信号返回,则继续等待信号返回。

3. 时序图

4. 程序范例

单片机选型为STC15W204S。

#ifndef __HCSR04_H__

#define __HCSR04_H__



sbit TRIG=P5^5;

sbit ECHO=P3^2;



bit flag=0;         

bit succed_flag=0;   //测距中断完成标志位

bit single_flag=0;   //单总线标志位



float distance=0;

u16 temp=0;



void tim0_init()

{

    //AUXR = 0x80;                //定时器1为1T模式
    TMOD = 0x00;                //定时器1为模式2(8位自动重载)
    TL0 = 0xCD;                  //设置定时初始值
    TH0 = 0xD4;                  //设置定时初始值
    TR0 = 0;                    //定时器1开始启动
}

//hc-sr04起始信号
void hcsr04_start_single()
{
     TRIG=1;
     Delay20us();
     TRIG=0;
}

//hc-sr04测距转换函数
u8 hcsr04_covert()
{
     temp=TH0*256+TL0;                           
     TH0=0;
     TL0=0;
     distance=(temp*1.87)/10000;
     return distance;
}
#endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

sunflower-ly

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

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

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

打赏作者

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

抵扣说明:

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

余额充值