DIY编程器网

标题: 4X4键盘程序 [打印本页]

作者: liyf    时间: 2011-4-30 12:55
标题: 4X4键盘程序
4X4键盘程序
//-----------4X4键盘程序--------------//
uchar keboard(void)
{ uchar xxa,yyb,i,key;
if((PINC&0x0f)!=0x0f) //是否有按键按下
{delayms(1); //延时去抖动
if((PINC&0x0f)!=0x0f) //有按下则判断
{ xxa="(PINC|0xf0); //0000xxxx
DDRC=0x0f;
PORTC=0xf0;
delay_1ms();
yyb="(PINC|0x0f); //xxxx0000
DDRC=0xf0; //复位
PORTC=0x0f;
while((PINC&0x0f)!=0x0f) //按键是否放开
{ display(data); }
i=4; //计算返回码
while(xxa!=0)
{ xxa=xxa>>1;
i--; }
if(yyb==0x80)
key=i;
else if(yyb==0x40)
key=4+i;
else if(yyb==0x20)
key=8+i;
else if(yyb==0x10)
key=12+i;
return key; //返回按下的键盘码
}
}
else return 17; //没有按键按下
}




欢迎光临 DIY编程器网 (http://diybcq.com/) Powered by Discuz! X3.2