全站数据
8 4 2 0 5 8 1

24小时定时器为什么误差大

粉笔建造消防 | 简单学习,快乐成才!         
问题更新日期:2024-10-12 18:44:45

问题描述

24小时定时器为什么误差大急求答案,帮忙回答下
精选答案
最佳答案

一是单片机的晶振频率的误差,

二是定时器计时的误差,这是主要的。

因平时,用定时器计时,并没有计时太长的时间,而且也是实验性的写程序就完了。

如果真的就想用单片机计时,并长时间当时钟计时,必须对定时器的计时误差进行补偿。

产生误差的主要原因是:虽然按定时计算的时间常数,但是,在单片机响应中断时,是需要时间的,从响应中断,进入中断服务子程序,到重写时间常数,再次计时,需要十几个机器周期的。对于一次中断,这个时间可以忽略了,但长期计时,累加的误差就很大了。

补偿的 方法是,中断服务子程序的第一行就要重写时间常数,再写其它语句。在中断重写时间常数时,低8位的数按计算的值加上8~12,再经过一段时间的计时,对照标准时间比较一下误差大小,逐步调整。