IRIN=1;//初始化端口
}
char Judge()
{
char num=-1;
if(flag_1)
{
flag_1=2;flag_2=0;
switch(IrValue[2])
{
case 0x19:num=12;break;
case 0x40:num=15;break;
case 0x43:num=7;break;
case 0x15:num=11;break;
case 0x09:num=3;break;
case 0x0D:num=14;break;
case 0x16:num=13;break;
case 0x0C:num=8;break;
case 0x18:num=9;break;
case 0x5E:num=10;break;
case 0x08:num=4;break;
case 0x1C:num=5;break;
case 0x5A:num=6;break;
case 0x42:num=0;break;
case 0x52:num=1;break;
case 0x4A:num=2;break;
default :num=16;break; //
}
}
return num;
}
char keyscan() // 鍵盤掃描程序
{
char num=-1;
P1=0xfe;
if(P1!=0xfe)
{
delay(20);// 延遲20ms
if(P1!=0xfe) { temp=P1&0xf0;flag_2=2;
switch(temp)
{
case 0xe0:num=0; break; //7
case 0xd0:num=1; break; //8
case 0xb0:num=2; break; //9
case 0x70:num=3; break; //÷
}
} while(P1!=0xfe);
}
P1=0xfd;
if(P1!=0xfd)
{
delay(20);
if(P1!=0xfd){ temp=P1&0xf0;flag_2=2;
switch(temp)
{
case 0xe0:num=4; break; //4
case 0xd0:num=5; break; //5
case 0xb0:num=6; break; //6
case 0x70:num=7; break; //×
}
} while(P1!=0xfd);//等待按鍵釋放
}
P1=0xfb;
if(P1!=0xfb){ delay(20);
if(P1!=0xfb) { temp=P1&0xf0;flag_2=2;
switch(temp)
{
case 0xe0:num=8; break; //1
case 0xd0:num=9; break; //2
case 0xb0:num=10; break; //3
case 0x70:num=11; break; //-
}
} while(P1!=0xfb);
}
P1=0xf7;
if(P1!=0xf7){ delay(20);
if(P1!=0xf7){ temp=P1&0xf0;flag_2=2;
switch(temp)
{
case 0xe0:num=12; break; //清0鍵
case 0xd0:num=13; break; //數(shù)字0
case 0xb0:num=14; break; //等于鍵
case 0x70:num=15; break; //加
}
} while(P1!=0xf7);
}
return num;
}
void display(char num)
{
if(flag_1==2||flag_2==2)
{