蜂鸣器音乐播放器实验报告

xv文件播放器  时间:2021-04-24  阅读:()

1、 实验项目名称

基于单片机的音乐播放器

2、 实验目的

Ⅰ设计方案

设计一个基于AT89C51系列单片机的音乐盒利用按键控制切换演奏出不同的音乐。蜂鸣器发出某个音调与之对应的LED灯亮起。使用两个按键一个用来切换歌曲另一个切换LED的变化花样。

Ⅱ研究内容

①电路有两种模式演奏音乐模式和花样灯模式

A演奏音乐模式演奏完整的一首歌曲LED随着音乐变化B花样灯模式LED变化出各种花样蜂鸣器随着发出“滴滴”声②按下按键1进入演奏音乐模式再按切换歌曲共两首歌曲

按下按键2进入花样灯模式再按切换LED花样共三种花样。

Ⅲ总体方案图a组成框图

音乐盒的系统结构以AT89C51单片机位控制核心加上2个按键、时钟复位电路、蜂鸣器、LED模块组成。单片机负责接收按键的输入根据输入控制音乐播放曲目和音乐花样灯的显示样式以及蜂鸣器发音。系统组成框图如下所示

b功能结构图

Key1负责切换播放歌曲共两首。分别是祝你生日快乐和寂寞沙洲冷Key2负责切换LED显示花样共3种顺序显示由两边向中间移动然后向两边移动循环显示。

3、 实验器材

Windows7操作系统Proteus仿真软件ke i l 4软件AT89C51单片机

共阴极数码管开关电容晶振

电阻发光二极管蜂鸣器

4、 实验要求

 1 以单片机为主控处理器用蜂鸣器播放歌曲

2系统要求有选择上一首、下一曲功能

3两个按键可在播放和显示花样中进行切换

4用一个键控制花样类型的显示功能

5用LED灯闪烁“伴奏”。

5、 实训基本原理附原理图、源程序清单

1硬件设计

①LED显示电路设计与原理

LED显示电路是由8个LED发光二极管组成连接方式是共阳极LED接到单片机的P1口若是低电平可使LED亮。发光二极管的亮灭是由内部程序控制的 8个LED发光二极管分别对应不同的音阶所以LED会随着音阶的变化按规律亮灭。

②硬件电路图及其功能介绍

1 电路中用P3.2、 P3.3控制键

2P1 .0~P1 .7控制LED

3 P2.3控制蜂鸣器

4电路为12MHZ晶振频率工作起振电路中C 1、 C2均为30PF。

③时钟振荡电路

AT89C51中有一个用于构成内部振荡器的高增益反向放大器引脚

XTAL1和XTAL2分别是该放大器的输入和输出端。

④蜂鸣器播放

声音是通过振动产生的。单片机对某一引脚以一定的频率循环置1置0 该引脚便产生一定频率的方波方波通过放大作用于一定

的物理实件扬声器 就产生了一定频率的声音。若改变输出方波的频率产生的声音随之改变。通过控制输出方波的时间长短声音的长短也可以得到控制因此根据乐谱以类似的音及同样的节拍单片机就可以产生电子音乐。音乐的播放模式及选择可以通过按键的输入得以实现。在本次设计中将蜂鸣器连接到AT89C52的P3^7接口处。

通过控制单片机定时器的定时时间产生不同频率的音频脉冲使得蜂鸣器发出不同音节的声音即声调。用软件延时来控制发音时间的长短控制节拍。把乐谱中的音符和相应的节拍变换为定时常数和延时常数作为数据表格存放在存储器中由程序查表得到定时常数和延时常数分别用来控制定时器产生的脉冲频率和发出该音频脉冲的持续时间。

2软件设计

①在本程序中设置了两个标志 count 和count  分别初始化为和。按键使得count 在和之间切换按键使得count 在  之间切换。程序检测count 的值 count等于时播放第一首歌曲 时播放第二首。同时根据count 的值来切换LED的花样。 count1和count2的值是互斥的设置count1等于1、 2时 count2同时设置为0 设置count2等于1~4时 count1也同时设置为0。

②音调的确定

1 要产生音频脉冲只要计算出某一音频的周期 1/频率 然

后将此周期除以2 即为半周期的时间。利用定时器计时这半个周期的时间每当计时到后就将输出脉冲的I/O反相然后重复计时此半周期时间再对I/O反相就可在I/O脚上得到此频率的脉冲。

2可利用AT89C51的内部定时器使其工作在计数器模式MODE1下改变计数值TH0和TL0产生不同频率的方法。

3C调各音符频率与计数值T的对照表

低音 频率 T 参数 中音 频率 T 参数 高音 频率 T 参数

Do 262 1908 229 Do 523 956 115 Do 1046 57 57Do 277 1805 217 Do 554 903 108 Do 1109 54 54Re 294 1701 204 Re 587 852 102 Re 1175 51 51Re 311 1608 193 Re 622 804 97 Re 1245 48 48Mi 330 1515 182 Mi 659 759 91 Mi 1318 45 45Fa 349 1433 172 Fa 698 716 86 Fa 1397 43 43Fa 370 1351 162 Fa 740 676 81 Fa 1480 41 41So 392 1276 153 So 784 638 77 So 1568 38 38So 415 1205 145 So 831 602 72 So 1661 36 36La 440 1136 136 La 880 568 68 La 1760 34 34La 464 1078 129 La 932 536 64 La 1865 32 32Si 494 1012 121 Si 988 506 61 Si 1976 30 30

③节拍的确定

音乐是由许多不同的音符组成而每个音符对应着不同频率这样就可以利用不同的频率组合加以与拍数对应的延时构成音乐。

④编码do re mi fa so la si分别编码为1~7 重音do编为8,重音re编为

9 停顿编为0。播放长度以十六分音符为单位在本程序中为165ms  一拍即四分音符等于4个十六分音符编为4,其它的播

放时间以此类推。音调作为编码的高4位而播放时间作为低4位如此音调和节拍就构成了一个编码。以0 xff作为曲谱的结束标志。

歌曲播放的设计。先将歌曲的简谱进行编码储存在一个数据类型为unsigned char的数组中。程序从数组中取出一个数然后分离出高4位得到音调接着找出相应的值赋给定时器0 使之定时操作蜂鸣器得出相应的音调接着分离出该数的低4位得到延时时间接着调用软件延时。

⑤程序流程图及代码

主程序流程图

主程序代码:void main ()

{ uchar x;count1=0;//流水灯无花样count2=1 ;//唱第一首歌

P34=0;//选取矩阵键盘的一列

EA=1;//开总中断

EX0=1;//开外部中断0

IT0=1 ;//外部中断0下降沿触发方式EX1=1;//开外部中断1

IT1=1 ;//外部中断1下降沿触发方式TMOD=0x01;//定时器0工作在方式1TH0=0;

TL0=0;

ET0=1;while(1)

{

if(count1 !=0) //音乐停止花样灯开始按照花样闪烁{switch(count1)

{case 1 :for(x=0;x<14;x++)

{duan=1;

P1=huayang 1[x] ;beep() ;delay1(300) ;duan=0;if(count1 !=1)break;

}break;case 2:for(x=0;x<14;x++)

{duan=1;

P1=huayang2[x] ;beep() ;delay1(300) ;duan=0;if(count1 !=2)break;

}break;case 3:for(x=0;x<16;x++)

{duan=1;

P1=huayang3[x] ;beep() ;delay1(300) ;duan=0;if(count1 !=3)break;

}break;

}

}else

{

王小玉网-美国洛杉矶2核4G 20元/月,香港日本CN2 2核2G/119元/季,美国300G高防/80元/月!

 活动方案:美国洛杉矶 E5 2696V2 2核4G20M带宽100G流量20元/月美国洛杉矶E5 2696V2 2核4G100M带宽1000G流量99元/季香港CN2 E5 2660V2 2核2G30M CN2500G流量119元/季日本CN2E5 2660 2核2G30M CN2 500G流量119元/季美国300G高防 真实防御E5 2696V2 2核2G30M...

德阳电信高防物理机 16核16G 50M 260元/月 达州创梦网络

达州创梦网络怎么样,达州创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,一手四川托管服务商,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网封UDP,无视UDP攻击,机房集群高达1.2TB,单机可提供1...

搬瓦工:新增荷兰机房 EUNL_9 测评,联通 AS10099/AS9929 高端优化路线/速度 延迟 路由 丢包测试

搬瓦工最近上线了一个新的荷兰机房,荷兰 EUNL_9 机房,这个 9 的编号感觉也挺随性的,之前的荷兰机房编号是 EUNL_3。这次荷兰新机房 EUNL_9 采用联通 AS9929 高端路线,三网都接入了 AS9929,对于联通用户来说是个好消息,又多了一个选择。对于其他用户可能还是 CN2 GIA 机房更合适一些。其实对于联通用户,这个荷兰机房也是比较远的,相比之下日本软银 JPOS_1 机房可...

xv文件播放器为你推荐
路由route版本itunes支持ipad支持ipadipad连不上wifiipad2 wifi连接不上,刚连上就弹出一个 success页面ipad连不上wifiipad显示无互联网连接怎么回事?ipadwifiipad插卡版和wifi版有什么区别,价格差的多么?css下拉菜单CSS如何把下拉菜单改为上拉菜单用itunes备份如何使用itunes完整备份iPhone资料迅雷快鸟用迅雷快鸟提示:您所在的网络暂不支持迅雷快鸟
国外域名 域名到期查询 长春域名注册 景安vps 域名解析服务器 l5639 绍兴高防 骨干网络 php空间申请 135邮箱 中国电信测网速 tna官网 架设邮件服务器 阿里云免费邮箱 蓝队云 空间排行榜 cdn加速 globalsign web服务器 建站论坛 更多