加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入

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

11/05 08:41
1290
服務(wù)支持:
技術(shù)交流群

完成交易后在“購買成功”頁面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購買后不支持退換且無法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
  • 相關(guān)文件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

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

內(nèi)容:

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

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

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

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

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

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

要求:

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



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


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


/**********************************
函數(shù)定義
**********************************/
/****
*******獨(dú)立按鍵掃描函數(shù)
*******返回值:鍵值
*****/
uchar Chiclet_Keyboard_Scan(void)
{
	if(K1 == 0)													//按鍵K1為低電平
	{
		Delay_function(2);								//2ms消抖
		if(K1 == 0)												//按鍵K1依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是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依然為低電平,此時(shí)確認(rèn)是K3按下
		{
			chiclet_keyboard_num = 14;				//鍵值設(shè)置成3
		}
		while(!K14);												//while死循環(huán),直到抬手跳出
		return chiclet_keyboard_num;			//返回鍵值
	}
	
	return 0;														//沒有按鍵按下,返回0
}

?

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

相關(guān)推薦

電子產(chǎn)業(yè)圖譜