case 0xFE:hang=5;break;//P1.0為第6行
case 0xFD:hang=4;break;//P1.1為第5行
case 0xFB:hang=3;break;//P1.2為第4行
case 0xF7:hang=2;break;//P1.3為第3行
case 0xEF:hang=1;break;//P1.4為第2行
case 0xDF:hang=0;break;//P1.5為第1行
}
P1=0; //P1全低電平
P3=0xFF;//P3全高電平
switch(P3&0xFF)
{
case 0xFE:lie=4;break; //P1.0為第5列
case 0xFD:lie=3;break; //P0.5為第4列
case 0xFB:lie=2;break; //P0.6為第3列
case 0xF7:lie=1;break; //P0.7為第2列
case 0xEF:lie=0;break; //P0.7為第1列
}
P1=0xFF; //P1全高電平
P3=0; //P3全低電平
while(P1!=0xFF||P3!=0); //按鍵松開后才返回值
key=tab1[hang][lie];
}
else
key='_';
return (key);
}