我是靠谱客的博主 傲娇毛衣,最近开发中收集的这篇文章主要介绍【外设1】超声波传感器的驱动一、简介二、实验平台三、版权声明四、讲解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、简介

本文介绍如何用51STC单片机驱动超声波传感器来实现测距等功能。

二、实验平台

单片机型号:STC12C5A60S2

外设模块型号:HC-SR04

编译软件:KEIL

硬件平台:达芬奇51开发版

三、版权声明

博主:文武大侠

声明:喝水不忘挖井人,转载请注明出处。

原文地址:

联系方式:644746740@qq.com

老蔡51单片机群:463850023

四、讲解

  超声波传感器对于51单片机外设来讲是很常见的,它的工作原理也很简单,所以看到此篇博客的同学按照我的步骤往下看完,一定会学明白的,如果有不明白的就暂停一下,自己想一想或者百度一下,再或者在下面留言,我会及时回复的。

4.1 超声波传感器原理

  由于超声波指向性强,能量消耗缓慢,在介质中传播的距离较远,因而超声波经常用于距离的测量,如测距仪和物位测量仪等都可以通过超声波来实现。
超声波发射器向某一方向发射超声波,在发射时刻的同时开始计时,超声波在空气中传播,途中碰到障碍物就立即返回来,超声波接收器收到反射波就立即停止计时。超声波在空气中的传播速度为340m/s,根据计时器记录的时间t,就可以计算出发射点距障碍物的距离(s),即:s=340t/2 。这就是所谓的时间差测距法。
  超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。

      测距的公式表示为:L=C×T

  式中L为测量的距离长度;C为超声波在空气中的传播速度;T为测量距离传播的时间差(T为发射到接收时间数值的一半)。
  HC-SR04超声波模块可提供2cm~400cm的距离感测功能,测量精度可以达到3mm。模块包括超声波发射器,接收器与控制电路。

基本工作原理

1) 采用Trig引脚触发,给至少10us的高电平脉冲信号
2) 模块自动发送8个40kHz的方波,自动检测是否有信号返回
3) 有信号返回,通过Echo引脚输出一个高电平脉冲,高电平脉冲持续的时间就是超声波从发射到反射返回的时间。距离=(高电平脉冲时间*340)/2
image.png

4.2 程序逻辑

Created with Raphaël 2.1.2 Start 发送>10us的高电平 检测ECHO引脚 是否有信号返回? 用定时器检测高电平时间长度 利用波在空气中的事件,通过算法算出距离 End 检查硬件 yes no

4.2 用代码来实现它

//主程序
void main(void)
{
TMOD=0x01;
//ÉèT1Ϊ·½Ê½2£¬T0Ϊ·½Ê½1 GATE=0
SCON=0x10;
UartInit();
TH0=0;
TL0=0;
TR0=1;
ET0=1;
TI=1;
EA=1;
while(1)
{
LED1 = ~LED1;
StartModule();
//发送大于10us的高电平
while(!RX);
//等待返回信号
TR0=1;
//打开定时器
while(RX);
//监测到返回信号主程序停止,定时器计时
TR0=0;
//信号
Conut();
//通过定时器的时间,算出距离
delayms(100);
//100MS
}
} 

StartModule()

void
StartModule()
{
unsigned char i, j, k;
i = 68;
j = 61;
k = 50;
TX=1;
//800MS启动一次模块
do
{
do
{
while (--k);
}
while (--j);
}
while (--i);
TX=0;
}

void Conut(void)

void Conut(void)
{
time=TH0*256+TL0;
TH0=0;
TL0=0;
S=(time*1.87)/100/2 - 0.7;
//通过定时器时间计算距离公式
if(flag==1)
//超出测量
{
flag=0;
printf("-----n");
}
printf("S=%fn",S);
}

休息一下 等会把代码上传到git上
源代码git下载:https://gitee.com/caibinguitar/51_routines_code.git

最后

以上就是傲娇毛衣为你收集整理的【外设1】超声波传感器的驱动一、简介二、实验平台三、版权声明四、讲解的全部内容,希望文章能够帮你解决【外设1】超声波传感器的驱动一、简介二、实验平台三、版权声明四、讲解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部