教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 学前教育 >

基于AT89C51单片机音乐盒课程设计 - 图文(2)

来源:网络收集 时间:2026-04-28
导读: . 第2章 音乐盒的发音原理 2.1 播放音乐的原理 发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,

.

第2章 音乐盒的发音原理

2.1 播放音乐的原理

发音原理:播放一段音乐需要的是两个元素,一个是音调,另一个是音符。首先要了解对应的音调,音调主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音调随频率的升降而升降;对一定频率的纯音、低频纯音的音调随声强增加而下降,高频纯音的音调却随强度增加而上升。另外,音符的频率有所不同。基于上面的内容,这样就对发音的原理有了一些初步的了解。

音符的发音主要靠不同的音频脉冲。利用单片机的内部定时器/计数器0,使其工作在模式1,定时中断,然后控制P3.7引脚的输出音乐。只要算出某一音频的周期(1/频率),然后将此周期除以2,即为半周期的时间,利用定时器计时这个半周期时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期时间再对I/O反相,就可在I/O脚上得到此频率的脉冲。 2.2 音符频率的产生

音符及定时器初始值:

例如:中音1(do)的音频=523HZ,周期T=1/523s=1912?s 定时器/计数器0的定时时间为:T/2=1912/2?s=956?s

定时器956?s的计数值=定时时间/机器周期=956?s/1?s=956(时钟频率=12MHZ)

装入T0计数器初值为65536-956=64580

将64580装入T0寄存器中,启动T0工作后,每计数956次时将产生溢出中断,进入中断服务时,每次对P3.0引脚的输出值进行取反,就可得到中音DO(523HZ)的音符音频。将51单片机内部定时器工作在计数器模式1下,改变计数初值TH0,TL0以产生不同的频率。下表2-1是C调各音符频率与计数初值T的对照表:

..

.

表2-1 C调各音符频率与计数初值T的对照表

音符 低1DO 高1DO 中2RE 低3M 高3M 中4FA 低5SO 高5SO 中6LA 低7SI 高7SI 频率(Hz)/初值(?s) 262/63627 1042/65056 589/64687 330/64021 1318/65157 700/64822 393/64264 1568/65217 882/64969 495/64526 1967/65282 音符 中1DO 低2RE 高2RE 中3M 低4FA 高4FA 中5SO 低6LA 高6LA 中7SI 频率(Hz)/初值(?s) 523/64580 294/63835 1245/65134 661/64780 350/64107 1397/65178 786/64900 441/64402 1760/65252 990/65031

音符、音符编码及定时器初始值:

为了产生音符,必须求出音符低音5—高音5的计数初值。例如C调的低1DO的THTL=65536-50000/262=63627,中音DO的THTL=65536-500000/523=64580,高音DO的THTL=65536-500000/1042=65056。为了方便写谱,对其进行简单的编码,在编程时,根据音符编码查找对应的计数初值。比如说音乐是C调的,那么出现低音的5SO,直接将代码写为1;出现低音6LA,直接写一个2的代码;出现低音7SI,直接写一个3代码。

表2-2 音符编码表

音符 不发音 低6LA 中1DO 中3M 中5SO 中7SI 高2RE 高4FA 高6LA ..

音符编码 0 2 4 6 8 A C E G 音符 低5SO 低7SI 中2RE 中4FA 中6LA 高1DO 高3M 高5SO 音符编码 1 3 5 7 9 B D F .

2.3 节拍频率的产生 节拍的产生与编码:

音乐中的节拍用延时时间产生。例如,1拍=0.4s,1/4拍=0.1s,以此类推。假设1/4拍执行一次延时程序,则1/2拍就执行两次延时程序,所以只要求出1/4拍的延时时间,其余节拍就是它的倍数。为了方便,将节拍数也进行了编码,并且计算了乐谱节拍编程时的延时时间,如表2-3和表2-4所示。

表2-3 节拍数编码表

按1/4拍为一个延时时间的节拍编码与节按1/8拍为一个延时时间的节拍编码与节拍对应的表 拍对应的表 节拍编码 1 2 3 4 5 节拍 1/4 2/4 3/4 4/4 5/4 节拍编码 6 8 A C F 节拍 6/4 8/4 10/4 12/4 15/4 节拍编码 1 2 3 4 5 节拍 1/8 2/8 3/8 4/8 5/8 节拍编码 6 8 A C 节拍 6/8 8/8 10/8 12/8

表2-4 乐谱节拍编程时的时间延时表

乐谱节拍 4/4 3/4 2/4 1/4拍的延时时间 125 ms 187 ms 250 ms 乐谱节拍 4/4 3/4 2/4 1/8拍的延时时间 62 ms 94 ms 125 ms

音符编码和节拍编码完成后,在编程时,每个音符占一个字节,高四位是音符编码,低四位是节拍编码。

..

.

第3章 硬件电路设计

3.1 硬件电路

设计中用到了AT89C52单片机,3*3键盘,蜂鸣器等硬件电路常用元器件。 3.1.1 时钟复位电路

时钟电路由单片机XTAL1、 XTAL2引脚外接晶振(12MHz)及起振电容C1、C2(均为30pf)组成。如图3-1所示:

图3-1 时钟复位电路

3.1.2 按键输入电路

按键输入电路由3*3矩阵键盘组成, P3口作为输入控制按键,其中P3.4~P3.6扫描行,P3.0~P1.2扫描列。

图3-2 按键输入电路

..

.

3.2 整体硬件电路 如图3-3所示:

图3-3 音乐盒硬件电路原理图

3.3 原理说明:

当键盘有键按下时,判断键值,启动计数器T0,产生一定频率的脉冲,驱动蜂鸣器,放出乐曲。

(1) 硬件电路中用P3口控制按键,其中P3.0~P3.2扫描列,P3.4~P1.6扫描行;

(2) 用P1.0口控制蜂鸣器;

(3) 电路为12MHz晶振频率工作,起振电路中C1,C2均为30pf。

3.4 键盘按键

键盘按键分布如下: 按键功能说明: 1 4 7

..

2 5 8 3 6 9 1—5 6 7 8 9 五首歌曲 上一首歌曲 关机 暂停 下一首歌曲

…… 此处隐藏:913字,全部文档内容请下载后查看。喜欢就下载吧 ……
基于AT89C51单片机音乐盒课程设计 - 图文(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/594019.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)