【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设计,视频分享,技术交流。

相关推荐
BT-BOX2 小时前
普中开发板基于51单片机贪吃蛇游戏设计
单片机·游戏·51单片机
驴友花雕2 小时前
【花雕动手做】CanMV K230 AI视觉识别模块之使用CanMV IDE调试运行人脸代码
ide·人工智能·单片机·嵌入式硬件·canmv k230 ai视觉·canmv ide 人脸代码
90后小陈老师3 小时前
Unity教学 项目2 2D闯关游戏
游戏·unity·游戏引擎
点灯小铭4 小时前
基于单片机的酒驾报警刹车系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
boneStudent5 小时前
Day29:I2C 高级应用
stm32·单片机·嵌入式硬件
芯联智造6 小时前
【stm32简单外设篇】- 28BYJ-48 步进电机(配 ULN2003 驱动板)
c语言·stm32·单片机·嵌入式硬件
喜喜安7 小时前
CoreS3 屏幕背光
单片机·嵌入式硬件·m5stack cores3
星期天27 小时前
1.4光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件·江科大
田甲9 小时前
【STM32】基于TPS61165芯片的LED驱动电路
stm32·单片机·嵌入式硬件
d111111111d9 小时前
STM32得中断服务函数,为什么不能有返回值
笔记·stm32·单片机·嵌入式硬件·学习