选用12MHz晶振,将会定时50ms;
选用11.0592MHz,将会定时54.25ms;
你是用那个晶体振荡器?
void timer0() interrupt 1
{
TH0=0x3C;
TL0=0xB0;
aa++;
if(aa==20)
{
temp++;
aa=0;
}
if(temp==60)
{
temp1++;
temp=0;
}
if(temp1==60)
{
temp1=0 ;
}
}
中断要把写初值所花时间减去,还有隐含的入栈的时间也要减去
:1、直接采用晶振计时的,肯定存在误差
2、建议你增加一片DS1302吧