設置P1.4的高低電平中斷不成功,有沒有人指點一下
單片機源程序如下:
void init_IOINT()//中斷初始化
{
P1INTF&=0xE8;//清除P1.4的中斷標志
P1INTE|=0x10;//開P1.4的中斷使能
P1IM0 &=~0x10;//設置P1.4口低電平觸發
P1IM1 |= 0x10;
P1IM0 |=0x10;//設置P1.4口高電平觸發
P1IM1 |=0x10;
}
//由于中斷向量大于 31,在 KEIL 中無法直接編譯
//必須借用第 13 號中斷入口地址
void common_isr() interrupt 13
{
unsigned char psw2_st;
unsigned char intf;
psw2_st = P_SW2;
P_SW2 |= 0x80;
intf = P1INTF;
if (intf)
{
P1INTF = 0x10;
if (intf & 0x10)
{
LED1=0;
}
}
P_SW2 = psw2_st;
}
|