void keyscan() { if(!key1) { delay(10); if(!key1) { if(flag_mode) { if(miao>0)miao--; }else led=0; while(!key1){delay(10);while(!key1);} } } if(!key2) { delay(10); if(!key2) { if(flag_mode) { if(miao<999)miao++; }else led=1; while(!key2){delay(10);while(!key2);} } } if(!key3) { delay(10); if(!key3) { if(bz){flag_mode=!flag_mode;mb=sec=0;} else bz=1; while(!key3){delay(10);while(!key3);} } } }
时间: 2024-01-06 16:06:42 浏览: 48
这是一个按键扫描函数,它主要用于检测三个按键的状态并根据按键状态执行不同的操作。
第一个if语句检测第一个按键的状态,如果按下了key1,则会减少miao变量的值,如果flag_mode为真,则miao变量的值可以为0,否则会将led灯关闭。在while循环中等待按键释放。
第二个if语句检测第二个按键的状态,如果按下了key2,则会增加miao变量的值,如果flag_mode为真,则miao变量的值最大可以为999,否则会将led灯打开。在while循环中等待按键释放。
第三个if语句检测第三个按键的状态,如果按下了key3,则会根据bz标志位执行不同的操作。如果bz为真,则将flag_mode标志位取反,并将mb和sec变量的值清零;否则将bz标志位置为真。在while循环中等待按键释放。
其中,delay(10)函数用于延时10ms,while循环用于等待按键释放。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![dll](https://img-home.csdnimg.cn/images/20210720083646.png)
![md](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![m](https://img-home.csdnimg.cn/images/20210720083646.png)
![sh](https://img-home.csdnimg.cn/images/20210720083646.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)