void saomiao()
{
uchar n,k;
P1=0x0F;
n=P1^0x0F;
switch(n)
{
case 1:k=0;break;
case 2:k=1;break;
case 4:k=2;break;
case 8:k=3;break;
default:return;
}
P1=0xF0;
n=(P1>>4)^0x0F;
switch(n)
{
case 1:k+=0;break;
case 2:k+=4;break;
case 4:k+=8;break;
case 8:k+=12;break;
default:return;
}
KEY=k;
}