基于AT89C52单片机的音乐盒设计.ppt
《基于AT89C52单片机的音乐盒设计.ppt》由会员分享,可在线阅读,更多相关《基于AT89C52单片机的音乐盒设计.ppt(21页珍藏版)》请在冰点文库上搜索。
![基于AT89C52单片机的音乐盒设计.ppt](https://file1.bingdoc.com/fileroot1/2023-4/29/5c704cfe-f2ba-44cc-98eb-86d1e3fb0c4d/5c704cfe-f2ba-44cc-98eb-86d1e3fb0c4d1.gif)
,基于AT89C52单片机的音乐盒设计,论文结构,应用软件简介,1,2,3,4,5,设计意义,设计意义,传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键,从而发出声音但是,机械式的音乐盒体积比较大,比较笨重,且发音单调。
水、灰尘等外在因素,容易使内部金属发音条变形,从而造成发音跑调。
另外,机械音乐盒放音时为了让音色稳定,必须放平不能动摇,而且价格昂贵,不能实现大批量生产。
本文设计的音乐盒,是基于单片机设计制作的电子式音乐盒。
与传统的机械式音乐盒相比更小巧,能演奏多个曲目且携带方便。
电子式音乐盒动力来源是电池,制作工艺简单,可进行批量生产,且价格便宜。
基于单片机制作的电子式音乐盒,控制功能强大,可根据需要选歌,使用方便。
根据存储容量的大小,可以尽可能多的存储歌曲。
另外,可以设计彩灯外观效果,使音乐盒的功能更加丰富。
传统音乐盒,设计任务及要求,设计任务及要求,本设计是以AT89C52芯片的电路为基础,外部加上放音设备,以此来实现音乐盒的硬件电路,通过软件程序来控制单片机内部的定时器使其演奏出优美动听的音乐。
用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。
该系统具有很好的通用性,很高的实际使用价值。
本设计利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(内存五首乐曲)。
采用七段数码管显示当前播放的歌曲序号。
可通过按键选择乐曲,暂停播放,上一曲,下一曲。
应用软件的介绍,Proteus软件简介,Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件,它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台。
Keil软件是目前最流行开发MCS-51系列单片机的软件,Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。
使用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具会令你事半功倍。
KEIL简介,设计方案,设计方案,本文提出了一种基于AT89C52单片机的音乐盒设计方案,实现对蜂鸣器发音控制。
AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。
本方案以AT89C52单片机与按键组成核心主控制模块。
在主控模块上设有3个按键;根据用户需要可以编写出曲目代码并有数码显示对应曲目序号,利用其内部定时器T0实现定时中断。
本方案中应用定时计数器T0、T1,计数器0工作于方式1,计数器1以计数方式,工作于方式2。
本次系统中应用中断指令。
当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。
同时启动定时器T1,显示歌曲号。
单片机音乐盒的系统结构框图,时钟电路及复位电路,1、本系统选择12MHZ的晶体振荡器,30pf电容。
2、本系统选择上电复位。
其中电容为10uf,复位电阻为10k。
硬件设计,音乐盒控制系统包括2大部分,即音乐盒控制模板(AT89C52主控模块)和音乐盒发音模块(数码管显示模块)。
前者是主控模块,具有按键功能,并利用AT89C52的P3口输出控制信号;后者是受控模块,利用AT89C52的P1、P2口输入控制信号,上面焊有蜂鸣器和数码数码显示器。
按键模块设计,主控模块主要设计器件有AT89C2,3个按键。
通过软件设计,使单片机p3口作为蜂鸣器和数码管的信号输出口。
其中k1接p3.2,作为上一曲的按键;k2接p3.3,作为下一曲的按键;k3接p3.5,作为开始/暂停的按键。
通过K1,K2,K3三个按键,分别实现上一曲,下一曲和开始/暂停的切换。
发音电路及数码显示电路设计,发音块设计主要器件是蜂鸣器。
根据实际需要,使其与AT89C52的p2.0口相接,另一引脚接地,实现演奏曲目的功能。
数码显示电路设计主要器件是数码管。
使其与AT89C52的p1口相接,另一引脚接电源,实现显示当前曲目的功能。
Proteus仿真电路图,软件设计,本程序中主要有节拍,音调、节拍以及编码的确定方法、开始/暂停、上一曲、下一曲四个软件模块组成。
音调的确定,C调各音符频率与计数值T的对照表低音频率T参数中音频率T参数高音频率T参数Do2621908229Do523956115Do10465757Do2771805217Do554903108Do11095454Re2941701204Re587852102Re11755151Re3111608193Re62280497Re12454848Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa3701351162Fa74067681Fa14804141So3921276153So78463877So15683838So4151205145So83160272So16613636La4401136136La88056868La17603434La4641078129La93253664La18653232Si4941012121Si98850661Si19763030,节拍的确定,1/4和1/8节拍的时间设定曲调值DELAY曲调值DELAY调4/4125毫秒调4/462毫秒调3/4187毫秒调3/494毫秒调2/4250毫秒调2/4125毫秒对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方波频率信号。
因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计数的关系。
编码,简谱对应的简谱码、T值、节拍数简谱发音简谱码T值节拍码节拍数5低音SO16426011/4拍6低音LA26440022/4拍7低音TI36452433/4拍1中音DO46458041拍2中音RE56468451又1/4拍3中音MI66477761又1/2拍4中音FA76482082拍5中音SO864898A2又1/2拍6中音LA964968C3拍7中音TIA65030F3又3/4拍1高音DOB650582高音REC651103高音MID651574高音FAE651785高音SOF65217,歌曲播放的设计:
先将歌曲的简谱进行编码,储存在一个数据类型为unsignedchar的数组中。
程序从数组中取出一个数,然后分离出高4位得到音调,接着找出相应的值赋给定时器0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低4位,得到延时时间,接着调用软件延时。
暂停与播放,歌曲播放暂停,音乐盒流程图,总体运行图,21,感谢您的关注!