该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
各位大佬,我是一名单片机小白,要求一个选手通过P2按键抢答后其他选手按下时没反应,可是我的程序按了其他按键数字也跟着变,换了几种方式都改变不了,请大家帮我看看哪个地方出错了
#include
#define uint unsigned int
#define uchar unsigned char//宏定义
sbit host=P3^0;
sbit deng=P3^6;
uchar flag=0;
uchar code table[]={0x40,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90};//共阴数码管"0-9"编码表
void delay(uint c) // 延时子程序
{
uint i,j;
for(;c>0;c--)
for(i=142;i>0;i--)
for(j=2;j>0;j--);
}
void INT_0() interrupt 0
{
EX0=0;
delay(20);
EX0=1;
switch(P2)
{
case 0xfe: if(flag==1) P1=0xfe;deng=1;num=0;break; //按键1
case 0xfd: if(flag==1) P1=0xfd;deng=1;num=1;break; //按键2
case 0xfb