共同讨论看来这位网友要实现1S的定时,靠定时器T0及其T0中断来实现。我也做个程序。我的观点是每50MS时引起一次中断。在中断服务程序中来设置个计数器来实现20次的计时。是否关中断,主要取决于中断服务程序的执行时间,如果大于50MS的计数,必需关中断。但用于显示时间不太准确。如果中断服务程序的执行时间小于50MS的,刚无需关中断。这位网友觉得怎样。下面我将自己编写的显示日期时间的中断服务程序列出来,帮我看一下。
/****************中断服务程序*****************/
void zhduan(void) interrupt 3
{ unsigned char temp;
count++;
if(count==20)
{count=0;
sec++;
if(sec> =60)
{sec==0;
min++;
if(min> =60)
{min=0;
hour++;
if(hour> =24)
{hour=0;
day++;
temp=m_days(mon);
if (day> =temp)
{day=1;
mon++;
if(mon> =13)
{mon=1;
year++;}
}
}
}
}
}
}
我用的是定时器实现50MS定时,至于相关寄存器的设定还没完成。完后我再上传那段代码。