标题: 矩阵键盘扫描程序,理解简单 [打印本页]

作者: 李伟林    时间: 2018-5-3 16:09
标题: 矩阵键盘扫描程序,理解简单
/*按键扫描子函数*/
uchar KEY_SCAN(
{
uchar key;
uchar key_buf;
P1=0x01;
key_buf=P1;
if(key_buf!=0x01)
{
delay(1);/*延时消抖        */
if(P1==key_buf)/*再次判断是否有键按下*/
{
if(key_buf==0x11)
key=0;
else if(key_buf==0x21)
key=1;
else if(key_buf==0x41)
key=2;
else if(key_buf==0x81)
key=3;}
}
P1=0x02;
key_buf=P1;
if(key_buf!=0x02)
{
delay(1);/*延时消抖        */
if(P1==key_buf)
{
if(key_buf==0x12)
key=4;
else if(key_buf==0x22)
key=5;
else if(key_buf==0x42)
key=6;
else if(key_buf==0x82)
key=7;}
}
P1=0x04;
key_buf=P1;
if(key_buf!=0x04)
{
delay(1);
if(P1==key_buf)
{
if(key_buf==0x14)
key=8;
else if(key_buf==0x24)
key=9;
else if(key_buf==0x44)
key=10;
else if(key_buf==0x84)
key=11;}
}
P1=0x08;
key_buf=P1;
if(key_buf!=0x08)
{
delay(1);
if(P1==key_buf)
{
if(key_buf==0x18)
key=12;
else if(key_buf==0x28)
key=13;
else if(key_buf==0x48)
key=14;
else if(key_buf==0x88)
key=15;}
}
return key;}






欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1