资源描述:
《基于51单片机的多功能电子琴-毕业论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于51单片机的多功能电子琴一、作品简介:漂亮的外观,清澈洪亮的声音,闪闪发亮的彩灯,相信早已吸引住你的眼球!这是一款纯手工打造的电子琴,实为接近MM、生日礼物必备佳品。二、作品功能:★可以演奏出基本的8种音调:Do、Re、Mi、Fa、SO、La、Si、高音Do;★演奏的同时会以数字显示出当前的音调,利于培养乐感;★可以自动演示这8个音调;★可以演奏内置生日快乐歌。★自动演奏时,LED进行节拍指示。使用方法:通过按下方的8个音调键演奏乐曲;按演示按钮可以自动演奏这8种音调;按奏乐按钮可以演奏生日快
2、乐歌;在自动演示和奏乐的过程中按停止键则中断演奏;音量调节按钮可以选择音量大和小。三、基本原理:一定频率产生声音,频率高低决定音调。利用单片机输出脉冲信号经放大后送给喇叭,便可发出声音。本制作中巧妙地利用了单片机的定时器,让定时器中断一次就对改变喇叭的状态一次,即形成矩形方波,这也是数字电路产生声音的方法。本作品使用AT89S52型单片机,ISP在线下载使得修改芯片里面的内容相当简单,便于作品的升级与优化。由于一首音乐是许多不同的音阶组成的,而每个音阶对应着不同的频率,这样我们可以利用不同的频率的
3、组合,即可构成我们所想要的音乐了,当然对于单片机来产生不同的频率非常方便,我们可以利用单片机的定时/计数器T0来产生这样方波频率信号,因此,我们只要把一首歌曲的音阶对应频率关系弄正确即可。本次设计中单片机晶振为12MHZ,那么定时器的计数周期为1MHZ,假如选择工作方式1,那T值便为T=216--5﹡105/相应的频率,那么根据不同的频率计算出应该赋给定时器的计数值,列出不同音符与单片机计数T0相关的计数值如下表所示:音符频率(HZ)简谱码(T值)中1DO52364580中2RE58764684中
4、3M65964777中4FA69864820中5SO78464898中6LA88064968中7SI98865030采用查表程序进行查表时,可以为这个音符建立一个表格,有助于单片机通过查表的方式来获得相应的数据:TABLEDW64580,64684,64777,64820,64898,64968,65030四、实验目的:(1)能够对电子电路、电子元器件、印制电路板等方面的知识有进一步的认识,独立对其进行测试与检查。(2)熟悉8051单片机的内部结构和功能,合理使用其内部寄存器,能够完成相关软件编程
5、设计工作。(3)为实现预期功能,能够对系统进行快速的调试,并能够对出现的功能故障进行分析,及时修改相关软硬件。(4)对软件编程、排错调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高。五、硬件电路:1.八颗独立按键加上两颗功能键,按键需接上拉电阻。S1~S8为音调按钮,S9、S10为演奏按钮:2.喇叭驱动电路,speaker接单片机的P1.0口,喇叭安装在箱体中:3.LED电路,led接单片机的P1.1口。注意,这里的LED是那种通电自己会闪的,这样才能有视频中的效果:4.数码管电
6、路,选用共阳数码管,A~DP依次接单片机P0.0~P0.7:六、软件设计/**************多功能电子琴简要说明:P1.0口输出各音调的频率方波本程序可方便地更改内置音乐的内容编写:FengShuo,Esen更新时间:10/03/39晚****************/#include#defineSPKP1_0//定义方波输出口#defineLEDP1_1#defineshumaguanP0//定义数码管段码输出unsignedinttone1,tone2;unsig
7、nedcharcodeyinfu[]={0xfb,0xe9,/*Do*/0xfc,0x5c,/*Re*/0xfc,0xc1,/*Mi*/0xfc,0xef,/*Fa*/0xfd,0x45,/*So*/0xfd,0x92,/*La*/0xfd,0xd0,/*Si*/0xfd,0xee,/*Do*/0x00,0x00//音符间隔,只要间隔时间小于65ms时,用作拍子之间的短暂停顿};/*****生日快乐歌音调表*****/unsignedcharcodeshengri_tone[]={1,0,1,2,
8、1,4,3,0,1,0,1,2,1,5,4,0,1,0,1,8,6,4,3,2,0,7,0,7,6,4,5,4,0//0代表不发声,即停顿;数字即为音调};/*****生日快乐歌节拍表*****/unsignedcharcodeshengri_beat[]={24,1,24,48,48,48,72,5,24,1,24,48,48,48,72,5,24,1,24,48,48,48,48,72,5,24,1,24,48,48,48,72,5//节拍,即tone表各音调的延时};/***