求教PIC单片机定时器如何精确计时

2020-02-08 09:09发布

最近在弄U2270B,需要对曼码解码,使用PIC16F946芯片的定时器2进行计时,但我发现有时计时不准,真是恼火,设定的阈值总是改来改去的。
对脉冲的高低电平进行计时,算出编码的。大家有木有好的意见??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
surf_131
2020-02-10 04:32
hmsfeng 发表于 2012-7-3 19:59
可是我需要知道每次高低电平的时间,只读溢出标志不能确定高低电平时间啊。 ...

这个周期应该是你预判的码速率。你不必每次都重新进行计数。而且,这是你通过MCU能够知道的最准的时间了。
我们假定你知道数据的码速率,也就是波特率。这样,只要你每次在发生该TMR中断时检查端口电平,就知道该位是0还是1。你不必每次都寻找电平翻转的边沿。最多在找到第一个边沿时给TMR预设值一半的初始值,然后每次都在溢出时读电平。如果你的时钟与发送时钟有偏差,那也是积累很久才有一次“滑码”误差。

一周热门 更多>