单片机的音乐播放器设计[详解音调、节拍的确定]

上传人:壹****1 文档编号:498357696 上传时间:2023-02-24 格式:DOCX 页数:19 大小:361.49KB
返回 下载 相关 举报
单片机的音乐播放器设计[详解音调、节拍的确定]_第1页
第1页 / 共19页
单片机的音乐播放器设计[详解音调、节拍的确定]_第2页
第2页 / 共19页
单片机的音乐播放器设计[详解音调、节拍的确定]_第3页
第3页 / 共19页
单片机的音乐播放器设计[详解音调、节拍的确定]_第4页
第4页 / 共19页
单片机的音乐播放器设计[详解音调、节拍的确定]_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《单片机的音乐播放器设计[详解音调、节拍的确定]》由会员分享,可在线阅读,更多相关《单片机的音乐播放器设计[详解音调、节拍的确定](19页珍藏版)》请在金锄头文库上搜索。

1、基于单片机的音乐盒设计【摘要】本设计是一个基于AT89C51系列单片机的音乐盒,依据单片机技术原理, 通过硬件电路制作以及软件编译,设计制作出一个多功能多功能音乐盒。该音乐盒主要 由按键电路、复位电路、时钟电路以及蜂鸣器组成。使用两个按键控制音乐盒,一个用 来切换歌曲,另一个用来切换8路LED的变化花样,本音乐盒共有两首歌曲,花样灯花 样共计3种。播放歌曲时,蜂鸣器发出某个音调,与之对应的LED亮起。本设计利用KEIL 编程软件对音乐盒源程序进行编程并调试,配合PROTEUS仿真软件对硬件进行仿真调试, 节约了设计时间。目录1. 设计方案 22 系统总体方案介绍 22.1 系统组成框图 22.

2、2 音乐盒的功能结构图 23硬件设计 33.1 总体设计框图33.2各部分硬件设计及其原理错误!未定义书签。3.2.2 LED 显示电路设计与原理 33.2.3 时钟振荡电路 错误!未定义书签。3.3 硬件电路图及功能34 软件设计 44.1音调、节拍以及编码的确定方法44.1.1 音调的确定 54.1.2 节拍的确定 64.1.3 编码 74.2 软件程序设计74.2.1 程序流程图及相应代码块75调试 错误!未定义书签。5.1 检查硬件连接 错误!未定义书签。5.2 检查软件系统 错误!未定义书签。5.3 测试结果 125.3.1总体运行图125.3.2花样灯 3 种花样图 13附录 程序

3、源代码及注释 131.设计方案设计一个基于 AT89C51 系列单片机的音乐盒,利用按键切换演奏出不同的 乐曲。蜂鸣器发出某个音调,与之相对应的 LED 亮起。使用两个按键,一个用 来切换歌曲,另一个切换八路LED的变化花样。1)电路有两种工作模式:演奏音乐模式和花样灯模式。演奏音乐模式:演奏完整的一首的歌曲,八路LED随着音乐变化。 花样灯模式:八路 LED 变化出各种花样,蜂鸣器随着发出“嘀嘀”声2)按下按键1进入演奏音乐模式,再按切换歌曲,共两首歌曲。3)按下按键2进入花样灯模式,再按切换LED花样,共三种花样。此电路的程序只占用了 1K左右,可编制更多的音乐和LED花样,使系统的 功能

4、更加强大。2. 系统总体方案介绍2.1 系统组成框图音乐盒的系统结构以AT89C51单片机位控制核心,加上2个按键、时钟复 位电路、蜂鸣器、LED模块组成。单片机负责接收按键的输入,根据输入控制 音乐播放曲目和音乐花样灯的显示样式以及蜂鸣器发音。系统组成框图如图2.1 所示。图 2.1 系统组成框图2.2 音乐盒的功能结构图音乐盒的功能结构如图2.2所示Key1负责切换播放歌曲,播放歌曲共2首, 分别是挥着翅膀的女孩和寂寞沙洲冷。Key2负责切换LED显示花样,显示花样 共3种,第一种顺序显示,第二种由两边向中间移动然后向两边移动,第三种循 环显示。图 2.2 音乐盒功能结构图3硬件设计3.2

5、 LED 显示电路设计与原理LED显示电路是由8个LED发光二极管组成,连接方式为共阳极,LED接 到单片机的P1 口,若为低电平,可使LED亮起。发光二极管的亮、灭由内部程 序控制,8个LED发光二极管分别对应不同的音阶,所以LED会随着音阶的变 化按规律亮、灭。3.3 硬件电路图及功能 总体硬件电路实现功能如下,如图 3.4 所示1) 电路中用P3.2、P3.3控制按键。2) P1.0P1.7 控制 LED。3) P2.3 控制蜂鸣器。4) 电路为12MHZ晶振频率工作,起振电路 中C1、C2均为30PF。D3LED-AT8SC51P1.7P1.6PlanP1.5P34fT0P1.4pyi

6、nrrPI.3pj2rt7TcrPI 2P$ 1XTXDPI 1P3QIRXDPI 0P27JA15P7&JA14P7SIA1BEAP24IA12ALEP211PSENP22IA1DP2JJA9P2M.8P07XAD7RSIP06TAD6P0STAD4刊时心1PODSXTALlP02TAD2P0.VAD1PO.&AMATAL1图 3.4 硬件电路图4软件设计在本程序中设置了两个标志countl和count2,分别初始化为1和0。按键 1 使得 count1 在 1 和 2 之间切换,按键 2 使得 count2 在 14 之间切换。程序 检测 countl 的值, countl 等于 1 时播

7、放第一首歌曲,等于 2 时播放第二首。另 一方面根据 count2 的值来切换 LED 的花样。 countl 和 count2 的值是互斥的,设 置 countl 等于 1、2时, count2 同时设置为 0;设置 count2 等于14 时, countl 也同时设置为 0。4.1音调、节拍以及编码的确定方法一般说来,单片机演奏音乐基本都是单音频率,它不包含相应幅度的谐波频 率,也就是说不能像电子琴那样能奏出多种音色的声音。因此单片机奏乐只需弄清楚两个概念即可,也就是“音调”和节拍表示一个音符唱多长的时间。4.1.1 音调的确定不同音高的乐音是用 C、D、E、F、G、A、B 来表示,这

8、7 个字母就是音 乐的音名,它们一般依次唱成DO、RE、MI、FA、SO、LA、SI,即唱成简谱的1、2、3、 4、 5、 6、 7,相当于汉字“多来米发梭拉西”的读音,这是唱曲时乐音的 发音,所以叫“音调”即Tone。把C、D、E、F、G、A、B这一组音的距离分 成 12 个等份,每一个等份叫一个“半音”。两个音之间的距离有两个“半音”, 就叫“全音”在钢琴等键盘乐器上,C-D、D-E、F-G、G-A、A-B两音 之间隔着一个黑键,他们之间的距离就是全音;E-F、B-C两音之间没有黑键 相隔,它们之间的距离就是半音。通常唱成1、 2、 3、 4、 5、 6、 7 的音叫自然音, 那些在它们的

9、左上角加上#号或者b号的叫变化音。#叫升记号,表示把音在原 来的基础上升高半音, b 叫降记音,表示在原来的基础上降低半音。例如高音 DO的频率(1046Hz)刚好是中音DO的频率(523Hz)的一倍,中音DO的频 率(523Hz)刚好是低音DO频率(266 Hz)的一倍;同样的,高音RE的频率 (1175Hz)刚好是中音RE的频率(587Hz)的一倍,中音RE的频率(587Hz) 刚好是低音RE频率(294 Hz)的一倍。1)要产生音频脉冲,只要算出某一音频的周期(1/频率),然后将此周期除 以 2,即为半周期的时间。利用定时器计时这半个周期时间,每当计时到后就将 输出脉冲的 I/O 反相,

10、然后重复计时此半周期时间再对 I/O 反相,就可在 I/O 脚 上得到此频率的脉冲。2)利用 AT89C51 的内部定时器使其工作在计数器模式 MODE1 下,改变计 数值TH0及TL0以产生不同频率的方法。此外结束符和休止符可以分别用代码 00H 和 FFH 来表示,若查表结果为 00H,则表示曲子终了;若查表结果为FFH,则产生相应的停顿效果。3)例如频率为523Hz,其周期T=1/523=1912us,因此只要令计数器计时 956us/1us=956,在每次技术956次时将I/O反相,就可得到中音DO (523Hz)。计数脉冲值与频率的关系公式如下:N=Fi + 2 + FrN:计算值;

11、Fi:内部计时一次为1us,故其频率为1MHz;4)其计数值的求法如下:T=65536-N=65536-Fi + 2 + Fr例如:设 K=65536,F=1000000=Fi=1MHz,球低音 DO (261Hz)。中音 DO (523Hz)。高音的DO (1046Hz)的计算值T=65536-N=65536-Fi + 2 + Fr=65536-1000000 + 2 + Fr=65536-500000/Fr 低音 DO 的 T=65536-500000/262=63627 低音 DO 的 T=65536-500000/523=64580 低音 DO 的 T=65536-500000/104

12、7=650595)C 调各音符频率与计数值 T 的对照表如表 4.1 所示。表 4.1 C 调各音符频率与计数值 T 的对照表低音频率T参数中音频率T参数. - 、1=1、几高音频率T参数Do2621908229Do523956115Do10465757Do2771805217Do554903108Do11095454#Re2941701204Re587852102Re11755151Re3111608193Re62280497Re12454848#Mi3301515182Mi65975991Mi13184545Fa3491433172Fa69871686Fa13974343Fa3701351

13、162Fa74067681Fa14804141#So3921276153So78463877So15683838So4151205145So83160272So16613636#La4401136136La88056868La17603434La4641078129La93253664La18653232#Si4941012121Si98850661Si197630304.1.2 节拍的确定若要构成音乐,光有音调是不够的,还需要节拍,让音乐具有旋律(固定的 律动),而且可以调节各个音的快满度。“节拍”,即Beat,简单说就是打拍子, 就像我们听音乐不自主的随之拍手或跺脚。若1拍实0.5s,则1

14、/4拍为0.125s。 至于1拍多少s,并没有严格规定,就像人的心跳一样,大部分人的心跳是每分 钟 72 下,有些人快一点,有些人慢一点,只要听的悦耳就好。音持续时间的长 短即时值,一般用拍数表示。休止符表示暂停发音。一首音乐是由许多不同的音符组成的,而每个音符对应着不同频率,这样就 可以利用不同的频率的组合,加以与拍数对应的延时,构成音乐。了解音乐的一 些基础知识,我们可知产生不同频率的音频脉冲即能产生音乐。对于单片机来说, 产生不同频率的脉冲是非常方便的,利用单片机的定时/计数器来产生这样的方 波频率信号。因此,需要弄清楚音乐中的音符和对应的频率,以及单片机定时计 数的关系。表 4.2 节拍与节拍码对照节拍码节拍数节拍码节拍数1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号