单片机学习小组
直播中

那年我十七_

12年用户 532经验值
私信 关注

你知道单片机按键扫描的一般思路有哪几种吗

你知道单片机按键扫描的一般思路有哪几种吗?

回帖(1)

吴纯英

2022-2-23 10:27:44
以下给出三种按键扫描的思路,可以借鉴

第一种:

//按键扫描(支持连续按)
u8 KEY_Scan(void)
{
    if(key按下)
    {
        delay(10);
        if(key按下)
       {
            return 1;
       }
    }
    return 0;
}
第二种:

//按键扫描(不支持连续按)
u8 key_scan(void)
{
    static u8 key_flag=1;
    if(key_flag==1 && key按下)
    {
        delay(10);
        key_flag=0;
        if(key确实按下)
        {   
            return 1;
        }
    }
    else if(key没有按下)
    {
        key_flag=1;
        return 0;
    }
}
第三种:

uint8_t Key_Scan(void)
{                       
        /*检测是否有按键按下 */
        if(按键按下)  
        {         
                /*等待按键释放,释放完才会返回1 */
                while(按键按下);   
                return         1;         
        }
        else
                return 0;
}

举报

更多回帖

发帖
×
20
完善资料,
赚取积分