Contents ...
udn網路城邦
單顆按鈕掃描副程式
2024/09/08 15:33
瀏覽38
迴響0
推薦0
引用0
// 按键扫描副程序

unsigned char button_scan() {

    if (button == 0) {  // 检测按键是否按下(低电平表示按下)

        delay(20);  // 延时20ms进行去抖动

        if (button == 0) {  // 再次确认按键是否依然按下

            while (button == 0);  // 等待按键释放(检测高电平)

            return 1;  // 按键按下并释放,返回1

        }

    }

    return 0;  // 按键未按下或未释放,返回0

}

按键扫描副程序 button_scan():


当检测到按键按下(button == 0),立即延时20ms进行去抖动处理。

延时后再次检测按键,如果仍然按下,则继续等待按键释放(高电平)。

如果按键被按下并释放,函数返回1,表示按键按下有效。

否则返回0,表示按键没有按下或抖动未通过
全站分類:興趣嗜好 其他
自訂分類:8051
上一則: 8051 使用陣列控制led
下一則: 壓電喇叭副程式

限會員,要發表迴響,請先登入