zigbee的入门日记3
1.今天开始了第一次使用按键的程序,瞎起个名字吧——按键C
本文件硬件基础基于胜达电子zigbee学习板子,侵删。
老规矩,先上代码~
/**************************************************
功能描述 : 按键亮灯,按下S3后LED2开关,按下S4后LED3
开关,按下S5后LED2.LED3开关
输入参数 : NONE
输出参数 : NONE
返 回 值 : NONE
***************************************************/
#include <iocc2530.h>
#define LED2 P0_1 //定义各个端口
#define LED3 P0_4
#define S3 P1_1
#define S4 P2_0
#define S5 P0_5
void delay() //延时函数
{
int i,j;
for(i=0;i<200;i++)
for(j=0;j<10;j++);
}
void io() //对于寄存器和端口的初始化
{
P0DIR |=0XFF; //三个DIR输入输出的配置(因为三个LED分别在三个大口上面)
P1DIR |=0XFF;
P2DIR |=0XFF;
LED2=0; //默认是亮的
LED3=0;
}
unsigned char key3() //S3控制部分
{
if(S3==0) //条件控制语句,如果按键按下
{
delay(); //延时一段时间,防抖
if(S3==0) //确认按键按下
{while(!S3); //确认按键松开
return 1; //返回 1
}
}
return 0; //如果没有按下的操作即返回 0
}
unsigned char key4() //S4控制部分
{
if(S4==0)
{
delay();
if(S4==0)
{while(!S4);
return 1;
}
}
return 0;
}
unsigned char key5() //S5控制部分
{
if(S5==0)
{
delay();
if(S5==0)
{while(!S5);
return 1;
}
}
return 0;
}
void main() //主程序
{
delay(); //延时
io(); //载入初始设置
while(1)
{
if(key3()) //S3程序部分
{
LED2=~LED2;
}
if(key4()) //S4程序部分
{
LED3=~LED3;
}
if(key5()) //S5程序部分
{
LED2=~LED2;
LED3=~LED3;
}
}
}
想想下一篇要弄些什么呢……
2018.3.16