cc2530外部中断控制led灯
时间: 2023-12-19 14:07:02 浏览: 123
以下是CC2530外部中断控制LED灯的步骤:
1. 配置GPIO口为输入模式,用于连接按键S1。
2. 配置GPIO口为输出模式,用于控制LED1。
3. 配置外部中断,使按键S1产生中断。
4. 在中断服务函数中,判断按键S1是否按下,如果按下则改变LED1的状态。
代码示例:
```c
#include "ioCC2530.h"
#define LED1 P1_0
#define S1 P0_1
void Init_GPIO(void)
{
// 配置P0_1为输入模式,用于连接按键S1
P0SEL &= ~0x02;
P0DIR &= ~0x02;
P0INP |= 0x02;
// 配置P1_0为输出模式,用于控制LED1
P1SEL &= ~0x01;
P1DIR |= 0x01;
}
void Init_ExtInt(void)
{
// 配置P0_1产生下降沿中断
PICTL |= 0x01;
IEN1 |= 0x02;
}
#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)
{
if ((P0IFG & 0x02) == 0x02) // 判断是否是P0_1产生的中断
{
P0IFG &= ~0x02; // 清除中断标志位
if (S1 == 0) // 判断按键S1是否按下
{
LED1 = !LED1; // 改变LED1的状态
}
}
}
void main(void)
{
Init_GPIO();
Init_ExtInt();
EA = 1; // 全局中断使能
while (1);
}
```
阅读全文