找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3232|回复: 10
收起左侧

如何用单片机记录两次信号之间的时差

[复制链接]
ID:314466 发表于 2018-4-23 17:44 | 显示全部楼层 |阅读模式
本帖最后由 CG113 于 2018-4-23 21:17 编辑

   大家好,本人有一项音频定位系统的设计,用到时差定位法,拟采用单片机记录两次信号的时间差为后续控制步进单机使用。
   我发现论坛里超声波测距的帖子很多,里面涉及到了往返信号的时差测算,但是相关部分比较少,而且用到了专门的模块。

   我希望能用常见的单片机(例如STC89C51),
将信号输入到单片机的外部中断INT0 或者INT1,
只测算两次信号时间差(两次信号均为硅光电池输出的经放大后的电压信号),预计时间差范围在0~0.6ms,精度要求10μs。

   求该测算方法下的工作程序和接线,谢谢。
回复

使用道具 举报

ID:303383 发表于 2018-4-23 19:38 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

ID:123289 发表于 2018-4-23 20:08 | 显示全部楼层
1、你知道单片机识别一个INT下沿需要多少个时钟脉冲吗?看一下手册中的INT0中断的部分章节。
2、中断发声后,中断响应会延时多久?看一下中断章节中的中断响应部分。
3、中断响应后,能不能再次响应中断呢?
4、从发生下沿起,到中断响应、中断处理、中断返回、再到下个下沿到来,你算一算需要多少时间?你如何保证10us的精度呢?
回复

使用道具 举报

ID:123289 发表于 2018-4-23 20:09 | 显示全部楼层
以上是要点。
回复

使用道具 举报

ID:314466 发表于 2018-4-23 20:57 | 显示全部楼层
本帖最后由 CG113 于 2018-4-23 21:41 编辑

谢谢,不过20:08的回复还在审核,还没看到。
回复

使用道具 举报

ID:111634 发表于 2018-4-24 08:40 | 显示全部楼层
精心编程,完全可以做到10us的精度!3us,甚至更高。当然前提是你那个信号本身就精度很高。
回复

使用道具 举报

ID:314466 发表于 2018-4-24 12:45 | 显示全部楼层
zl2168 发表于 2018-4-24 08:40
精心编程,完全可以做到10us的精度!3us,甚至更高。当然前提是你那个信号本身就精度很高。

专门的时差测量程序很难找,有什么书或论文推荐一下么
回复

使用道具 举报

ID:314466 发表于 2018-4-24 16:08 | 显示全部楼层
http://www.cnki.net/kcms/detail/ ... 1Y0S016bFhJd1VLbz0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4IQMovwHtwkF4VYPoHbKxJw!!
回复

使用道具 举报

ID:314466 发表于 2018-4-25 13:57 | 显示全部楼层
CG113 发表于 2018-4-24 16:08
http://www.cnki.net/kcms/detail/detail.aspx?dbcode=CJFQ&dbName=CJFQ2010&FileName=DZJI201004017&v=&ui ...

链接有点问题,是一篇基于AT89S52单片机的时间间隔测量仪的论文
回复

使用道具 举报

ID:316247 发表于 2018-4-25 15:05 | 显示全部楼层
输入捕获行不行
回复

使用道具 举报

ID:316247 发表于 2018-4-25 15:06 | 显示全部楼层
可以采用单片机的输入捕获功能
回复

使用道具 举报

ID:138119 发表于 2018-4-26 08:42 | 显示全部楼层
可以用IO的电平变化中断做。上升沿启动定时器,下降沿停止定时,然后读取定时器的时长,要求不高的场合没有问题!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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