单片机:用计时器给LCD计时间每一秒可能都会多个几毫秒,要怎么能减小这种误差?
2个回答
展开全部
千分之几的误差,用定时器计时的这种方法误差很难消,
实在想消的话,可以用下面几种法子试试:
1. 挑选晶振,晶振频率有差,挑选个频率高一点的。
2. 调大计数器的初值,然后在中断服务 子程序中让计数器停止计数、马上再启动计数,目的是微微调整定时的周期。
两种方法都较难调好,要慢慢试,最好改其它定时法。比如用1302等芯片
实在想消的话,可以用下面几种法子试试:
1. 挑选晶振,晶振频率有差,挑选个频率高一点的。
2. 调大计数器的初值,然后在中断服务 子程序中让计数器停止计数、马上再启动计数,目的是微微调整定时的周期。
两种方法都较难调好,要慢慢试,最好改其它定时法。比如用1302等芯片
追问
误差都是哪里产生?我这个误差要怎样调整下:计时器在每一秒到了之后要执行(t==40)后面的语句,可能在执行语句中已经是(t==40)了,然后语句没执行完,当执行完再进入循环时,可能多了几微秒了,有什么办法让到了(t==40)的时候t最接近40
追答
循环体的时间少掉1个机器周期,所缺的时间在循环体外面补上,包括你讲的其他需要执行的语句。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询