求问个单片机关于中断的问题
#include <reg51.h>sbit red_line=P3^2;
sbit red_line1=P2^0;
void init_int0() // 初始化外部中断,选择下降沿有效
{
EA=1;
EX0=1;
IT0=1;
}
void init_xlat0(unsigned char high,unsigned char low) //T0时钟初始化,模式1
{
TMOD=9;
TH0=high;
TL0=low;
TF0=0;
TR0=1;
}
void delay(unsigned char a,unsigned char b) //时钟延时
{
init_xlat0(a,b);
while(1){
if(TF0==1)
break;
}
}
void main()
{
init_int0();
while(1){
P2=0;
delay(0,0);
red_line=0;
}
}
void into_in(void) interrupt 0
{
red_line=1; // 放在这运行是正常的,能出中断
EX0=0;
P2=0xCC;
delay(0,0);
//red_line=1; //把上面的red_line删掉,用下面的这个就出不了中断了,求问为什么
EX0=1;
//red_line=1; //同样这个地方也是不正常的
}