void main()
{
uchar key_l,key_h;
uchar key;
P3=0xf0;
key_l=P3;
key_l=key_l & 0xf0;
if(key_l!0xf0)
{
delay_50us(100);
if(key_l!=0xf0)
{
key_l=P3&0xf0; //11100000
key_l=key_l|0x0f; //11101111
P3=key_l;
key_h=P3;
key_h=key_h & 0x0f; //00001110
key_l=key_l&0xf0; //11100000
key=key_h+key_l //11101110
}
}
switch(key)
case 0xee: PI=smg_du[0]; break;
case 0xde: PI=smg_du[0]; break;
case 0xbe: PI=smg_du[0]; break;
case 0x7e: PI=smg_du[0]; break;
case 0xed: PI=smg_du[0]; break;
case 0xdd: PI=smg_du[0]; break;
case 0xbd: PI=smg_du[0]; break;
case 0x7d: PI=smg_du[0]; break;
case 0xeb: PI=smg_du[0]; break;
case 0xdb: PI=smg_du[0]; break;
case 0xbb: PI=smg_du[0]; break;
case 0x7b: PI=smg_du[0]; break;
case 0xe7: PI=smg_du[0]; break;
case 0xd7: PI=smg_du[0]; break;
case 0xb7: PI=smg_du[0]; break;
case 0x77: PI=smg_du[0]; break;
}
|