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