这是检测第一行的程序
PORTA=0xdf; //1101 1111扫描SCANO0行
RB1=1;
if(PORTC!=0xf8) //有按键按下
{
tmp=PORTC;
delay(5);
RB2=1;
if(PORTC!=0xf8) //延时后确定有按键按下
{
switch(tmp)
{
case 0xdf:key_num=0x11;break;
case 0xef:key_num=0x12;break;
case 0xf7:key_num=0x13;break;
case 0xfb:key_num=0x14;break;
case 0xfd:key_num=0x15;break;
case 0xf0:key_num=0x16;RB0=1;break; //fe KKE14
// case 0xf8:RB1=1;break; // 1111 1000
}
while(tmp!=0xf8) //等待按键松手 while(tmp!=0xff)
{
tmp=PORTC;
}
}
}
|