国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

  • 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

基于51單片機的專注力訓(xùn)練游戲機的設(shè)計

2024/11/05
2467
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

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

共1個文件

一、畢業(yè)設(shè)計(論文)的內(nèi)容

內(nèi)容:

人的學(xué)習(xí)能力中專注力是很重要的一項?,F(xiàn)在的小朋友有很多都因為各種原因?qū)е聦W⒘^差。市面上也有很多訓(xùn)練專注力的書籍和玩具,玩具有的價錢太貴,有的設(shè)計反而不利于小朋友的專注。本系統(tǒng)要求設(shè)計并實現(xiàn)一款既有趣,讓小朋友能玩下去,又能提高小朋友的專注力的玩具,而且性價比好。

因此,本系統(tǒng)要求使用單片機或其他控制器件實現(xiàn)一個專注力訓(xùn)練游戲機的設(shè)計和實現(xiàn)。要求系統(tǒng)能實現(xiàn)多級別難度,啟動后隨機亮燈,可語音、按鍵等方式熄滅相應(yīng)點亮的燈。要求設(shè)計盡可能的方便使用,合理。要求熟悉單片機或其他控制器的原理和設(shè)計,熟練掌握C語言或其他編程語言的設(shè)計編程,完成時間管理器的軟件、硬件設(shè)計與實現(xiàn)。整個畢業(yè)設(shè)計還要求完成相應(yīng)的英文翻譯和畢業(yè)設(shè)計論文。

1、通過學(xué)習(xí)掌握程序設(shè)計、調(diào)試技術(shù)。

2、掌握仿真軟件的使用方法,并能編輯、編譯和下載設(shè)計文件。

3、掌握系統(tǒng)搭建實用硬件系統(tǒng)的方法。

二、畢業(yè)設(shè)計(論文)的要求與數(shù)據(jù)

要求:

  1. 設(shè)計并實現(xiàn)一款專注力訓(xùn)練游戲機。要求能隨機亮燈,可通過識別語音,按鍵等不同方式,熄滅相應(yīng)點亮的燈。
  2. 游戲要可設(shè)置至少3個不同級別。
  3. 游戲的不同級別,要設(shè)置不同的亮燈的數(shù)量和時間長度等,并逐級提高難度。
  4. 游戲功能合理,有吸引性。
  5. 游戲過程中播放不同頻率的音樂。(可選項)



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


/**********************************
變量定義
**********************************/
uchar chiclet_keyboard_num = 0;				//鍵值變量


/**********************************
函數(shù)定義
**********************************/
/****
*******獨立按鍵掃描函數(shù)
*******返回值:鍵值
*****/
uchar Chiclet_Keyboard_Scan(void)
{
	if(K1 == 0)													//按鍵K1為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K1 == 0)												//按鍵K1依然為低電平,此時確認是K1按下
		{
			chiclet_keyboard_num = 1;				//鍵值設(shè)置成1
		}
		while(!K1);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}

	if(K2 == 0)													//按鍵K2為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K2 == 0)												//按鍵K2依然為低電平,此時確認是K2按下
		{
			chiclet_keyboard_num = 2;				//鍵值設(shè)置成2
		}
		while(!K2);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}

	if(K3 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K3 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 3;				//鍵值設(shè)置成3
		}
		while(!K3);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K4 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K4 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 4;				//鍵值設(shè)置成3
		}
		while(!K4);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K5 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K5 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 5;				//鍵值設(shè)置成3
		}
		while(!K5);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K6 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K6 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 6;				//鍵值設(shè)置成3
		}
		while(!K6);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K7 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K7 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 7;				//鍵值設(shè)置成3
		}
		while(!K7);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K8 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K8 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 8;				//鍵值設(shè)置成3
		}
		while(!K8);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K9 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K9 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 9;				//鍵值設(shè)置成3
		}
		while(!K9);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	if(K10 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K10 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 10;				//鍵值設(shè)置成3
		}
		while(!K10);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K11 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K11 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 11;				//鍵值設(shè)置成3
		}
		while(!K11);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K12 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K12 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 12;				//鍵值設(shè)置成3
		}
		while(!K12);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	if(K13 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K13 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 13;				//鍵值設(shè)置成3
		}
		while(!K13);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	if(K14 == 0)													//按鍵K3為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K14 == 0)												//按鍵K3依然為低電平,此時確認是K3按下
		{
			chiclet_keyboard_num = 14;				//鍵值設(shè)置成3
		}
		while(!K14);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	return 0;														//沒有按鍵按下,返回0
}

?

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

相關(guān)推薦

辽阳县| 个旧市| 张家界市| 蒲城县| 尼勒克县| 盘山县| 新余市| 石泉县| 灵宝市| 南充市| 巩留县| 托克托县| 九江市| 霍邱县| 邢台市| 星子县| 河池市| 交口县| 邢台市| 新郑市| 封开县| 桓仁| 衡水市| 辛集市| 博兴县| 耿马| 淳化县| 建水县| 卓尼县| 平原县| 肥西县| 岳阳县| 华容县| 和龙市| 磐安县| 宝应县| 兴安县| 金川县| 金堂县| 永安市| 绍兴县|