日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]鍵盤掃描有中斷方式和查詢方式#i nclude "jn8515def.h"/******以下是鍵盤排列圖****** | | | PC0 ___1|__2|__3|__ | | | PC1 ___4|__5|__6|__ | | | PC2 ___7|__8|__9|__ | | | PC3 ___C|__0|__S|__

鍵盤掃描有中斷方式和查詢方式

#i nclude "jn8515def.h"

/******以下是鍵盤排列圖******
| | |
PC0 ___1|__2|__3|__
| | |
PC1 ___4|__5|__6|__
| | |
PC2 ___7|__8|__9|__
| | |
PC3 ___C|__0|__S|__
| | |
| | |
PC4 PC5 PC6
*****************************/
//下沿為有效鍵值 0 1 2 3 4 5 6 7 8 9 s(10) c0 c1 c4 c7 cs c
flash uchar cKeyTab[]={0x57,0x6e,0x5e,0x3e,0x6d,0x5d,0x3d,0x6b,0x5b,0x3b,0x37,0x47,0x66,0x65,0x63,0x27,0x67};
flash uchar cKeyOut[]={0xef,0xdf,0xbf}; //其中一列為0
flash uchar cKeyDir[]={0x10,0x20,0x40};
uchar cMenu=0;

uchar cKeyVal()
{ static uchar cLastKv,cSameKvNum=0;
static bit bKeyPress=0;
uchar i,j,cKeytmp=0xff;
for(i=0;i<3;i++)
{ DDRC&=0x80;
DDRC|=cKeyDir[i];
PORTC=cKeyOut[i];
#asm("nop")
#asm("nop")
cKeytmp=PINC&0x7f;
for(j=0;j<16;j++)
{ if(cKeyTab[j]==cKeytmp)
{ cWaitTime=10; //延時(shí)去抖
goto Next;
}
}
}
// do{ //等待按鍵釋放
// }while(!bKeyPress);
cSameKvNum=0;
bKeyPress=0;
return 0xff;
Next:
// delay_ms(2);
if(bKeyPress) return 0xff;
if(cKeytmp==cLastKv)
{ if(++cSameKvNum>10)
{ cSameKvNum=0;
bKeyPress=1;
return j;
}
}
else
{ cSameKvNum=0;
cLastKv=cKeytmp;
}

return 0xff;//返回空鍵值
}

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉