把LZ说蒙了!晚上做梦太阳大爆炸!
硬件中断,结合软件累加,就可以了.
会用T0/T1的中断做20ms定时吧?
事先声明的一个比较有长度的全局变量比如就叫做TC吧, unsigned long TC=0;
然后在T0/T1中断服务函数里,你TC增量啊!每中断一次,TC增1,就是增加了20ms.
51C里,你定义的这个TC有32位呀,最大可以数出(2的32次方-1)个20ms 来
(2的32次方-1)*20ms = 85899345900ms 也就是说等到TC从0变化到最大,大约就是经过差不多994天了吧?
太阳爆炸当然不会来得这么快的啦!
不过还可以整一个(一个不够就俩吧)32位的全局变量嘛,比如就叫做KTC,当TC最大以后再加1导致回0了,就给KTC增1嘛 等到KTC也最大了,估计一下,多长时间过去了呢?
994天*85899345900=85383949824600天 约= 233928629656年,恩,够了,好象两千多亿年了!够太阳来回爆炸十几次呢!
|