51单片机 2个独立按键控制一个led

k3是总开关,k1是二级开关。按下k1,然后按下 k2,灯长亮。如下(延时已写好):
if(k3==0){
delay1(10); //消抖
if(k3==0){
while(!k3){//等待按键松开。
if(k1==0){
delay1(10); //消抖
if(k1==0){
while(!k1);//等待按键松开。
LED=~LED;}
但等却不亮了。求大神解答~~谢谢(必须先按k3再按k1灯亮,先按k1再按k3灯不亮)

//k3是总开关,k1是二级开关。

//先按下k3,然后按下 k1,灯亮灭交替。

//--------------------------------------

//应该先检测二级开关 K1。

//发现 K1 按下后,再检测 K3 是不是已经在按着。

if(!k1) { //先检测二级开关
delay1(10); //消抖
if(!k1) {
while(!k1); //等待松开

//松开后,再检测 k3:

if(!k3) { //再检测总开关
delay1(10); //消抖
if(!k3) {
while(!k3);//等待松开
LED = ~LED;//亮灭交替
}
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-07-14
加一个qq吧,你的单片机要好好学习了!本回答被提问者采纳