switch(P2) //检测按键,输出数码管、载入定时器初值、允许中断
{
case 0xfe:shumaguan=0xF9;tone1=0xfb;tone2=0xe9;EA=1;break;
case 0xfd:shumaguan=0xA4;tone1=0xfc;tone2=0x5c;EA=1;break;
case 0xfb:shumaguan=0xB0;tone1=0xfc;tone2=0xc1;EA=1;break;
case 0xf7:shumaguan=0x99;tone1=0xfc;tone2=0xef;EA=1;break;
case 0xef:shumaguan=0x92;tone1=0xfd;tone2=0x45;EA=1;break;
case 0xdf:shumaguan=0x82;tone1=0xfd;tone2=0x92;EA=1;break;
case 0xbf:shumaguan=0xF8;tone1=0xfd;tone2=0xd0;EA=1;break;
case 0x7f:shumaguan=0x79;tone1=0xfd;tone2=0xee;EA=1;break;
default: EA=0;SPK=0;shumaguan=0xff;//如果没有键按下则关闭中断和数码管
}
switch(P3)
{
case 0xfb:play1();break;
case 0xf7:play2();break;
}
}
/*****主程序*****/
void main(void)
{
initTimer();
shumaguan=0xff;
TR0=1;
ET0=1;
SPK=0;
while(1)
{
check_key();
}
}
(责任编辑:admin) |