51单片机定时器中断,为什么一次也没有执行中断程序

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
uint a=1,b,c,d,e,f;
void main()
{
while(1)
{
TMOD=0X01;
EA=1;
ET0=1;
TMOD=0x01;
TH0=0xfa;
TL0=0xcb;
TR0=1;

}
}
void aaaa()interrupt 1
{
TH0=0xfa;
TL0=0xcb;
a++;
P1=0xfe;
}

第1个回答  2014-05-08
while(1)
{
TMOD=0X01;
EA=1;
ET0=1;
TMOD=0x01;
TH0=0xfa;
TL0=0xcb;
TR0=1;
}
你这样写,没等定时器溢出就重新置初值了。尝试改为如下。
TMOD=0X01;
EA=1;
ET0=1;
TMOD=0x01;
TH0=0xfa;
TL0=0xcb;
TR0=1;
while(1);本回答被提问者采纳
相似回答