51单片机定时器中断不准确,怎么解决

51单片机定时器中断不准确,用STCISP下载程序的时候软件显示晶振的频率为“20.006974M20.009036M20.0111M”总是变化。但是我买的是20M的晶振... 51单片机定时器中断不准确,用STC ISP下载程序的时候软件显示晶振的频率为
“20.006974M 20.009036M 20.0111M”总是变化。但是我买的是20M的晶振,晶振有误差比20M的晶振频率高,我写的是10ms一次的中断但是实际运行中总是比预计计算的程序要快如和解决误差问题呢??
展开
 我来答
一剑出血
高粉答主

2011-04-10 · 醉心答题,欢迎关注
知道大有可为答主
回答量:5.7万
采纳率:78%
帮助的人:1.7亿
展开全部
任何器件都会有偏差,晶振有偏差很正常。不过这显示出来的偏差也离谱了点。按目前的制造工艺一般的晶振精度都很容易做到数十ppm,偏移到数百ppm要么是环境太差要么是器件有问题,或者是测量不准^_^
这个显示值应该只是软件根据波特率估算出来的,本身并不严格。

如果人类都能感觉到定时器时间不准确了,那问题多半出在软件方面。
如果真的要求高精度定时,需考虑专用的器件。
网络无此IP
2011-04-10 · TA获得超过2323个赞
知道大有可为答主
回答量:2667
采纳率:0%
帮助的人:851万
展开全部
如果你这样要求,任何晶振都达不到你的要求,电脑的晶振也是有误差的,你检查一下,你的晶振误差百分比,是不是可以满足你的要求。10ms的时间,如果有微秒或纳秒级的误差,应该可以接受吧。当然,你可以在挑选晶振时,尽量选择误差小的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
956806322
2011-04-11
知道答主
回答量:42
采纳率:0%
帮助的人:22.2万
展开全部
你的硬件电路确定完好吗?从你的问题中我感觉你的硬件是不是存在虚焊啊,造成电路不稳。如果不是的可能是软件问题,如果C语言定时不准的话,可以试试用汇编语言编定时程序,汇编语言定时很准的。依次排除吧,先从硬件开始,没问题再查软件。希望这些能对你有帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式