找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1465|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

這是一段鍵盤掃描程序,我知道作用,但不知道每條為什么這樣寫,煩請哪位給逐句解....

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:879080 發(fā)表于 2023-2-28 20:04 | 只看該作者 回帖獎勵 |正序?yàn)g覽 |閱讀模式
unsigned char GetKey(void)
{
        unsigned char KeyTemp,CheckValue,Key = 0x00;
        CheckValue = P3&0x4c;
        if(CheckValue==0x4c)
                return 0x00;
        Delay1ms(10);
        KeyTemp = P3&0x4c;
        if(KeyTemp==CheckValue)
                return 0x00;

        if(!(CheckValue&0x04))
                Key|=0x01;
        if(!(CheckValue&0x08))
                Key|=0x02;
        if(!(CheckValue&0x40))
                Key|=0x04;
        return Key;
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

板凳
ID:879080 發(fā)表于 2023-3-1 16:57 | 只看該作者
wulin 發(fā)表于 2023-3-1 09:22
unsigned char GetKey(void)
{//3個(gè)按鍵連接在P3.6、P3.3、P3.2
        unsigned char KeyTemp,CheckValue,Key  ...

非常感謝!有老師指導(dǎo)才能使我不斷進(jìn)步!
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:213173 發(fā)表于 2023-3-1 09:22 | 只看該作者
unsigned char GetKey(void)
{//3個(gè)按鍵連接在P3.6、P3.3、P3.2
        unsigned char KeyTemp,CheckValue,Key = 0x00;
        CheckValue = P3&0x4c;  //按鍵的常態(tài)值賦值變量CheckValue 01001100
        if(CheckValue==0x4c)   //兩者相等,說明沒有鍵按下
                return 0x00;        //返回鍵值0x00,不執(zhí)行以下語句
                          //如果if(CheckValue==0x4c)為假,說明有鍵按下或可能在抖動中,也可能是干擾信號
        Delay1ms(10);          //延時(shí)10ms,等待按鍵穩(wěn)定
        KeyTemp = P3&0x4c;     //穩(wěn)定后再將按鍵的變態(tài)值賦值變量KeyTemp 01001100
        if(KeyTemp==CheckValue)//判斷兩個(gè)變量是否相等,如果相等,則不是按鍵按下
                return 0x00;        //返回鍵值0x00,不執(zhí)行以下語句
                               //兩個(gè)變量不相等,
        if(!(CheckValue&0x04)) //順序判斷是哪個(gè)鍵按下或哪幾個(gè)鍵組合按下
                Key|=0x01;
        if(!(CheckValue&0x08))
                Key|=0x02;
        if(!(CheckValue&0x40))
                Key|=0x04;
        return Key;            //返回鍵值Key
}
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表