#include "intrins.h"
#include "reg52.h"
unsigned char key=0;
void init(); //初始化各变量和中断的函数
void init() //初始化函数
{
TMOD=0x11; //设置定时器0,1工作方式
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //启动定时0
// ET1=1; //开定时器1中断
// TR1=1; //启动定时1
EX0=1; //开外部中断0
IT0=1; //下降沿触发
P2=0xff;
}
void main()
{
init();
while(1)
{
while(key)
{
key=0;
P2=0x0f;
}
}
}
void inter0() interrupt 0 //外部中断
{
key=1; //按键标志置1
}
void time0() interrupt 1 //定时器0中断
{
TH0=(65536-20000)/256; //取低8位
TL0=(65536-20000)%256; //取高8位
}
我把
“
// ET1=1; //开定时器1中断
// TR1=1; //启动定时1
”
这两行代码“//”注释掉,中断0就可以响应,如果不注释掉,怎么都不会响应。这是怎么回事呢? |