Icon for package 北大附中-张子逸 孙洁颖-节奏大师

北大附中-张子逸 孙洁颖-节奏大师
0.96


功能:

1. 蜂鸣器播放设定好的音乐。

2. led灯随音乐节奏有随机亮起。

3. 亮灯期间按对应的按钮计分。

4. 在显示器上记一分。

选择音乐:《挥着翅膀的女孩》

 

 

 

管脚号

连接元件及管脚

说明

5

Led灯(红)

 

4

Led灯(绿)

 

10

蜂鸣器

 

2

按钮(绿)

 

3

按钮(红)

 

13

按钮

总开关

12,11,9,8,A0,A1,A2,A3,A4,A5,A6

显示屏

只显示两位

 

关键技术:
音乐播放
实现空音的播放(在没有音的时候,蜂鸣器不播音,按照节奏空相应的时间)
问题:音乐过长,导致内存不够。
解决方法:缩短音乐。
亮灯期间按对应的按钮计分
实现在灯亮起的时候按下对应的按钮,设定好的函数加一分。
问题:识别按按钮的时间太短,导致按下按钮的时候已经过了识别时间,函数值加不上去。
解决方法:用中断代码,并减少按钮和灯的数量,因为中断代码只能用2和3号管脚。
显示器上显示分数
实现显示屏上
问题:只显示显示屏最后一位,第二位能显示出数但是一闪一闪的。
解决方法:在显示屏的相应代码中加上循环结构。
其他问题
内存不够,管脚不够
解决方法:缩短音乐,简化代码,减少按钮以及灯的数量,减少显示屏的显示位数。
不足之处 
软件中断代码不支持延时,导致识别时间还是太短,播一次歌随节奏按下所有的键只能识别到两次或三次。
此识别的问题,只能待后人解决了。
 

 
初始化(中断程序用来加分)与主程序


显示屏


播放音乐与随音乐亮灯