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

相关推荐
xiezhr4 天前
米哈游36岁程序员被曝复工当晚猝死出租屋内
游戏·程序员·游戏开发
爱搞虚幻的阿恺8 天前
Niagara粒子系统-超炫酷的闪电特效(加餐 纸牌螺旋上升效果)
游戏·游戏引擎
Lester_11018 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元8 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133978 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315208 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
智算菩萨8 天前
儿童游乐空间的双维建构:室内淘气堡与室外亲子乐园的发展学理、功能分野与协同育人机制研究
游戏·游戏策划
marteker8 天前
房地产市场平台Zillow与《魔兽世界》合作展示游戏内房屋
游戏
Alaso_shuang8 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟8 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程