#include <ioCC2530.h>
#define LED1 P1_0
#define LED2 P1_1
#define SW1 P1_2
void delay(long i);//延时
void led_init();//LED初始化
void sw1_init();//按键初始化
//主函数
void main(void)
{
led_init();
sw1_init();
while(1);
}
/****中断服务函数****/
#pragma vector=P1INT_VECTOR
__interrupt void p1_interrupt(void)
{
if(P1IFG&0x04) //判断P1.2是否产生中断
{
if(P1_2==1)
LED1=~LED1;
}
P1IF = 0x00; //清除P1端口中断标志位
P1IFG = 0x00; //清除P1.2中断标志位
}
//LED初始化
void led_init()
{
P1SEL&=~0x03;
P1DIR|=0x03;
P1&=~0x03;
}
//按键与中断初始化
void sw1_init()
{
P1SEL&=~0x04;
P1DIR&=~0x04;
P1INP&=~0x04;
P2INP&=~0x40;
IEN0|=0x80;
IEN2|=0x10;
P1IEN|=0x04;
PICTL&=~0x02;
}
//延时函数
void delay(long i)
{
while(i--);
}
1.Zigbee按键1中断
最新推荐文章于 2024-05-22 23:46:08 发布