基于89C51的数字音乐盒设计方案_第1页
基于89C51的数字音乐盒设计方案_第2页
基于89C51的数字音乐盒设计方案_第3页
基于89C51的数字音乐盒设计方案_第4页
基于89C51的数字音乐盒设计方案_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 89数字音乐盒设计 方案 1 概述 本 音乐盒的设计 是以 部 以蜂鸣器作为发音器件 , 共同组成了 音乐演奏控制器的硬件电路,通过软件程序来控制单片机内部的定时器使 单片机 I/O 口发出相应频率的脉冲来驱动蜂鸣器发出某个音调,与之相对应的 起,从而 演奏出优美动听的音乐 。利用按键切换演奏出不同的乐曲,并可以在 用户可以按照自己的喜好选择音乐并将其转化成机器码存入单片机的存储器中。对于不同型号的单片机只需要相应的改变一下地址 和 I/O 管脚 即可。该软、硬件系统具有很好的通用性,很高的实际使用价值 ,为单片机 2 系统总体方案设计 件组成 按照 数字是音乐盒 对控制系统的技术要求,控制系统的硬件应包括以下几部分: ( 1) 控制器。作为控制系统的核心, 可以采用主流的 51 单片机, 处理性能更为优越的 ( 2) 乐曲选择器 。 可以采用按键或者触摸屏来切换相应的曲目。 ( 3) 音频 输 出器件 。 做为音乐盒的发声设备,可以用蜂鸣器通过它可以将音乐代码转变为音频信号发出来。 ( 4) 人机交互界面。 可以运用 馈给使用者相应的信息。 硬件方框图 控 制 器音 频 输 出 器人 机 交 互 界 面乐 曲 选 择 器图 2案论证。 本次设计以低成本 ,灵活方便为原则,所以控制器选用主流的 51 系列单片机,考虑到 51 内部储存空间的限制,故选用容量为 51 两倍的 片机作为总控制器,共有以下两套方案可供选择: 方案一:以 片机作为总控制器,以机械键盘作为乐曲选择器,以蜂鸣器作为音频输出设备,以 晶作为人机交互界面。 方案二:以 片机作为总控制器,以机械键盘作为乐曲选择器,以蜂鸣器作为音频输出设备,以 由于数码管显示内容的单一,操作较为繁琐且难以满足大众对主流时 尚的需要,所以选用较为流行的显示效果良好的 1620 液晶作为人机交互界面,最终确定方案一作为制作方案。 总体方案图: 主控芯片 D 显 示蜂 鸣 器 发 声按 键 控 制晶 振 电 路复 位 电 路图 2 乐盒的功能图 用框图表示 音乐盒的功能结构如图 示。 责 开始 播放 和暂停 歌曲,播放歌曲共 3 首,分别是和 两只老虎和铃儿响叮当 。 开 始U P S t a r t _ p a u s eD o w 硬件电路设计 片机电路 微控制器采用 美国 列单片机完全兼容的高性能 位单片机, 列单片机以其推出时间早、配套资源丰富、开发手段完善、性价比高等特点而得到了广泛的应用,是单片机的主流品种。 内部资源主要包括: 与 列完全兼容的高性能 8 位 8K 字节可重复编程的 储器; 256 字节的 4 个 8 位的并行口,共 32 条 I/O 口线; 3 个 16 位的定时器 /计数器; 6 个中断源, 2 个中断优先级的中断系统; 一个全双工的串行口; 内部振荡器。 振电路 单片机的正常工作是在时钟的作用下完成的,晶振选用 9 2 位电路 复位电路是为了在某些情况下需要单片机恢复到初始运行条件下而设计的,只要给 0片机就可以有效复位。 + U S E 盘 该键盘电路是为了能够更好地对音乐盒进行控制,选择和切换曲目,开始和终止曲目, 10I/按下时防 止按键杯烧坏。 o w nS t a r t_ p a u s 鸣器电路 蜂鸣器作为音乐盒的发声设备,当 I/鸣器能够发声, 而来驱动蜂鸣器。 Z Z E 晶电路 1602 的操作通过 发送数据来 实现。 12345678910111213141516J P 1 D E 23456789J P 0V C 0P 0 1P 0 2P 0 3P 0 4P 0 5P 0 6P 0 7图 3源电路 通过变压器将 220V,再通过整流,滤波,稳压电路实现单片机可以使用的电源,其中 稳压电源。 12341 N 4 0 0 7 H 2+ 1 u N T V O U 5220 7 8 0 5 1 u CP o r tP o r 4 软件设计 调、节拍、及编码的设置 调 音调的确定 不同音高的乐音是用 C、 D、 E、 F、 G、 A、 B 来表示,这 7 个字母就是音乐的音名,它们一般依次唱成 唱成简谱的 1、 2、 3、 4、 5、 6、 7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的发音,所以叫“音调”。每个音调都有它固有的频率。如高音 频率( 1046好是中音 频率( 523一倍,中音 频率( 523好是低音 率( 266 一倍;同样的,高音 频率( 1175好是中音 频率( 587一倍,中 音 频率( 587好是低音 率( 294 一倍。 1)要产生音频脉冲,只要算出某一音频的周期( 1/频率),然后将此周期除以 2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将输出脉冲的 I/O 反相,然后重复计时此半周期时间再对 I/O 反相,就可在 I/O 脚上得到此频率的脉冲。 2)利用 内部定时器使其工作在计数器模式 ,改变计数值 产生不同频率的方法。 此外结束符和休止符可以分别用代码 00H 和 表示,若查表结果为 00H,则表示曲子终了;若查表结果为 产生相应的停顿效果。 3)例如频率为 523周期 T=1/523=1912此只要令计数器计时95656,在每次计数 956 次时将 I/O 反相,就可得到中音 523 计数脉冲值与频率的关系公式如下: N=2 N:计算值; 部计时一次为 1其频率为 1计数值的求法如下: T=6553655362 如:设 K=65536, F=1000000=低音 261中音 523高音的 1046计算值 T=6553655362 55362 5536r 低音 T=6553662=63627 中音 T=6553623=64580 高音 T=65536047=65059 4) C 调各音符频率与计数值 T 的对照表如表 表 的对照表 低音 频率 T 参数 中音 频率 T 参数 高音 频率 T 参数 62 1908 229 23 956 115 046 57 57 277 1805 217 554 903 108 1109 54 54 94 1701 204 87 852 102 175 51 51 311 1608 193 622 804 97 1245 48 48 30 1515 182 59 759 91 318 45 45 49 1433 172 98 716 86 397 43 43 370 1351 162 740 676 81 1480 41 41 92 1276 153 84 638 77 568 38 38 415 1205 145 831 602 72 1661 36 36 40 1136 136 80 568 68 760 34 34 464 1078 129 932 536 64 1865 32 32 94 1012 121 88 506 61 976 30 30 拍的确定 若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的律动),而且可以调节各个音的快慢度。音持续时间的长短即时值,一般用拍数表示。休止符表示暂停发音,一排的时间并不确定,一般是 400 500次设计选择一拍的时间是 500 一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。对于单片机来说,产生不同频率的脉冲是非常方便的,利用单片机的定时 /计数器来产生这样的方波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以 及单片机定时计数的关系。 表 节拍码 节拍数 节拍码 节拍数 1 1/4拍 1 1/8拍 2 2/4拍 2 1/4拍 3 3/4拍 3 3/8拍 4 1拍 4 2/1拍 5 1又 1/4拍 5 5/8拍 6 1又 1/2拍 6 3/4拍 8 2拍 8 1拍 A 2又 1/2拍 A 1又 1/4 拍 C 3拍 C 1又 1/2 拍 F 3又 3/4拍 每个音符使用 1 个字节,字节的高 4 位代表音符的高低,低 4 位代表音符的节拍,图 节拍码的对照。如果 1 拍为 , 1/4 拍实 ,只要设定延迟时间就可求得节拍的时间。假设 1/4 拍为 1 1 拍应为 4此类推。所以只要求得 1/4 拍的 间,其余的节拍就是它的倍数,如图 1/4 和 1/8 节拍的时间设定。 表 1/4 和 1/8 节拍的时间设定 曲调值 调值 4/4 125毫秒 调 4/4 62毫秒 调 3/4 187毫秒 调 3/4 94毫秒 调 2/4 250毫秒 调 2/4 125毫秒 编码 do re mi fa so la 别编码为 17,重音 为 8,重音 为 9,停顿编为 0。播放长度以十六分音符为单位(在本程序中为 125一拍即四分音符等于 4个十六分音符,编为 4,其它的播放时间以此类推。音调作为编码的高 4 位,而播放时间作为低 4 位,如此音调和节拍就构成了一个编码。以 0为曲谱的结束标志。 举例 1:音调 音长度为两拍,即二分音符,将其编码为 0 举例 2:音调 音长度为半拍,即八分音符,将其编码为 0 歌曲播放的设计。先将歌曲的简谱进行编码,储存在一个数据类型为 数组中。程序从数组中取出一个数,然后分离出高 4 位得到音调,接着找出相应的值赋给定时器 0,使之定时操作蜂鸣器,得出相应的音调;接着分离出该数的低 4 位,得到延时时间,接着调用软件延时。表 谱对应的简谱码、节拍数 表 谱 发音 简谱码 T 值 节拍码 节拍数 5 低音 64260 1 1/4 拍 6 低音 64400 2 2/4 拍 7 低音 64524 3 3/4 拍 1 中音 64580 4 1 拍 2 中音 64684 5 1又 1/4 3 中音 64777 6 1又 1/2 4 中音 64820 8 2 拍 5 中音 64898 A 2又 1/2 6 中音 64968 C 3 拍 7 中音 65030 F 3又 3/4 1 高音 65058 2 高音 65110 3 高音 65157 4 高音 65178 5 高音 65217 设计主程序较为简单,流程图如下: 开始初始化播放音乐 图 4放音乐子程序流程图(包含了键盘扫描) i = 0N u m = 0 ?Y e 0 0 : 0 0N u m = 1 ?N oY e 一 个 编 码 表 中的 第 i 个 数 给 t e m p tC o u n t = 0 ?Y e 计 时关 闭 定 时 器0 和 蜂 鸣 器N oN u m = 2 ?N 二 个 编 码 表 中的 第 i 个 数 给 t e m p tY e sN u m = 3 ?N 三 个 编 码 表 中的 第 i 个 数 给 t e m p tY e sT e m p t = 0 x f f?退 出 当 前 循 环Y e 代 码 的 高 四位 给 j i a n p uN 组 y i n y u e 中 取 出 与j i a n p u 相 对 应 的 码 值 给 P 1 口J i a n p u = 0 ?打 开 定 时 器 0Y e 定 时 器 0 和蜂 鸣 器N 代 码 的 低 四 位 , 用d e l a y 1 延 时 响 应 的 时 间关 闭 定 时 器 0 , 和 蜂 鸣 器 ,用 d e l a y 2 延 时 1 0 M 定 时 器 1修 正 i , i + +图 4 装初值C o u n t 加 1C o u n t = 100 ?M i a o 加 1Y e sF e n 加 1F e n = 60 ?F e n = 0Y e sC o u n t = 0进入中断Y e 时器 0 中断服务子程序框图: 图 4 调试 查硬件连接 在 路逻辑是否正确,例如:晶振电路的连接,复位电路是否设计正确 . 查软件系统 根据系统的原理结构检查各流程图是否正确,再根据流程图来检查程序是否也正确。 将所有程序组织起来,在软件环境下运行,检查程序是否正确。通过对硬件和软件系统的认真检查,反复测试,如果没有出现问题即可把源程序编译成 硬件进行仿真。 由于开发板上 1602 液晶遮挡住了 以附上两张图 体运行图 图 5 运行图 图 5 总结 经过几天的紧张工作,终于把本次设计完成了,总体下来,其中有苦有乐。比较喜欢电子制作的我,在这次设计当中让我学到了很多。在大二寒假期间自学了一点单片机编程,我想对本次的设计也带来了一定的帮助。刚拿到题目,我很高兴,因为我一直都想做一个属于我自己的制作,由于学习较为繁忙就迟迟没有亲自动起手来,正好借着这次机会,让我对自己的动手能力和自己所学有了一个很好地锻炼和检测的机会。由于音乐知识较为薄弱,所以在起初又感觉无从下手,在上网查找了与音乐相关的信息之后,我突然有了一点思路,就开始了我自己的制作之路。刚开始一切都很 顺利,就在编写按键控制 1602 液晶切换曲目、暂停和开始音乐的时候耽误了好久。刚开始是按键总是没有反应, 1602 无法显示按键的切换,经过一番查找终于找到了原因,原来在给 1602 写数据显示的时候字 符的编码地址出现了错误。之后当按下暂停键之后液晶上没有及时,但是歌曲去一直在唱,刚开始找不到原因,就一直检查按键的扫描程序,但始终没有结果,最后,当我把键盘的扫描程序放到歌曲的循环子程序当中后,突然能够正常运行了,我感到很开心,再经过一系列的检测与调试,最后终于能够演奏我自己写进去的音乐了,一个属于我的设计就完成了。通 过本次设计使我的动手能力有了一定的提高,更锻炼了我的编程能力,分析问题和解决问题的能力,真的给了我很大的帮助,可以说是,本次设计收货良多。 7 参考文献 1)谭浩强。 二版), 北京 :清华大学出版社, 1991. 2)张维新。单片微型计算机原理应用及接口技术(第二版),北京,国防工业出版社, 2009. 3)单片机播放音乐原理,百度文库 ) 康华光, 模拟电子技术基础 (第四版 ) 武汉:华中理工 大学出版社 , 1999. 5)千年之恋简谱 )两只老虎简谱 )铃儿响叮当简谱 + U S E - P - P - P 0V C 1 D E D E Z Z E 2V C o w nS t a p a u s eD o w 0P 0 1P 0 2P 0 3P 0 4P 0 5P 0 6P 0 7s ta r t _ p a u . 1P 3 . 2P 3 . 312341 N 4 0 0 7 H 2+ 1 u N T V O U 5220 7 8 0 5 1 u CP o r tP o r 源程序 #27; 26; 23; 31; /曲目上一曲选择键 32; /曲目开始和停止键 33; /曲目下一曲选择键 34; 35; 37; ge,i; ,; = ; = 00:00 ; =0= 0,0,0 0 0 0 /用于产生不同的音调的定时器中装的初值 0 00,00 0 000; = /千年之恋 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0结束标志 /用一生守候 ; =/两只老虎 0,0,0,0,0; =/铃儿响叮当 0,叮叮当,铃儿响叮当 0, 我们冲破大风雪 0,0,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论