找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2308|回复: 4
收起左侧

关于单片机超声波测距的起始与结束记时问题

[复制链接]
ID:432548 发表于 2018-11-28 07:49 | 显示全部楼层 |阅读模式
  为什么超声波测距时,接收到返回信号时才开始计时,不是应该发射时开始计时等到接收到返回信号时结束计时吗?
回复

使用道具 举报

ID:34643 发表于 2018-11-28 09:52 | 显示全部楼层
不是收到返回信号时才开始计时,而是发送超声波时计时或是发送完超声波时计时,收到回波后停止计时。
回复

使用道具 举报

ID:222948 发表于 2018-11-28 10:26 | 显示全部楼层
对的,那就是程序那边出现问题
回复

使用道具 举报

ID:432548 发表于 2018-11-28 12:03 | 显示全部楼层
while(!RX);                //当RX(ECHO信号回响)为零时等待
         TR0=1;                            //开启计数
         while(RX);                        //当RX为1计数并等待
         TR0=0;                                //关闭计数
     Conut();                        //计算
这句话不是先等到ECHO返回信号后计数器才开始吗?有信号返回RX才为1,他计数记的是返回后1持续的时间,不是发射波时开始计时的。是不是我理解错了?
回复

使用道具 举报

ID:1024926 发表于 2022-5-8 22:25 | 显示全部楼层
代码没有错,输出端的高电平的持续时间是与距离成正比例的,所以可以通过计算高电平的时间来计算检测距离
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表