一个定时程序,实践起来无论如何都不正确,救救我
[color=#DCDCDC]T0用作定时器,定时1分钟,在keil 中模拟时,用秒表测试,无论如何都只是2秒多,且修改晶振频率也没有反应,快救救我吧,到底是啥子原因啊
#include <reg52.h>
int m_count=0,s_count=0;
sbit m_flag=P2^0;
void t0(void) interrupt 1 using 0 /*定时50毫秒*/
{ TH0=0x3c;
TL0=0xb0;
s_count++;
if(s_count==20) /*定时1分钟到*/
{
s_count=0;
m_count++;
if(m_count==60)
{m_count=0;
m_flag=!m_flag; /*标志位取反*/
}
}
}
void main (void)
{ TMOD = 0x01;
TH0=0x3c; /*(65536-50000)/256*/
TL0=0xb0; /*(65536-50000)%256*/
TR0=1;
ET0=1;
EA=1;
P2=0x00;
while(1);
}
[/color]
发表时间:2005年8月26日15:12:59