unsigned char rMinuteCount; //分计时数 sbit IsOneSecondReach; sbit Pulse_Sec=P1^0; sbit Pulse_Min=P1^1; main() { rSecondCount=0; rMinuteCount=0; TH1=0x3C; TL1=0xAF; //定时器50ms产生一次中断 (FFFF-3CAF)us MOD = 0x10; //定时器1工作于模式1,(用工作于模式2也可以,而且更 简便) TR1=1; //使能定时器1 ET1=1; //开中断 EA=1; //开全局中断 while(1) { if (IsOneSecondReach) { IsOn eSecondReach = 0; //do something,如果一秒延时标志为1,则清除此标志,等待下次1秒,在此处 //执行需要执行的程序 } } } eSecondReach = 0; //do something,如果一秒延时标志为1,则清除此标志,等待下次1秒,在此处 //执行需要执行的程序 } } }