单片机实训篮球记分牌程序代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else fm=0;//24秒倒计时
}
}
//**延时程序***//
void delay (unsigned int t)
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<200;j++);
}
//**************主程序*********************//
if(!s2)
{delay(25);
if(!s2)
{b++;P3=0xbf;if(b==100) b=0;}
}
}//加一分
if(!s5)
{
if(!s1)
{delay(25);
if(!s1){a=a+2;P3=0xef;if(a==100) a=0; }
}
if(!s2)
{delay(25);
if(!s2)
{b=b+2;P3=0xbf;if(b==100) b=0;}
}
}//加两分
if(!s6)
{
if(!s1)
{delay(25);
if(!s1){a=a+3;P3=0xef;if(a==100) a=0; }
}
if(!s2)
{delay(25);
if(!s2)
{b=b+3;P3=0xbf;if(b==100) b=0;}
unsigned char a=0,b=0,ag=0,bg=0;
unsigned char miao=24,go=0,qh=0;
unsigned int bittime=0,bitdisplay=0;
sbit s1=P1^0;
sbit s2=P1^1;
sbit s3=P1^2;
sbit s4=P1^3;
if(qh==2)P0=Tab[ag%10];
break;
case 2:
P2=0xfb;
if(qh==0)P0=Tab[b/10];
if(qh==1)P0=0x00;
if(qh==2)P0=Tab[bg/10];
break;
case 3:
P2=0xf7;
if(qh==0)P0=Tab[b%10];
if(qh==1)P0=0x00;
if(qh==2)P0=Tab[bg%10];
break;
}
bitdisplay++;bittime++;
if(bitdisplay==4) {bitdisplay=0;}
if(bittime==500)
{bittime=0;
if(go)
if(miao--==0)
{go=0;miao=24;P3=0x7f;fm=1;}
switch (bitdisplay)
{
case 0:
P2=0xfe;
if(qh==0)P0=Tab[a/10];
if(qh==1)P0=Tab[miao/10];
if(qh==2)P0=Tab[ag/10];
break;
case 1:
P2=0xfd;
if(qh==0)P0=Tab[a%10];
if(qh==1)P0=Tab[miao%10];
}
}//计犯规
}பைடு நூலகம்
}
}}
{miao=24;go=0;}
}
if(!s7)
{
{if(!s1)
{delay(25);
if(!s1){ag++;go=0;P3=0xef;if(ag==100) ag=0;}
}
if(!s2)
{delay(25);
if(!s2){bg++;go=0;P3=0xbf;if(bg==100) bg=0;}
sbit s5=P1^4;
sbit s6=P1^5;
sbit s7=P1^6;
sbit fm=P2^4;
///***************定时中断服务程序***********************//
void timer0 (void) interrupt 1 using 0
{
TH0=0Xf8;TL0=0x30;//定时器赋初值
void main(void)
{
TMOD=0x01;TH0=0xf8;TL0=0x30; //定时2ms
EA=1;ET0=1;TR0=1; //开启定时器
while(1)
{
if(!s4)
{
if(!s1)
{delay(25);
if(!s1){a++;P3=0xef;if(a==100) a=0; }
}
#include<reg52.h>
//***************************数码管段代码表**********************************//
unsigned char Tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};
}
}//加三分
if(!s3)
{delay(25);
if(!s3)
{if(qh<2)
qh=qh+1;
else qh=0;
} //显示切换
}
if(!s4)
{delay(25);
if(!s4)
{if(go++==1)
go=0;}//倒计时
}
if(!s5)//重置24s倒计时
{delay(25);
if(!s5)
相关文档
最新文档