51单片机定时器问题,定时不精准,差不多30s就有一秒的误差,

2024-12-26 10:00:04
推荐回答(3个)
回答1:

65536-46080=19456个机器周期。
你使用11.0592M,如果单片机是12T的话,那就是每秒有11059200/12=921600个周期
19456/921600=0.0211111秒
再加上你在中断函数中到TH0,TL0赋值的操作,包括,跳转,关键数据入栈,TH0,TL0赋值等的时间。
换句话说,你一次中断大概是0.021120秒
接下来,你就自己算吧

回答2:

你这个 设置是 50 mS, 就是 20 次为 1 秒, 要精确计时 定时器中断 用最高优先级,
程序 或者 晶振 有问题 一般 用定时器中断 误差 很小的 24 小时也不会 差 1 S的。

回答3:

e