CC2530(zigbee)入门:按键检测(输入)
最编程
2024-04-13 14:40:36
...
//定义LED灯的端口
//定义KEY按键的端口
/*
函数功能:LED灯IO口初始化
硬件连接:LED1-->P1_2 , LED2-->P1_3
*/
void LED_Init(void)
{
P1DIR |=0x3<<2; //配置P1_2、P1_3为输出模式
LED1 = 1;
LED2 = 1;
}
/*
函数功能:按键IO口初始化
硬件连接:KEY1-->P1_0 KEY2-->P1_1
*/
void KEY_Init(void)
{
P1SEL&=~(0x3<<0); //配置P1_0,P1_1处于通用GPIO口模式
P1DIR&=~(0x3<<0); //配置P1_0,P1_1为输入模式
P1INP|= 0x3<<0; //上拉
}
void delay10ms(void) //误差 0us
{
unsigned char a,b,c;
for(c=193;c>0;c--)
for(b=118;b>0;b--)
for(a=2;a>0;a--);
}
/*
函数功能:按键扫描
返 回 值:按下的按键值
*/
unsigned char Key_Scan(void)
{
static unsigned char stat=1;
if((KEY1==0||KEY2==0)&&stat)
{
stat=0;
delay10ms();
if(KEY1==0)return 1;
if(KEY2==0)return 2;
}
else
{
if(KEY1&&KEY2)stat=1;
}
return 0;
}
/*主函数*/
void main(void)
{
unsigned char key;
LED_Init();//初始化LED灯控制IO口
KEY_Init();//按键初始化
while(1)
{
key=Key_Scan();
if(key)
{
LED1 = !LED1;
LED2 = !LED2;
}
}
}
上一篇: TMK/QMK代码释义(自学说明)
下一篇: 模拟矩阵键盘手册