加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

基于51单片机的专注力训练游戏机的设计

11/05 08:41
1064
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
实物图
  • 方案介绍
  • 相关文件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

一、毕业设计(论文)的内容

内容:

人的学习能力中专注力是很重要的一项。现在的小朋友有很多都因为各种原因导致专注力较差。市面上也有很多训练专注力的书籍和玩具,玩具有的价钱太贵,有的设计反而不利于小朋友的专注。本系统要求设计并实现一款既有趣,让小朋友能玩下去,又能提高小朋友的专注力的玩具,而且性价比好。

因此,本系统要求使用单片机或其他控制器件实现一个专注力训练游戏机的设计和实现。要求系统能实现多级别难度,启动后随机亮灯,可语音、按键等方式熄灭相应点亮的灯。要求设计尽可能的方便使用,合理。要求熟悉单片机或其他控制器的原理和设计,熟练掌握C语言或其他编程语言的设计编程,完成时间管理器的软件硬件设计与实现。整个毕业设计还要求完成相应的英文翻译和毕业设计论文。

1、通过学习掌握程序设计、调试技术。

2、掌握仿真软件的使用方法,并能编辑、编译和下载设计文件。

3、掌握系统搭建实用硬件系统的方法。

二、毕业设计(论文)的要求与数据

要求:

  1. 设计并实现一款专注力训练游戏机。要求能随机亮灯,可通过识别语音,按键等不同方式,熄灭相应点亮的灯。
  2. 游戏要可设置至少3个不同级别。
  3. 游戏的不同级别,要设置不同的亮灯的数量和时间长度等,并逐级提高难度。
  4. 游戏功能合理,有吸引性。
  5. 游戏过程中播放不同频率的音乐。(可选项)



/**********************************
包含头文件
**********************************/
#include "key.h"


/**********************************
变量定义
**********************************/
uchar chiclet_keyboard_num = 0;				//键值变量


/**********************************
函数定义
**********************************/
/****
*******独立按键扫描函数
*******返回值:键值
*****/
uchar Chiclet_Keyboard_Scan(void)
{
	if(K1 == 0)													//按键K1为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K1 == 0)												//按键K1依然为低电平,此时确认是K1按下
		{
			chiclet_keyboard_num = 1;				//键值设置成1
		}
		while(!K1);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}

	if(K2 == 0)													//按键K2为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K2 == 0)												//按键K2依然为低电平,此时确认是K2按下
		{
			chiclet_keyboard_num = 2;				//键值设置成2
		}
		while(!K2);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}

	if(K3 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K3 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 3;				//键值设置成3
		}
		while(!K3);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K4 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K4 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 4;				//键值设置成3
		}
		while(!K4);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K5 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K5 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 5;				//键值设置成3
		}
		while(!K5);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K6 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K6 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 6;				//键值设置成3
		}
		while(!K6);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K7 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K7 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 7;				//键值设置成3
		}
		while(!K7);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K8 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K8 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 8;				//键值设置成3
		}
		while(!K8);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K9 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K9 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 9;				//键值设置成3
		}
		while(!K9);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	if(K10 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K10 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 10;				//键值设置成3
		}
		while(!K10);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K11 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K11 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 11;				//键值设置成3
		}
		while(!K11);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K12 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K12 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 12;				//键值设置成3
		}
		while(!K12);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	if(K13 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K13 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 13;				//键值设置成3
		}
		while(!K13);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	if(K14 == 0)													//按键K3为低电平
	{
		Delay_function(2);								//2ms消抖
		if(K14 == 0)												//按键K3依然为低电平,此时确认是K3按下
		{
			chiclet_keyboard_num = 14;				//键值设置成3
		}
		while(!K14);												//while死循环,直到抬手跳出
		return chiclet_keyboard_num;			//返回键值
	}
	
	return 0;														//没有按键按下,返回0
}

 

  • 有需要资料的可了解一下.docx

相关推荐

电子产业图谱