标题: 如何用单片机记录两次信号之间的时差 [打印本页]

作者: CG113    时间: 2018-4-23 17:44
标题: 如何用单片机记录两次信号之间的时差
本帖最后由 CG113 于 2018-4-23 21:17 编辑

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

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

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

作者: 小猫猫爱吃鱼    时间: 2018-4-23 19:38
你好!这个功能可以实现,但是还是有一定的难度,可以加我 QQ3205931140,帮你看看
作者: yzwzfyz    时间: 2018-4-23 20:08
1、你知道单片机识别一个INT下沿需要多少个时钟脉冲吗?看一下手册中的INT0中断的部分章节。
2、中断发声后,中断响应会延时多久?看一下中断章节中的中断响应部分。
3、中断响应后,能不能再次响应中断呢?
4、从发生下沿起,到中断响应、中断处理、中断返回、再到下个下沿到来,你算一算需要多少时间?你如何保证10us的精度呢?

作者: yzwzfyz    时间: 2018-4-23 20:09
以上是要点。
作者: CG113    时间: 2018-4-23 20:57
本帖最后由 CG113 于 2018-4-23 21:41 编辑
yzwzfyz 发表于 2018-4-23 20:09
以上是要点。

谢谢,不过20:08的回复还在审核,还没看到。
作者: zl2168    时间: 2018-4-24 08:40
精心编程,完全可以做到10us的精度!3us,甚至更高。当然前提是你那个信号本身就精度很高。
作者: CG113    时间: 2018-4-24 12:45
zl2168 发表于 2018-4-24 08:40
精心编程,完全可以做到10us的精度!3us,甚至更高。当然前提是你那个信号本身就精度很高。

专门的时差测量程序很难找,有什么书或论文推荐一下么
作者: CG113    时间: 2018-4-24 16:08
http://www.cnki.net/kcms/detail/ ... 1Y0S016bFhJd1VLbz0=$9A4hF_YAuvQ5obgVAqNKPCYcEjKensW4IQMovwHtwkF4VYPoHbKxJw!!
作者: CG113    时间: 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单片机的时间间隔测量仪的论文
作者: f346259332    时间: 2018-4-25 15:05
输入捕获行不行
作者: f346259332    时间: 2018-4-25 15:06
可以采用单片机的输入捕获功能
作者: yfpc2006    时间: 2018-4-26 08:42
可以用IO的电平变化中断做。上升沿启动定时器,下降沿停止定时,然后读取定时器的时长,要求不高的场合没有问题!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1