标题:
单片机定时器定时问题
[打印本页]
作者:
PDDDF
时间:
2020-4-20 17:29
标题:
单片机定时器定时问题
用定时器0定时,每隔x分钟执行一个函数,x的值手动输入,问题:计时不准确,每计时1分钟会延迟5秒,该误差会随着x的增加而增加,每多1分钟,计时结果延迟5秒,延迟时间为5x,什么原因会导致这样的问题,愿闻其详
作者:
wulin
时间:
2020-4-20 21:23
定时器做长时间计时会积累误差,约0.5%以内,这很正常,但不至于每分钟误差5秒。按以下方法轻松调整到1s/小时。
以STC15W404AS为例可以通过修改定时器TL0重装值修正。
char i=0;//数据范围+127~-128,注意TL0数据范围0~255
void Timer0Init() //50毫秒@12.000MHz
{
AUXR &= 0x7F; //定时器时钟12T模式
TMOD &= 0xF0; //设置自动重装模式
TL0 = 0xB0+i; //设置定时初值
TH0 = 0x3C; //设置定时初值
TF0 = 0; //清除TF0标志
TR0 = 1; //定时器0开始计时
}
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1