51单片机做电子时钟,为什么会比实际时间慢呢?

2024-11-27 17:13:15
推荐回答(2个)
回答1:

这个问题是这样的,这可能是因为你的单片机晶振的原因,如果是12MHz的话,中断值设置为3CB0,意味着50ms中断一次,if(t50mscnt==20)就可以实现1s的变化,前提是外部晶振频率为12MHz,你检查看看你的晶振频率为多少吧!

回答2:

如果你要定时很准的话,又不想用时钟芯片,可以用32.768khz的晶振,或者用11.0592mhz这些,计算出来的时间是个整数的,还有你要注意你程序里面初始化以后最好不要操作定时器,这样应该会好很多。