C51按键双功能
独立按键按一次时是一种功能、再按一次又是另一种功能
状态机制处理
可以设置长按和短按实现功能啊
这个还是长按 和短按 就可以解决问题了的。没必要1次2次啊
要不双击~~
直接设置一个标志位,按一下加一下,标志位的每一个数值代表每一种功能
神马浮云
while(!key);
num++;
if(num==xx)
{
num=0;
}
switch case(num)
{
case 1:
case 2:
case 3:
……
}
uchar key()
{
uint j,i=0;
if(k1==0) //判断按键有没有按下
{
delay(3); //延时消除抖动
if(k1==0) //再次判断有没有按下
{
i=1; //第一次按下返回数值班让i=1
if(k1==1);// 有没有放手
{
for(j=0;j<=200;j++)
{
if(k1==0) //第二次判断按键有没有按下
{
delay(5); // 延时消除抖动
if(k1==0) //第二判断有没有按下
{
i=2; //若第二按下则返回数值让i=2
}
}
delay(1);
}
}
while(k1==0); //按键有没有放手
return i; // 返回数值i
}
}
}
是不是这样子呢?麻烦帮我看下? 实现不了功能 ?
感觉好复杂,功能实现了吗?
没有哦 就是不会做 请大侠们多多指数啊
用延时看看行不行
156810.
同求!