欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

CC2530(zigbee)入门:按键检测(输入)

最编程 2024-04-13 14:40:36
...
#include <ioCC2530.h> //定义LED灯的端口 #define LED1 P1_2 #define LED2 P1_3 //定义KEY按键的端口 #define KEY1 P1_0 //定义按键为P1_0口控制 #define KEY2 P1_1 //定义按键为P1_1口控制 /* 函数功能: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; } } }