ZIGBEE中断
#include<iocc2530.h>
void keyint(){
/*
1、清除中断标志。
2、如果有,则设置SFR 寄存器中对应的各中断使能位为 1。
3、设置寄存器IEN0、IEN1 和IEN2 中对应的中断使能位为 1。
4、设置IEN0 中的EA 位为 1 使能全局中断。
5、在该中断对应的向量地址上,运行该中断的服务程序。
*/
//IO外设设置
//1.设置为通用IO
P0SEL&=~(1<<1);
P0DIR&=~(1<<1);
//2.设置中断边沿检测寄存器为下降沿检测
PICTL|=(1<<0);
//3.清中断源标志寄存器
P0IFG &=~(1<<1);
//4.端口中断使能P0_1
P0IEN|=(1<<1);
//1.清除中断标志位
//IRCON &=~(1<<5);//POIF是IRCON的第五位
P0IF=0;
//2.中断优先级(不设置)采用默认优先级
//3.打开中断使能poie
//IEN1|=(1<<5);
P0IE=1;
//4.打开总中断
//IEN0|=(1<<7);
EA=1;
}
#pragma vector=P0INT_VECTOR
__interrupt void P0_ISR(void)
{
//中断处理的程序
//最后清标志
P0IFG &=~(1<<1);//在前
P0IF=0; //在后
}
int main()
{
keyint();
return 0;
}