51单片机怎么把按键设置为按下不允许松开后才运行

按键按下后再松开才为有效按键,
if((P1&0x0f)!=0x0f) //检测到有键按下
{
delay10ms(); //延时10ms再去检测
if(S1==0) //按键k1被按下
keyval=1;
if(S2==0) //按键k2被按下
keyval=2;
if(S3==0) //按键k3被按下
keyval=3;
if(S4==0) //按键k4被按下
keyval=4;
}

看你的标题确实搞不懂你到底是想干啥,不过大概能看出你可能要干啥,定义变量保存各个按键的状态,如果有必要,可以有个历史状态和当前状态。根据这些状态决定你要干啥。

再加上按键释放判断函数