2*6矩阵键盘通过DB15延长线后出现出现其中一个键没反应,其他键都是好的,直接主板连按键都好的。这是怎么回事,延长后的按键连接都是正常的,按键按下去对应的引线上也会有电压变化。
是驱动能力不够吗?
按键扫描程序如下:
u8 key_scan(void)
{
u8 k,codevalue,j;
if(check_key()==0)return(0xff);
else
{
delay_ms(12);
if(check_key()==0) return(0xff);
else
{
K_H1=0;
K_H2=1;
if((P2|0xc0)!=0xc0)
{
k=0x01;
for(j=0;j<6;j++)
{
if((P2&k)!=0)
{
codevalue=j;
return(codevalue);
}
else
{
k<<=1;
return(0xff);
}
}
}
else return(0xff);
K_H1=1;
K_H2=0;
if((P2|0xc0)!=0xc0)
{
k=0x01;
for(j=0;j<6;j++)
{
if((P2&k)!=0)
{
codevalue=j+6;
return(codevalue);
}
else
{
k<<=1;
return(0xff);
}
}
}
else return(0xff);
}
}
} |
|