提供困则思路,仅供参考
我觉得你这种情况,应该在程序里做一个自锁程序。流程如下:
1、声明一个按键状态变量key_status,并初始化为0
2、当按键按下并抬起时(此处应该做软件滤波),认为按键被触发,此时:
如果key_status==0, 就让key_status赋值为1
如果key_status==1, 就让key_status赋值为0
3、 *** 纵杆作用七段数码管动作程序只有在key_status==1的时候执行,其他不动作
while(1){
...
if(key_status == 1)
{
孝巧 //执行 *** 纵杆作用七段数码管动作程汪慎棚序
}
...
}
keyflag应该是判颂灶断某个按键按了几次,不安的时候为0if(KeyFlag == 0)
{
}
按一次时执行
else if(KeyFlag == 1)
{
if(BUTTON_add == 0 &&KeyLock ==0)
{
}
if(BUTTON_reduce == 0 &&KeyLock ==0)
{
}
按二次时执行
else if(KeyFlag == 2){
if(BUTTON_add == 0 &&KeyLock ==0)
{
}
if(BUTTON_reduce == 0 &&KeyLock ==0)
{
}
一楼正解,主要按键扩展标志是用来节省资源野肢扮的,用最少的按键实饥凯现最多的功能!
if(keypress==true)检测有键按下 {delay_us(50) 延桐哗拍迟50us,软件滤波防抖动if(keypress==true) 检测有键被按下 key_value=P1提取键值芦拦 {switch(key_value) 识别是那个键被局羡按下了 case 0x01: XXX;breakcase 0x02:XXXBREAK进入对应工步或者动作即可。 ...... } } }欢迎分享,转载请注明来源:内存溢出
评论列表(0条)