#include<pic.h>
void main()
{
CM1CON0bits.C1ON=0;
ANSELA=0;
GIE=1;
PEIE=1;
IOCIE=1;
IOCAN=0x00;
IOCAF=0x00;
TRISA=0x2A;//RA1.3.5为输入
IOCAP=0x02;//RA1高电平中断,灵敏的上升沿
PORTAbits.RA0=1;
while(1){
;
}
}
void interrupt on_change()
{
if(IOCAFbits.IOCAF1&&RA1){
RA1=RA1;
IOCAFbits.IOCAF1=0;
PORTAbits.RA0=1;
}
}
在硬件上测试了好几次都是错的,RA0引脚在我碰RA1中断时置1,放开又还原为0了 |