完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
zigbee基础应用(二)按键使用 按键相对来说比较好理解,又可以通过流水灯来看现象,所以紧随流水灯其后的当然是按键的学习 1.主芯片篇 基本所有的实现过程主芯片都是参与的,而按键所涉及到的主要是CC2530的寄存器: 按键S1的初始化: P0SEL &= ~0X02; /*0:通过I/O 1:外设功能*/ P0DIR &= ~0X02; //按键在P0.1口,设置为输入模式 P0INP |= 0x02; //上拉 2.外部设备篇 如电路图所示 没按下按键,上拉为高电平,按下按键则接地为低电平 3.软件实现篇 #include #define uint unsigned int #define uchar unsigned char //定义控制灯的端口 #define LED1 P1_0 //定义LED1为P10口控制 #define LED2 P1_1 //定义LED2为P11口控制 #define LED3 P1_4 //定义LED3为P14口控制 #define KEY1 P0_1 //定义按键为P01口控制 //函数声明 void Delay(uint); //延时函数声明 void InitiO(void); //初始化函数声明 void InitKey(void); //初始化按键函数声明 uchar KeyScan(void); //按键扫描函数声明 uchar Keyvalue = 0 ; //定义变量记录按键动作 uint KeyTouchtimes = 0 ; //定义变量记录按键次数 /**************************** //延时 *****************************/ void Delay(uint n) { uint i; for(i = 0;i /**************************** //按键初始化 *****************************/ void InitKey(void) { P0SEL &= ~0X02; /*0:通过I/O 1:外设功能*/ P0DIR &= ~0X02; //按键在P01口,设置为输入模式 P0INP |= 0x02; //上拉 } /**************************** //初始化程序,将P10、P11、P14定义为输出口,并将LED灯初始化为灭 *****************************/ void InitIO(void) { P1DIR |= 0x13; //P10、P11、P14定义为输出 LED1 = 1; LED2 = 1; LED3 = 1; //LED灯初始化为灭 } /***************************************** //按键动作记录函数 *****************************************/ uchar KeyScan(void) { if(KEY1 == 0) //高电平有效 { Delay(100); //检测到按键 if(KEY1 == 0) { while(KEY1==0); //直到松开按键 return(1); } } return(0); } /*************************** //主函数 ***************************/ void main(void) { InitIO(); //初始化LED灯控制IO口 InitKey(); //初始化按键控制IO口 while(1) { Keyvalue = KeyScan(); //读取按键动作 if(Keyvalue == 1) //按下按键S1设置为LED3,LED2,LED1倒序流水闪烁 { LED3 = !LED3; Delay(20000); LED2 = !LED2; Delay(20000); LED1 = !LED1; Delay(20000); } } } |
|
相关推荐 |
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
898 浏览 1 评论
1758 浏览 1 评论
3340 浏览 2 评论
如何用DRG模式控制AD9910管脚可以输出如图所示的雷达脉冲信号
29581 浏览 0 评论
29386 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-4-20 22:52 , Processed in 0.587655 second(s), Total 38, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号