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

2020-02-08 09:09发布

最近在弄U2270B,需要对曼码解码,使用PIC16F946芯片的定时器2进行计时,但我发现有时计时不准,真是恼火,设定的阈值总是改来改去的。
对脉冲的高低电平进行计时,算出编码的。大家有木有好的意见??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
surf_131
2020-02-09 11:20
感觉是程序设计思想有问题。
你每次读到一个值,这个时间上有误差,然后清0 TMR2,你这次的误差就加入到下次判断中,然后每次都累加,终致“滑码”。
你应该给TMR2一个确定的溢出值,每次发现溢出(发现时机有误差)就相应动作。定时器溢出之后自动翻转继续计数,不会有误差累加。
万一需要调整门限值,也是调整那个确定的值。有些型号16位计数要先写H, 再写L, 否则些不进去云云,手册会有交待。

一周热门 更多>