int keydown() //扫描
{
unsigned char h,l,keyvalue;
static int a;
a=1;
P1=0xf0;
h=P1&0xf0;
P1=0x0f;
l=P1&0x0f;
switch(h+l)
{
case 0x77:keyvalue=7;break;
case 0x7b:keyvalue=8;break;
case 0x7d:keyvalue=9;break;
case 0x7e:keyvalue='+';break;
case 0xb7:keyvalue=4;break;
case 0xbb:keyvalue=5;break;
case 0xbd:keyvalue=6;break;
case 0xbe:keyvalue='-';break;
case 0xd7:keyvalue=1;break;
case 0xdb:keyvalue=2;break;
case 0xdd:keyvalue=3;break;
case 0xde:keyvalue='*';break;
case 0xe7:keyvalue=0;break;
case 0xeb:keyvalue='=';break;
case 0xed:keyvalue='c';break;
case 0xee:keyvalue='/';break;
}
a=a*10+keyvalue;
return a;
delay(1000);
}