基于51单片机的篮球计时计分器

功能演示:

一个基于51单片机的简单小项目——篮球计时计分器_哔哩哔哩_bilibili

(三连三连三连0^0重要的话说三遍)

部分代码:

main.c

#include <REGX52.H>
#include "display.H"
#include "delay.H"
#include "scale_display.H"
#include "timer.h"

bit mode = 0;
unsigned char sec=0,min=10,num=0,flag=0,q,w,mq,mw,fq,fw;

//倒计时显示
void count_down_display()
{
	display(1,mw);
	display(2,mq);
	display(3,10);
	display(4,w);
	display(5,q);
	display(7,fw);
	display(8,fq);
}

void main()
{
	Init();
	while(1)
	{
		if(key_s1==0)
			Delay(5);
		if(key_s1==0)
		{
			mode=~mode;
			while(!key_s1);
		}
		
		if(mode)
		{
			count_down_display();
		}
		else
		{
			mode_select();
		}
	}
}

void time() interrupt 1
{
	TH0=(65535-45872)/256;
	TL0=(65536-45872)%256;
	num++;
	if(num==20)
	{
		num=0;
		flag++;
		sec--;
		q = sec%10;
	    w = sec/10;
		fw=flag/10;
		fq=flag%10;

	}
	if(sec==0)
	{
		sec=60;
		min--;
		mq=min%10;
		mw=min/10;
	}
	if(flag==24)
		flag=0;
		
}

全套资源:

百度网盘链接:https://pan.baidu.com/s/1cJq7ae9Mpk_y1SBXohxbkQ?pwd=02ac 
提取码:02ac

  • 6
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机,可实现篮球比赛时间倒计时、24秒倒计时、100秒和60秒倒计时、)比赛时间、24秒倒计时和比赛节数等功能,内附文档说明。 (1)时钟模块 时钟模块用于实现篮球比赛时间倒计时(计时精度为0.1秒)、24秒倒计时、100秒和60秒倒计时。 (2)按键模块 按键模块共需要9个按键开关,其中8个半径为4厘米圆形按键分别为:减一分钟、加一分钟、启动/继续、暂停、5分钟、节数、60秒、100秒;1个手握式开关24位复位键,每个按键可随意摆放,方便操作。 (3)显示模块 显示模块中显示屏采用LED数码管显示屏,正方体四面显示屏上每面显示屏包含25厘米的8个七段数码管,1个数码管显示比赛的节数为第一行,5个数码管显示比赛时间为第二行,2个数码管显示24秒为第三行。正方形显示屏包含15厘米的3个七段数码管,用于显示100秒或60秒。 (4)声音模块 声音模块中有6个音响串联,可实现比赛开始时发出短哨声、每小节比赛结束发出笛声、24秒倒计时递减到零时发出长哨声。 (5)控制 控制中有4个存储,分别存储比赛时间倒计时、24秒倒计时、100秒和60秒倒计时。控制不断地从时钟模块中提取时钟信号与存储相比较,使存储中时间以0.1秒递减并同时在显示模块中显示时间倒计时。控制随时监视着按键模块和时钟模块,当有按键按下,控制接受到按键模块后控制时钟模块和控制存储,并同时通过控制在显示模块中显示时间和比赛节数;当存储中的时间到达特殊的时间点时,由控制来调出相对应的音频并在声音模块中发出声音。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值