【Proteus仿真】【51单片机】拔河游戏设计

文章目录


一、功能简介

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

主要功能:

系统运行后,指示灯处于中间位置,数码管显示得分0,当按下K3键,游戏开始,运行指示灯亮,此时AB选手可开始拔河,按下K1或K2可使指示灯偏向自己一方,当指示灯到达最近接自己位置时,得分加1,游戏胜利;可按下K4键复位重启。


二、软件设计

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

*/



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

	key=key_scan(0);
	//开始
	if(key==KEY3_PRESS)
	{	
		sys_ctrl.start=1;
		RUN_LED=0;		
	}	
	//复位
	else if(key==KEY4_PRESS)
	{
		sys_parm_init();//参数初始化
		RUN_LED=1;	
	}	
	
	//系统开始
	if(sys_ctrl.start==1)
	{
		//A队
		if(key==KEY1_PRESS)
		{
			if(sys_ctrl.cnt>1)
				sys_ctrl.cnt--;
			if(sys_ctrl.cnt==1)
			{
				sys_ctrl.score_a++;
				sys_ctrl.start=0;	
			}		
		}
		//B队
		if(key==KEY2_PRESS)
		{
			if(sys_ctrl.cnt<9)
				sys_ctrl.cnt++;
			if(sys_ctrl.cnt==9)
			{
				sys_ctrl.score_b++;
				sys_ctrl.start=0;
			}			
		}	
	}
}

//系统数据显示
void sys_data_show(void)
{
	u8 buf[4];

	while(1)
	{
		//拔河指示显示
		_led_pos(sys_ctrl.cnt);

		//AB队得分显示
		buf[0]=gsmg_code[sys_ctrl.score_a/10];
		buf[1]=gsmg_code[sys_ctrl.score_a%10];
		buf[2]=gsmg_code[sys_ctrl.score_b/10];
		buf[3]=gsmg_code[sys_ctrl.score_b%10];
		smg_display(buf,1);

		break;				
	}
}


//应用控制系统
void appdemo_show(void)
{
	sys_parm_init();//系统参数初始化
	
	while(1)
	{
		sys_data_set();//系统数据设定
		sys_data_show();//系统数据显示			
	}
}

三、实验现象

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



联系作者

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

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

相关推荐
某林2121 小时前
如何使用ROS 2与STM32进行串口通信,并实现通过键盘按键‘1’来控制LED灯开关
stm32·嵌入式硬件·计算机外设
hazy1k2 小时前
51单片机基础-PWM、频率与占空比
stm32·单片机·嵌入式硬件·51单片机
逆小舟2 小时前
【STM32】智能排队控制系统
stm32·单片机·嵌入式硬件
GilgameshJSS2 小时前
STM32H743-ARM例程38-UART-IAP
c语言·arm开发·stm32·单片机·嵌入式硬件
上海云盾安全满满2 小时前
APP应用怎么选择游戏盾
网络·游戏
棉猴3 小时前
《pygame中Sprite类实现多帧动画》注-通过多张序列帧显示动画2-2
开发语言·python·游戏·游戏程序·pygame
清风6666664 小时前
基于单片机的交流功率测量仪设计与实现
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
AA陈超5 小时前
虚幻引擎5 GAS开发俯视角RPG游戏 P07-08 点击移动
c++·游戏·ue5·游戏引擎·虚幻
做一道光5 小时前
6、foc控制——IF控制
笔记·单片机·嵌入式硬件·电机控制
csd7986 小时前
从原理到实操:ddraw.dll是什么?为何游戏启动时频繁提示“找不到ddraw.dll”?解决思路全解析
游戏·dll修复工具·dll修复·dll丢失·dll缺失