#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-27 10:58:09的发言: 是清TR0=0;TR0=1吗?我加上试试还是不行 有人试了我得程序说是对的 可不知道为什么在我这里用秒表测就不行 修改晶振频率也没有任何反应 到底是我得方法不对还是我的keil有问题? 谁能帮帮我啊? |