C51音乐播放器.doc

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C51音乐播放器

课 程 设 计 姓名: 学号: 班级: 组员: 目 录 1 设计题目.....................................................3 2 概述 3 2.1单片机数字音乐盒有关介绍 3 2.2 本设计任务 5 3总体方案论证与设计 7 3.1 单片机的选取 7 3.2 LED显示方式 8 3.3 系统总体结构框图 8 4 系统硬件设计 9 4.1 AT89C51 芯片功能和硬件连接 9 4.2 LED显示器 11 4.3 键盘 12 4.4 音频输出部分 12 4.5 整体硬件电路 14 4.6原理说明........................14 5 系统软件设计 15 5.1 主模块的设计 15 5.2 外部中断源系统设计 16 5.3 基本显示模块设计 19 5.4 系统初始化程序 19 5.5音调、节拍以及编码的确定方法 19 6 调试结果 21 6.1 系统总电路图 21 总 结 22 参考文献 23 附件.............................24 1.设计题目 基于C51的音乐发生器设计 概述 2.1单片机数字音乐盒有关介绍 电子音乐已广泛地应用于社会生活的各个领域。其类型从音乐卡片到CD、MP3 等多种多样,制作原理也各不相同。声音是通过振动产生的。单片机对某一I/O引脚以一定的频率循环置1和清0,这一引脚便产生一定频率的方波,该方波通过放大后作用于扬声器便产生一定频率的声音。若改变输出方波的频率,产生的声音也就改变了。通过控制输出方波的时间长短,声音的长短也就得到控制。因此,根据乐谱,单片机就可产生电子音乐。音乐中最关键的两个要素是音符和节拍。单片机控制的音乐发生器系统由硬件电路和软件两部分构成。利用单片机控制的电子音乐发生器软硬件上具有独特的优点,系统的开发周期短,成本低,电路制作容易。更换歌曲时,硬件电路无需作任何修改,只需修改软件即可实现。软件编程时,可用51系列单片机的汇编语言或C51语言实现。同时还可根据个人的习好通过软件改变节拍的延时时间,增加电子音乐的趣味性。 2.1.1发音原理介绍 发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。) 定时器/计数器0的定时时间为:T/2=1912/2=956 定时器956的计数值=定时时间/机器周期=956/1=956(时钟频率=12MHZ) 装入T0计数器初值为65536-956=64580 将64580装入T0寄存器中,启动T0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对P0.3引脚的输出值进行取反,就可得到中音DO(523HZ)的音符音频。将51单片机内部定时器工作在计数器模式0下,改变计数初值TH0,TL0以产生不同的频率。 下表1.1是C调各音符频率与计数初值T的对照表: 表1.1 C调各音符频率与计数初值T的对照表 音符 频率(Hz) 音符 频率(Hz) 低1DO 1DO 523/64580 低2RE 2RE 589/64687 低3M3M 661/64780 低4FA4FA 700/64822 低5SO5SO 786/64900 低6LA 441/64402 中6LA 882/64969 低7SI 7SI 990/65031 高1DO5SO 1568/65217 高2RE 1245/65134 高6LA 1760/65252 高3M 1318/65157 高7SI 1967/65282 高4FA 1397/65178 2.1.3 节拍频率的产生 节拍的产生与编码: 音乐中的节拍用延时时间产生。例如,1拍=0.4s,1/4拍=0.1s,以此类推。假设1/4拍执行一次延时程序,则1/2拍就执行两次延时程序,所以只要求出1/4拍的延时时间,其余节拍就是它的倍数。为了方便,将节拍数也进行了编码,并且计算了乐谱节拍编程时的延时时间,如表1.3和表1.4所示。 表1.3 节拍数编码表 按1/4拍为一个延时时间的节拍编码与节拍对应的表 按1/8拍为一个延时时间的节拍编码与节拍对应的表 节拍编码 节拍 节拍编码 节拍 节拍编码 节拍 节拍编码 节拍 1 1/4 6 6/4 1 1/8 6 6/8 2 2/4 8 8/4 2 2/8

文档评论(0)

kakaxi + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档