欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

無法讀取單片機(jī)P0口各個位的狀態(tài)

查看數(shù): 2512 | 評論數(shù): 7 | 收藏 0
關(guān)燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發(fā)布時間: 2021-10-16 15:50

正文摘要:

我這樣寫程序能讀出P0口的狀態(tài)嗎? 經(jīng)過開發(fā)板測試發(fā)現(xiàn),讀不出來,請高手指點(diǎn)一下為什么?

回復(fù)

ID:450037 發(fā)表于 2021-10-18 10:38
xuyaqi 發(fā)表于 2021-10-16 19:27
給個參考:

void Getch ( )        //取鍵值函數(shù)

也不行,但是可以讀取出行的數(shù)據(jù),比如,第一行,程序顯示01111111,第二行10111111,第三行11011111第四行就是11101111。但是具體哪個按鍵按下去的,它反應(yīng)不出來,怎么回事啊
ID:450037 發(fā)表于 2021-10-18 08:09
dzc3458 發(fā)表于 2021-10-16 18:43
這種4x4矩陣鍵盤好像不能直接讀數(shù)據(jù),需要逐行掃描,先把掃描行置0,然后檢測按鍵,看看哪個列為0,才能判 ...

確實(shí)是不能直接讀數(shù)據(jù),但是覺得不應(yīng)該啊,為什么會讀取不了數(shù)據(jù)呢
ID:450037 發(fā)表于 2021-10-18 08:06
yzwzfyz 發(fā)表于 2021-10-16 16:14
不可能讀不到,無論是0,是1,總會讀到一個值的。怎么能說讀不到呢?

就讀不了,你說奇怪不
是不是跟單片機(jī)掃描有關(guān)系
ID:94031 發(fā)表于 2021-10-16 19:27
給個參考:

void Getch ( )        //取鍵值函數(shù)
{
        unsigned char X,Y,Z;
        P0=0x0f; //先對P0 置數(shù) 行掃描
        if(P0!=0x0f) //判斷是否有鍵按下
        {
                delay10ms(); //延時,軟件去干擾
                if(P0!=0x0f) //確認(rèn)按鍵按下
                {
                                X=P0; //保存行掃描時有鍵按下時狀態(tài)
                                P0=0xf0; //列掃描
                                Y=P0;    //保存列掃描時有鍵按下時狀態(tài)
                                Z=X|Y; //取出鍵值
               
                                switch ( Z ) //判斷鍵值(那一個鍵按下)
                                {
                                        case 0xee: k=0; break; //對鍵值賦值
                                        case 0xed: k=1; break;
                                        case 0xeb: k=2; break;
                                        case 0xe7: k=3; break;
                                        case 0xde: k=4; break;
                                        case 0xdd: k=5; break;
                                        case 0xdb: k=6; break;
                                        case 0xd7: k=7; break;
                                        case 0xbe: k=8; break;
                                        case 0xbd: k=9; break;
                                        case 0xbb: k=10;break;
                                        case 0xb7: k=11;break;
                                        case 0x7e: k=12;break;
                                        case 0x7d: k=13;break;
                                        case 0x7b: k=14;break;
                                        case 0x77: k=15;break;
                                }
                        }
                }
}
ID:419909 發(fā)表于 2021-10-16 19:03
這個讀不了的
試試下面的:
switch(P0|0x00)
ID:964308 發(fā)表于 2021-10-16 18:43
這種4x4矩陣鍵盤好像不能直接讀數(shù)據(jù),需要逐行掃描,先把掃描行置0,然后檢測按鍵,看看哪個列為0,才能判斷第幾行第幾列,應(yīng)該是這樣的
ID:123289 發(fā)表于 2021-10-16 16:14
不可能讀不到,無論是0,是1,總會讀到一個值的。怎么能說讀不到呢?

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

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

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