我做一个电子时钟的程序时,晶振是12MHZ的,定时器0工作在方式1,定时50ms; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; 中断程序如下: void timer0(void) interrupt 1 using 1 {
t50mscnt++; if(t50mscnt==20) { t50mscnt=0; second++; if(second==60) { minute++; second=0; if(minute==60) { hour++; minute=0; if(hour==24) hour=0; } } } }
为什么这样时间会走慢,一个小时要慢10多分钟吧。 |