基于单片机的数字音乐盒设计.doc

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计 题 目:基于单片机的数字音乐盒设计 基于单片机的数字音乐盒设计 任 务 书 一、任务 设计一款基于AT89C51单片机的数字音乐盒。 二、设计要求 (1)利用单片机的I/O口产生10首音乐,并有开关键、暂停键、上一曲及下一曲控制键; 利用液晶显示歌曲的序号、播放时间 目 录 任 务 书 1 目 录 2 1 概述 5 1.1单片机数字音乐盒有关介绍 5 1.2 LED显示屏控制技术状况 9 1.3 本设计任务 10 2总体方案论证与设计 12 2.1 单片机的选取 12 2.2 LED显示方式 13 2.3 LED驱动模块 13 2.4 系统总体结构框图 14 3 系统硬件设计 15 3.1 AT89C51 芯片功能和硬件连接 15 3.2 LED显示器 18 3.3 键盘 19 3.4 系统复位电路的设计 20 3.5 时钟电路模块 20 3.6 输出显示电路 21 3.7 音频输出部分 21 3.8 整体硬件电路 23 4系统软件设计 25 4.1 主模块的设计 25 4.2 外部中断源系统设计 26 4.3 基本显示模块设计 27 4.4 系统初始化程序 28 4.5音调、节拍以及编码的确定方法 28 4.6程序流程图 33 4.7 文档顶端程序清单 35 5 调试结果 46 5.1 系统总电路图 46 5.2 运行结果及分析 46 总 结 48 参考文献 49 1 概述 传统的音乐盒多是机械音乐盒,其工作原理是通过齿轮带动一个带有铁钉的铁桶转动,铁桶上的铁钉撞击铁片制成的琴键为了让音色稳定,必须放平不能动摇音乐盒音质能控制功能强使用方便CD、MP3 等多种多样,制作原理也各不相同。声音是通过振动产生的。单片机对某一I/O引脚以一定的频率循环置1和清0,这一引脚便产生一定频率的方波,该方波通过放大后作用于扬声器便产生一定频率的声音。若改变输出方波的频率,产生的声音也就改变了。通过控制输出方波的时间长短,声音的长短也就得到控制。因此,根据乐谱,单片机就可产生电子音乐。音乐中最关键的两个要素是音符和节拍。单片机控制的音乐发生器系统由硬件电路和软件两部分构成。利用单片机控制的电子音乐发生器软硬件上具有独特的优点,系统的开发周期短,成本低,电路制作容易。更换歌曲时,硬件电路无需作任何修改,只需修改软件即可实现。软件编程时,可用51系列单片机的汇编语言或C51语言实现。同时还可根据个人的习好通过软件改变节拍的延时时间,增加电子音乐的趣味性。 1.1.1发音原理介绍 发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。) 定时器/计数器0的定时时间为:T/2=1912/2=956 定时器956的计数值=定时时间/机器周期=956/1=956(时钟频率=12MHZ) 装入T0计数器初值为65536-956=64580 将64580装入T0寄存器中,启动T0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对P3.0引脚的输出值进行取反,就可得到中音DO(523HZ)的音符音频。将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0,TL0以产生不同的频率。下表1.1是C调各音符频率与计数初值T的对照表: 表1.1 C调各音符频率与计数初值T的对照表 音符 频率(Hz) 音符 频率(Hz) 低1DO 1DO 523/64580 高1DO低2RE 2RE 589/64687 高2RE 1245/65134 低3M3M 661/64780 高3M 1318/65157 低4FA4FA 700/64822 高4FA 1397/65178 低5SO5SO 786/64900 高5SO 1568/65217 低6LA 441/64402 中6LA 882/64969 高6LA 1760/65252 低7SI 7SI 990/65031 高7SI 1967/65282 音符、音符编码及定时器初始值: 为了产生音符,必须求出音符低音5—高音5的计数初值。例如C调的低1DO的THTL=65536-50000/262=63627,中音DO的THTL=65536-500000/523=64580,高音DO的THTL=65536-500000/1042=65056。为了方便写谱,对其进行简单的编码,在编程时,根据音符编码(表1.2)查找对应的计数初值。比如说音乐是C调的,那么出现低音的5SO,直接将代码写为1;出现低音

文档评论(0)

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

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

1亿VIP精品文档

相关文档