传感器自学笔记第一章——C-SR04超声波测距模块

本文介绍了C-SR04超声波测距模块的工作原理、手册分析及软件和定时器计时的编程方法。通过详细解析高电平持续时间的测量,展示了如何计算距离,并提供了C51程序示例。
摘要由CSDN通过智能技术生成

C-SR04超声波测距模块 作者:GWD 时间:2019.6.20

一:学习要点

  1. 涉及到软件精确延时,指令周期、机器周期与振荡周期的关系如下图;
    图1-1

  2. 在keil中,利用debug功能查看汇编代码,方便程序调试。

  3. 软件精确计时编程的思路:超声距离传感器编程的核心就是计量高电平的持续时间(us级别),检测高电平持续时长函数功能三步走,第一步:当ECHO引脚低电平时用while(ECHO != 1)做一个死循环起到等待高电平的功能,第二步:当ECHO跳变为高电平时用while(ECHO == 1)做一个循环,在循环体内count自增,第三步:跳出循环后利用count的值就可以知道高电平持续时长,注意在计算count与时长的关系中用到了keil4中的debug功能查看汇编代码的指令周期优化计时的准确性;

  4. 定时器计时编程思路:思路和软件计时一样,只是通过TR0的高低电平状态切换开始和关闭计时,while(ECHO != 1)后TR0 = 1开始计时,同理关闭TR0,计数值count = TH0*256+TL0;

  5. 算法适用的情况:等待信号线反馈脉冲的到来时长,例如开始信号发出后flag位置1,进入死循环while(1 == flag),在循环体中计数与检测信号线是否有跳变,当产生跳变后flag位取反跳出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值