|
int keyscan()
{
uchar temp,z,x;
DDRB=0xf0;
PORTB=0x0f;
x=PORTB&0x0f;
if(x!=0x0f)
{
delay1ms(10);
x=PORTB&0x0f;
if(x!=0x0f)
{
temp=PORTB&0x0f;
DDRB=0x0f;
PORTB=0xf0;
z=temp|PORTB;
x=PORTB&0xf0;
while(x!=0xf0)//松手检测
{
x=PORTB&0xf0;
}
switch(z)
{
case 0xee: num =0; break;
case 0xde: num =4; break;
case 0xbe: num =8; break;
case 0x7e: num =12; break;
case 0xed: num =1; break;
case 0xdd: num =5; break;
case 0xbd: num =9; break;
case 0x7d: num =13; break;
case 0xeb: num =2; break;
case 0xdb: num =6;break;
case 0xbb: num =10;break;
case 0x7b: num =14;break;
case 0xe7: num =3;break;
case 0xd7: num =7;break;
case 0xb7: num =11;break;
case 0x77: num =15;break;
default:num=988;
}
}
}
return num;
}
只要帮我 改一下 这个 键盘 扫描的 函数,只要我按下键,然后 return的 值是 与之对应的 数字 比如 0 、1 、2 、3 之类的就行。
搞了好久 没行。 键盘的 图 就是 上图,用的是 PB口。等待 高人。圣人,指点迷津的时候到了,也没那么夸张,能有帮助的回复,都万分感谢。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|