uchar key_scan() { unsigned char num,x,n,m; P1=0x0f; n=(P1&0x0f); P1=0xf0; m=(P1&0xf0); if((n!=0x0f)||(m!=0xf0)) x=n|m; switch(x) { case 0xee:num=1;break; case 0xde:num=2;break; case 0xbe:num=3;break; case 0xed:num=4;break; case 0xdd:num=5;break; case 0xbd:num=6;break; case 0xeb:num=7;break; case 0xdb:num=8;break; case 0xbb:num=9;break; case 0xe7:num=6;break; case 0xd7:num=7;break; case 0xb7:num=8;break; } return(num); } |