本帖最后由 Wayner 于 2013-9-1 11:24 编辑
请教各位DX:
用89C2051单片机实现精确的延时,用T0定时器中断来实现,发现有时会刚好写TH0/TL0时已发生溢出,造成有时会误差255us,该怎么办?有好的思路吗?
定时时间在240us到1050us之间。
下面是中断程序
//单片机晶振用12MHz
void Timer0ISR(void) interrupt 1 using 2
{
TH0 = cTH_val;
TL0 += cTL_val; //TF0标志进入定时器中断后,硬件自动清零
cSTATE ++;
bSET_OK = 0;
}
谢谢! |