cc2530单片机按键控制灯亮灭
时间: 2023-09-18 11:13:26 浏览: 88
下面是基于CC2530单片机的按键控制灯亮灭的代码:
```c
#include "ioCC2530.h"
#define LED P1_0
void Init_Port()
{
P1SEL &= ~0x01;
P1DIR |= 0x01;
P1 = 0x00;
P0SEL &= ~0x0C;
P0DIR &= ~0x0C;
P0INP |= 0x0C;
}
void Delay(unsigned int i)
{
unsigned char j;
while(i--)
{
for(j=0;j<125;j++);
}
}
void main()
{
unsigned char key_value;
Init_Port();
while(1)
{
key_value = P0 & 0x0C;
if(key_value == 0x08) //按下S1
{
LED = 1;
}
else if(key_value == 0x04) //按下S2
{
LED = 0;
}
Delay(10);
}
}
```
代码中,我们首先定义了LED的管脚为P1_0,然后初始化了P1_0为输出,P0_2和P0_3为输入,并使能它们的上拉电阻。然后在while循环中不断读取P0_2和P0_3的值,当P0_2的值为0时,表示按下了S1按键,此时点亮LED灯;当P0_3的值为0时,表示按下了S2按键,此时熄灭LED灯。最后加上一个延时函数,避免按键抖动造成的误触发。
阅读全文