51做的电子琴

2011年06月14日 00:23    发布者:trbbadboy
电路原理图:2)
软件原理:

i.
使用89S52的内部定时器0控制频率(也就是音高);

ii.
使用定时器1控制节拍(也就是音长);

iii.
内置曲子的每个字节记录着音高和音长,高4位记录音长,第四位记录音高,音长有9个,分别为:1/8节拍、1/4节拍、1/2节拍、1个节拍、2个节拍、3个节拍、4个节拍、8个节拍、16个节拍;而有16个音高,分别为:停止、低音4 5 6 7、中音1 2 3 4 5 6 7、高音1 2 3 4,基本包含了常见曲子的个音高;

iv.
自由弹奏允许使用其中的中音1 2 3 4 5 6 7和高音1这八个音;

v.
由于系统内存的限制,该电子琴大致允许记录20多个音。

  实物图


各功能键说明如下:

2)
电子琴的工作状态通过一个双色发光二极管来指示,该双色发光二极管可发出绿色或者红色的光;
3)
绿色表明电子琴工作在播放内置歌曲状态、红色说明工作在弹奏状态,状态的切换可以通过按下选择键来进行切换;
4)
简单的演奏:当电子琴工作在弹奏状态时,按下下面对应的琴键便可以发出对应的音;
5)
录音功能:在弹奏状态下,按下录音键,指示灯变成慢节奏的闪烁(录音状态)时说已经开始录音了,此后的弹奏将会被系统记录,以便之后重播。录音超过系统所能支持的最大长度之后,指示灯变成快节奏的闪烁(录满状态),此后的弹奏将被忽略。
6)
重播功能:在录音状态(或者录满状态)下再次按下录音键之后电子琴便开始重播之前录制的内容,此时指示灯变成中节奏的闪烁(重播状态),全部播放完了之后又会回到起始位置重新播放;
7)
在重播状态下再次按下录制键则进入弹奏状态;
8)
播放内置歌曲:在播放内置歌曲状态下,按下下面的琴键便可播放对应的歌曲。


附件(电路图、代码)详细的见下载。。。。拙作,见笑了。。。39131
该文章有附件资料,如需下载请访问 电脑版

网友评论

yxp_000 2011年06月20日
xuexue
无怨无悔yyl 2011年06月22日
谢谢
wfnic 2011年07月10日
谢谢
陌上深秋 2011年12月05日
谢谢
taide1222 2012年04月06日
谢啦
kiwifruit93 2013年12月16日
谢谢
带你看世界 2014年11月27日
谢谢啦