void INT0init()
{ //INTCON register
GIE=1;
IPEN=0;//使能未屏蔽中断
PEIE=1;//使能未屏蔽外围中断
GIEL=1;//同PEIE功能
INT0IE=1;//使能int0外围中断
TMR0IE=0;//禁止定时器中断
RBIE=1;//关闭RB端口改变中断
INT0IF=0;
//INTCON2 register
RBPU=0;//弱上拉开启
INTEDG0=0; //下降沿触发中断
}
void interrupt int0_isr()
{
//static uchar count;
/*
if(TMR0IF)
{
TESTTMR=!TESTTMR;
TMR0IF=0;
TMR0=168;
count++;
}
*/
if((INT0IF&INT0IE)==1)
{
//TMR0ON=1; //关闭
RA1=0;
INT0IF=0;
}
}
不知道是中断初始化问题还是中断函数问题,定时器0可以进入中断,但中断0给下降沿,始终没反应(RA1始终未高电平) |