加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

基于51单片机的篮球计分【2队,数码管,独立按键】(仿真)

12/06 08:10
494
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

篮球比赛赛场的计时计分器。

1.在整个比赛过程中记录比赛时间和改变比赛时间。

2.可以在比赛期间随时更新A和B队的比分。

3中场休息期间交换场地,交换A队和B队的位置。

4.当添加比赛分数时,如果有错误,可以手动更改赛场分数。

5.赛事结束时可以触发警报。

bit k4=P3^3;
sbit k5=P3^4;
sbit k6=P3^6;
sbit k7=P3^7;
sbit beep=P3^5;//蜂鸣器
sbit led1=P1^6;//LED
sbit led2=P1^7;
sbit smg1=P2^0;//数码管
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;
sbit smg5=P2^4;
sbit smg6=P2^5;
sbit smg7=P2^6;
sbit smg8=P2^7;

//数码管编码
uchar code smgduan[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uchar time=0,mode=0;//系统变量
uchar fena=0,fenb=0,flag=0;//分数
uchar start=0;//启动
uchar fen=0,miao=0;//计时
uchar beep_time=0;//蜂鸣器计时

//延时
void delay(uint i)
{
	while(i--);
}

void main()//主函数
{
	uchar k=0;
	beep=0;
	TMOD|=0X11;//定时器设置
	TH0=0X3C;
	TL0=0XB0;
	TH1=(65536-1000)/256;
	TL1=(65536-1000)%256;
	ET1=1;	
	ET0=1;//打开定时器0中断允许
	EA=1;//打开总中断
	TR0=1;//打开定时器
	while(1)
	{
		//点亮LED
		if(start==0)
		{
			led1=1;
			led2=1;
		} 
		if(start==1)
		{
			led1=0;
			led2=1;
		}
		if(start==2)
		{
			led1=1;
			led2=0;
		}
		//显示时间
		P0=smgduan[fen/10];
		smg1=0;
		delay(100);
		smg1=1;
		P0=smgduan[fen%10]+0x80;
		smg2=0;
		delay(100);
		smg2=1;
		P0=smgduan[miao/10];
		smg3=0;
		delay(100);
		smg3=1;
		P0=smgduan[miao%10];
		smg4=0;
		delay(100);
		smg4=1;
		//显示分数
		if(flag==0)
			P0=smgduan[fena/10];
		else
			P0=smgduan[fenb/10];
		smg5=0;
		delay(100);
		smg5=1;
			if(flag==0)
			P0=smgduan[fena%10];
		else
			P0=smgduan[fenb%10];
		smg6=0;
		delay(100);
		smg6=1;

		if(flag==1)
			P0=smgduan[fena/10];
		else
			P0=smgduan[fenb/10];
		smg7=0;
		delay(100);
		smg7=1;
			if(flag==1)
			P0=smgduan[fena%10];
		else
			P0=smgduan[fenb%10];
		smg8=0;
		delay(100);

资料借鉴于此纷传

  • 有需要资料的可了解一下.docx

相关推荐

电子产业图谱