【Proteus仿真】【51单片机】篮球比赛计分器

文章目录


一、功能简介

本项目使用Proteus8仿真51单片机控制器,使用声光报警模块、动态数码管模块、按键模块等。

主要功能:

系统运行后,数码管显示比赛时间和AB队得分;系统还未开启时,可通过按键K1和K2调节分钟,K3和K4调节秒钟;当按下K7键比赛开始,K1和K2调节A队得分;K3和K4调节B队得分;当比赛时间结束,可按下K6键交换场地,亦可按下K5键清零得分,回归最初状态。


二、软件设计

c 复制代码
/*
作者:嗨小易(QQ:3443792007)

*/


//系统数据设置
void sys_data_set(void)
{
	u8 key=0;

	key=key_scan(0);

	//开始/暂停
	if(key==KEY7_PRESS)
	{
		beep_alarm(10,1000);//提示音
		sys_ctrl.start++;
		if(sys_ctrl.start==1)
		{
			LED_KS=0;LED_ZT=1;
			TR0=1;//打开定时器
		}
		else if(sys_ctrl.start==2)
		{
			LED_KS=1;LED_ZT=0;
			TR0=0;//关闭定时器	
		}
		else 
		{
			LED_KS=0;LED_ZT=1;
			sys_ctrl.start=1;
			TR0=1;//打开定时器	
		}	
	}
	//还未开始,可调节时间
	if(sys_ctrl.start==0)
	{
		//分加
		if(key==KEY1_PRESS)	
		{
			sys_ctrl.min++;
			if(sys_ctrl.min>59)sys_ctrl.min=0;	
		}
		//分减
		else if(key==KEY2_PRESS)	
		{
			sys_ctrl.min--;
			if(sys_ctrl.min<0)sys_ctrl.min=59;	
		}
		//秒加
		else if(key==KEY3_PRESS)	
		{
			sys_ctrl.sec++;
			if(sys_ctrl.sec>59)sys_ctrl.sec=0;	
		}
		//秒减
		else if(key==KEY4_PRESS)	
		{
			sys_ctrl.sec--;
			if(sys_ctrl.sec<0)sys_ctrl.sec=59;	
		}
		//清零
		else if(key==KEY5_PRESS)	
		{
			sys_parm_init();//系统参数初始化	
		}
		//交换场地
		else if(key==KEY6_PRESS)	
		{
			sys_ctrl.dir=!sys_ctrl.dir;		
		}
	}
	//比赛开始
	else
	{
		//A加分
		if(key==KEY1_PRESS)	
		{
			sys_ctrl.score_a++;
			if(sys_ctrl.score_a>99)sys_ctrl.score_a=99;	
		}
		//A减分
		else if(key==KEY2_PRESS)	
		{
			sys_ctrl.score_a--;
			if(sys_ctrl.score_a<0)sys_ctrl.score_a=0;	
		}
		//B加分
		else if(key==KEY3_PRESS)	
		{
			sys_ctrl.score_b++;
			if(sys_ctrl.score_b>99)sys_ctrl.score_b=99;	
		}
		//B减分
		else if(key==KEY4_PRESS)	
		{
			sys_ctrl.score_b--;
			if(sys_ctrl.score_b<0)sys_ctrl.score_b=0;	
		}	
	}
}


//应用控制系统
void app_ctrl_sys(void)
{
	sys_parm_init();//系统参数初始化
	time0_init();//定时器0初始化	

	while(1)
	{
		sys_data_show();//系统数据显示
		sys_data_set();//系统数据设置	
	}		
}

三、实验现象

B站演示视频:https://space.bilibili.com/444388619



联系作者

视频地址:https://space.bilibili.com/444388619/video

专注于51单片机、STM32、国产32、DSP、Proteus、arduino、ESP32、物联网软件开发,PCB设计,视频分享,技术交流。

相关推荐
Brilliantwxx6 小时前
【STM32】 NVIC 与 EXTI 中断 · 超详细源码级解析
stm32·单片机·嵌入式硬件
加载力科技8 小时前
硬盘咔咔响是坏盘信号!赶在数据丢失前克隆换盘:不重装系统、不丢文件
windows·嵌入式硬件·系统安全·策略模式·命令模式·硬盘
思茂信息9 小时前
CST软件BCI仿真模型及仿真案例
开发语言·单片机·嵌入式硬件·算法·emc
李永奉10 小时前
中科蓝讯SDK开发-BT897X、BT891X、AB573X、AB572X 系列 触摸按键提示音功能实现
网络·单片机·嵌入式硬件·mcu·物联网
三佛科技-1873661339711 小时前
FT32F405RE02-LB是什么芯片?基于ARM Cortex M4带FPU的MCU芯片解析
stm32·单片机·嵌入式硬件
嵌入式分享12 小时前
嵌入式分#49:浅 8080,RGB,LVDS 与 MIPI 显口
嵌入式硬件·lcd
szarron12 小时前
VNA6 便携式矢量网络分析仪|1MHz‑6.3GHz 手持 VNA 真实应用场景全解析
前端·嵌入式硬件·信息可视化·数据挖掘·数据分析
゛凌乱的记忆づ13 小时前
50元从零到成品:一套AI辅助的嵌入式实战入门教程——ADC采集篇
stm32·单片机·嵌入式硬件
女神下凡13 小时前
芯参谋(31):SPI NOR Flash 电路设计指南
arm开发·单片机·嵌入式硬件·fpga开发·设计规范
csg110714 小时前
上电没反应、运行中死机、现场“抽风”——单片机控制板异常排查六步法
单片机·嵌入式硬件