我程序是这样的: 外部触发中断后,开始定时器1ms计时, 定时器溢出用number计数,每溢出一次number值+1(定时器每次赋值为0xFC18即64536,1000个周期后溢出) 然后,把number从100开始到111的十二个时刻,距离外部触发发生时候的时间差显示出来(除去“计时溢出处理”程序运行的时间,理想的话,应该是显示100,到111)
但是,当显示出来的确实96.3、97.6、98.4、99.2。。。等等 值明显偏小,并且,间隔时间更是明显偏小。 这样,我想到了把定时器时间加长,甚至每次定时1.2ms才溢出,得到结果如下: 116.3、117.1、118.0、118.8。。。等等 问题依然存在,时间还是比预料的小,并且间隔时间一样偏小,几乎没变
89C51+12M晶振平台
请问这是什么原因? |