音乐播放器设计报告.docx
- 文档编号:6047351
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:24
- 大小:276.30KB
音乐播放器设计报告.docx
《音乐播放器设计报告.docx》由会员分享,可在线阅读,更多相关《音乐播放器设计报告.docx(24页珍藏版)》请在冰豆网上搜索。
音乐播放器设计报告
信息与电气工程学院
课程设计说明书
(2011/2012学年第二学期)
课程名称:
单片机应用
题目:
可选音乐播放器
专业班级:
学生姓名:
学号:
指导教师:
设计周数:
两周
设计成绩:
2012年6月22日
目录
1、课程设计目的与要求-------------------------------------------1
2、总体设计-----------------------------------------------------1
3、硬件部分设计方案---------------------------------------------1
3.1硬件电路总体方案设计------------------------------------1
3.2单片机简介----------------------------------------------1
3.3数码管显示电路------------------------------------------3
3.4蜂鸣器发声电路------------------------------------------3
3.5按钮电路------------------------------------------------4
3.6发光二极管电路------------------------------------------4
3.7时钟振荡电路--------------------------------------------5
3.8复位电路------------------------------------------------5
3.9总电路图------------------------------------------------6
4、软件部分设计方案------------------------------—-------------6
4.1音乐发生器流程及思路------------------------------------6
4.2主程序设计----------------------------------------------10
5、软件和硬件调试-----------------------------------------------20
5.1硬件调试------------------------------------------------20
5.2软件调试------------------------------------------------21
6、材料清单-----------------------------------------------------21
7、课设总结-----------------------------------------------------22
8、参考文献-----------------------------------------------------23
9附录----------------------------------------------------------24
可选音乐播放器
1、课程设计目的与要求
(1)利用I/O口产生一定频率的方波,驱动蜂鸣器,发出不同的音调,从而演乐曲(内存3首乐曲)。
(2)采用七段数码管和发光二极管来显示当前播放的歌曲序号,播放乐曲时,数码管显示当前歌曲序号同时对应二极管点亮。
(3)可通过功能键来进行乐曲切换,按下键时从当前歌曲切换到下一首歌曲,且可实现歌曲自动循环。
2、总体设计
(1)硬件部分由数码管、发光二极管、蜂鸣器、单片机、按钮组成,来实现歌曲的播放和歌曲序号的显示,按钮用来实现对下一首歌曲的切换,每按一次按钮播放器切换到下一首歌曲。
(2)软件用来对单片机的各引脚进行控制进而控制数码管的显示数目,同时在蜂鸣器的输出端口产生不同频率的矩形波进而产生音乐,当按钮按下时程序要完成对歌曲的切换,对数码管和发光二极管的切换。
3、硬件部分设计方案
3.1硬件电路总体方案设计
硬件电路由数码管分显示电路、蜂鸣器发声电路、按钮电路、发光二极管显示电路、时钟振荡电路、单片机组成。
显示电路用来对当前播放歌曲序号进行显示,蜂鸣器发生电路用来进行音乐的产生,按钮电路用来进行当前歌曲到下一首的切换,三个发光二极管分别对应三首歌曲,播放歌曲时与其对应发光二极管点亮,另外两个发光二极管不亮。
时钟振荡电路用来为单片机产生时钟脉冲,本设计采用内部时钟方式。
3.2单片机简介
AT89C51按功能划分有如下功能部件组成:
(1)微处理器CPU:
AT89C51单片机中有1个8位的CPU,与通用的CPU基本相同,同样包含了运算器和控制器两大部分,只是增加了面向控制的处理功能,不仅可以处理字节数据,还可以进行为变量的处理。
(2)数据存储器RAM:
片内位128B,片外最多可外扩64KB.数据存储器来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。
片内的128B的RAM,以高速RAM的形式集成在单片机内,可以加快单片机的运行速度,降低功耗。
单片机引脚图
(3)程序存储器ROM/EPROM:
为4KB的ROM,片外可扩展只读存储器,最多扩至64KB
(4)4个8位并行I/O口,P0,P1,P2,P3:
位4个并行8位I/O口
(5)1个串行口:
1个双全工的串行口,具有四种工作方式
(6)2个16位定时器/计数器:
具有4钟工作方式
(7)中断系统:
具有5个中断源,2个中断优先级
(8)特殊功能功能寄存器SFR.:
共有21个,用于CPU对片内各功能部件进行管理、控制、监视。
实际上是一些控制寄存器和状态寄存器,是一个具有特殊功能的RAM区
AT89C51的引脚说明和功能说明如下:
XTAL1:
接外部晶振的一个引脚。
在单片机内部,它是一反相放大器输入端,这个放大器构成了片内振荡器。
它采用外部振荡器时,此引脚应接地。
XTAL2:
接外部晶振的一个引脚。
在片内接至振荡器的反相放大器输出端和内部时钟发生器输入端。
当采用外部振荡器时,则此引脚接外部振荡信号的输入。
RST:
AT89C51的复位信号输入引脚,高电位工作,当要对芯片又时,只要将此引脚电位提升到高电位,并持续两个机器周期以上的时间,AT89C51便能完成系统复位的各项工作,使得内部特殊功能寄存器的内容均被设成已知状态。
P0口(P0.0~P0.7)是一个8位漏极开路双向输入输出端口,当访问外部数据时,它是地址总线(低8位)和数据总线复用。
外部不扩展而单片应用时,则作一般双向I/O口用。
P0口每一个引脚可以推动8个LSTTL负载。
P2口(P2.0~P2.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),当访问外部程序存储器时,它是高8位地址。
外部不扩展而单片应用时,则作一般双向I/O口用。
每一个引脚可以推动4个LSTTL负载。
P1口(P1.0~P1.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),其输出可以推动4个LSTTL负载。
仅供用户作为输入输出用的端口。
P3口(P3.0~P3.7)口是具有内部提升电路的双向I/0端口(准双向并行I/O口),它还提供特殊功能,包括串行通信、外部中断控制、计时计数控制及外部随机存储器内容的读取或写入控制等功能。
3.3数码管显示电路
数码管选用七段显示数码管LED,接单片机的P0端口,用单片机的P0端口来控制七段数码管(用P0.0-P0.6控制七段码a,b,c,d,e,f),通过对P0端口赋不同的值来改变P0端口输出的电平进而来改变数码管显示的数值。
因为P0端口为三态门,作为输出端口时须外接上拉电阻。
数码管显示电路如图所示:
3.4蜂鸣器发声电路
蜂鸣器发声电路由蜂鸣器、三极管(PNP)组成。
蜂鸣器接单片机的P1.0端口,因单片机复位时各输出端口均为高电平,为防止单片机一上电复位蜂鸣器就响用低电平来驱动蜂鸣器,三极管选用PNP型配合P1.0端口来对电流进行放大,三极管与P1.0端口共同完成对蜂鸣器的驱动。
蜂鸣器发生电路图如图2-3所示
3.5按钮电路
按钮电路由按钮、上拉电阻组成。
按钮接P3.2端口,未按下按钮时P3.2端口为高电平,当按钮按下时在P3.2端口产生一个低电平输入单片机,来产生切换到下一曲的信号,进而通过软件来完成歌曲的切换。
按钮电路如图所示。
3.6发光二极管电路
发光二极管电路由限流电阻和发光二极管组成,三个二极管分别接P2.0、P2.1和P2.2三个端口。
三个发光二极管分别对应三首歌曲,当有歌曲播放时与其对应的发光二极管点亮,另外两个发光二极管不亮。
通过改变P2口的输出来使二极管状态改变,二极管采用低电平驱动,防止复位时二极管全亮。
发光二极管电路如图所示
3.7时钟振荡电路
时钟振荡电路由晶振(6MHZ)和电容组成,接单片机的XTAL1和XTAL2引脚。
时钟振荡电路用来为单片机产生时钟脉冲,为内部时钟方式。
时钟振荡电路图如图所示。
3.8复位电路
复位电路由电解电容、电阻和按钮组成。
复位分为上电复位和手动复位,上电复位在单片机一上电时对单片及进行复位,手动复位通过外部按钮来对单片机进行复位。
两种复位方式的结果一样。
复位电路的电路图如图所示。
3.9总电路图
由上述的数码管分显示电路、蜂鸣器发声电路、按钮电路、发光二极管显示电路、时钟振荡电路和单片机组成总电路图。
总电路图配合软件程序可实现音乐播放器的功能,总电路图和PCB版图如附一、附二所示。
4、软件部分设计方案
4.1音乐发生器设计流程及思路
4.1.1音乐基础
在进行设计前,首先要对音乐知识有基本的理解,其次要明白单片机产生音乐脉冲的原理,最后完成硬件原理图和相关程序的设计。
音作为一种物理现象,是由于物体振动而产生的,振动产生的声波作用于人耳,听觉系统将神经冲动传达给大脑,进而产生听觉。
人耳能听到的声音频率大约在11~20000Hz,而音乐中使用的音一般在27~4100Hz。
乐音体系中各音级的名称叫做音名,被广泛采用的是CDEFGAB(doremifasolasi则多用于歌唱,称为唱名)。
乐音体系中音高关系的最小尽量单位叫做半音,两个半音构成一个全音。
乐音中有几十个高低不同的音,但是最基本的只有这七个音,其他高、低音的音名都是在这个基础上变化出来的。
在乐谱表上用来表示正在进行的音的长短的符号,叫做音符。
不同的音符代表不同的长度。
音符有一下几种:
全音符、二分音符、四分音符、八分音符、十六分音符、三十二分音符、六十四分音符。
此外,还有一种附点音符,它就是指带附点的音符,所谓附点就是记载音符右边的小圆点,表示增加前面音符时值的一半。
音持续的长短即时值,一般用拍数表示,休止符表示暂停发音。
音符与节拍数之间的对应关系如表2.1所示。
表2.1音符与节拍数之间的对应关系表
音符
节拍数
音符
节拍数
x--(全音符)
4拍
x·(附点八分音符)
3/4拍
x-(二分音符)
2拍
x·(附点十六分音符)
3/8拍
X(四分音符)
1拍
000(三分休止符)
休止3拍
X(八分音符)
1/2拍
00(二分休止符)
休止2拍
X(十六分音符)
1/4拍
0(四分休止符)
休止1拍
x·(附点四分音符)
1.5拍
0(八分休止符)
休止1/2拍
一首音乐及时由许多不同的音符组成的,而每一个音符对应着不同的频率,这样就可以利用不同的频率的组合,加以拍数对应的延时来构成不同的音乐。
4.1.2音频脉冲的产生
音乐的产生需要不同频率的音频脉冲,对于单片机而言,可以利用它的定时/计数器产生这样的方波频率信号。
具体地说,只要知道某一音频的频率,求得它的周期,然后将次周期除以2,得到半周期的时间,利用定时/计数器计时这半个周期,计时到后就将输出脉冲的I/O反相。
就可以在I/O端口上得到此脉冲。
单片机工作在12MHz时钟频率下,其时钟周期为1us,因此可以利用STC90C52AD的内部定时/计数器T0,使其工作模式为1,工作在计数器状态下,改变计数初值TH0和TL0以产生不同频率的脉冲信号。
T的值决定了计数初值TH0和TL0的值,TH0=T/256,TL0=T%256。
(1.1)
计数值公式如下:
式中,
:
单片机内部时钟周期为1us,所以其频率为1MHz。
:
产生音符所需的频率。
通过上式计算,可以求得各个音符频率的计数值T。
C调各音符频率与计数值T的对照如表2.2所示。
表2.2C调各音符频率与计数值T的对照值
音符
频率/Hz
简谱码(T)
音符
频率/Hz
简谱码(T)
低1DO
262
63628
#4FA#
740
64860
#1DO#
277
63731
中5SO
748
64898
低2RE
294
63835
#5SO#
831
64934
#2RE#
311
63928
中6LA
880
64968
低3M
330
64021
#6LA#
932
64994
低4FA
349
64103
中7SI
988
65030
#4FA#
370
64185
高1DO
1046
65058
低5SO
392
64260
#DO#
1109
65085
#5SO#
415
64331
高2RE
1175
65110
低6LA
440
64400
#2RE#
1245
65134
#6LA#
466
64463
高3M
1318
65157
低7SI
494
64524
高4FA
1397
65178
中1DO
523
64580
#4FA#
1480
65198
#1DO#
554
64633
高5SO
1568
65217
中2RE
578
64684
#5SO#
1661
65235
#2RE#
622
64732
高6LA
1760
65252
中3M
659
64777
#6LA#
1865
65268
中4FA
698
64820
高7SI
1967
65283
4.1.3音乐节拍的产生
节拍是指音乐持续的长短,是除音符之外音乐的另一关键组成部分,在单片机系统中可以通过延时来实现。
如果1/4拍的延时设为0.2s,则1拍的时间为0.8s。
以此类推,可以求出其余节拍的值,节拍的延时时间值与音乐的曲调值有相对应的关系,表2.3所示为不同曲调下的1/4和1/8节拍的时间设定。
如果单片机要实现自己播放音乐,那么必须在程序设计中考虑到节拍的设置,在89C51中,可以用一个直接存储一个音符,其中低4位是节拍码。
节拍数和节拍码的对照表如表2.4所示。
表2.3各调节拍的时间设定
曲调值(1/8节拍)
DELAY
曲调值(1/4节拍)
DELAY
调4/4
62ms
调4/4
125ms
调3/4
94ms
调3/4
185ms
调2/4
125ms
调2/4
250ms
表2.4节拍数与节拍码的对照
节拍码
节拍数
节拍码
节拍数
1
1/4拍
1
1/8拍
2
2/4拍
2
1/4拍
3
3/4拍
3
3/8拍
4
1拍
4
1/2拍
5
1.25拍
5
5/8拍
6
1.5拍
6
3/4拍
8
2拍
8
1拍
A
2.25拍
A
1.25拍
C
3拍
C
1.5拍
F
3.75拍
4.1.4音频功放
音乐的播放最后是通过扬声器完成的,但是直接用单片机产生的音频脉冲不足以直接驱动扬声器来完成音乐的播放,因此这就要求在单片机端口与扬声器之间链接功率放大电路,以实现最终的目的。
评定功率放大电路有3个重要的指标,即输出功率、效率、非线性失真。
输出功率P0:
功率放大器应在输出不失真的情况下给出最大的交流输出功率P0以推动负载工作,维持,功放元件一般工作在大信号状态,这就使功放元件的安全工作成为功率放大器的重要问题。
效率η:
功率放大器的效率定义为功率放大器的输出信号功率P0和直流电源供给功率放大器功率PE之比,用η表示。
功率放大器要求高效率地工作,一方面是为了提高输出功率,另一方面是为了降低管耗。
直流电源供给的功率除了一部分变成有用的信号功率以外,剩余部分编程晶体管的管耗。
管耗过大将使功率管发热损坏。
所以,最与功率放大器,提高效率也是一个重要问题。
非线性失真:
功率放大器为了获得足够大的输出功率,需要大信号激励,从而使信号动态范围往往超出晶体管的线性区域,导致输出信号失真。
因此减小非线性失真,成为功率放大器的又一个重要问题。
总的来说,要求功率放大器在保证系统安全运用的情况下,获得尽可能大的输出功率、尽可能高的效率和尽可能小的非线性失真。
4.2主程序设计
#include
#include"SoundPlay.h"
sbitK1=P3^0;//下一曲
sbitK2=P3^1;//播放
sbitK3=P3^2;//暂停
sbitD1=P2^0;
sbitD2=P2^1;
sbitD3=P2^2;
//unsignedcharii=1;
unsignedcharn,flag1=0,flag4=0,aa=0;
unsignedchartable[]={0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x06};
voiddelay1s(unsignedintz)
{
unsignedintx,y;
for(x=z;x>0;x--)
for(y=110;y>0;y--);
}
//挥着翅膀的女孩
unsignedcharcodeMusic_Girl[]={0x17,0x02,0x17,0x03,0x18,0x03,0x19,0x02,0x15,0x03,0x16,0x03,0x17,0x03,0x17,0x03,0x17,0x03,0x18,0x03,0x19,0x02,0x16,0x03,0x17,0x03,0x18,0x02,0x18,0x03,0x17,0x03,0x15,0x02,0x18,0x03,0x17,0x03,0x18,0x02,0x10,0x03,0x15,0x03,0x16,0x02,0x15,0x03,0x16,0x03,0x17,0x02,0x17,0x03,0x18,0x03,0x19,0x02,0x1A,0x03,0x1B,0x03,0x1F,0x03,0x1F,0x03,0x17,0x03,0x18,0x03,0x19,0x02,0x16,0x03,0x17,0x03,0x18,0x03,0x17,0x03,0x18,0x03,0x1F,0x03,0x1F,0x02,0x16,0x03,0x17,0x03,0x18,0x03,0x17,0x03,0x18,0x03,0x20,0x03,0x20,0x02,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x20,0x03,0x21,0x03,0x20,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x1F,0x03,0x1B,0x03,0x19,0x03,0x19,0x03,0x15,0x03,0x1A,0x66,0x1A,0x03,0x19,0x03,0x15,0x03,0x15,0x03,0x17,0x03,0x16,0x66,0x17,0x04,0x18,0x04,0x18,0x03,0x19,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x20,0x03,0x21,0x03,0x20,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x1F,0x03,0x1B,0x03,0x19,0x03,0x19,0x03,0x15,0x03,0x1A,0x66,0x1A,0x03,0x19,0x03,0x19,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x00,0x1A,0x03,0x1A,0x03,0x1A,0x03,0x1B,0x03,0x1B,0x03,0x1A,0x03,0x19,0x03,0x19,0x02,0x17,0x03,0x15,0x17,0x15,0x03,0x16,0x03,0x17,0x03,0x18,0x03,0x17,0x04,0x18,0x0E,0x18,0x03,0x17,0x04,0x18,0x0E,0x18,0x66,0x17,0x03,0x18,0x03,0x17,0x03,0x18,0x03,0x20,0x03,0x20,0x02,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x20,0x03,0x21,0x03,0x20,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x1F,0x04,0x1B,0x0E,0x1B,0x03,0x19,0x03,0x19,0x03,0x15,0x03,0x1A,0x66,0x1A,0x03,0x19,0x03,0x15,0x03,0x15,0x03,0x17,0x03,0x16,0x66,0x17,0x04,
0x18,0x04,0x18,0x03,0x19,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x20,0x03,0x21,0x03,0x20,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x66,0x1F,0x03,0x1B,0x03,0x19,0x03,0x19,0x03,0x15,0x03,0x1A,0x66,0x1A,0x03,0x19,0x03,0x19,0x03,0x1F,0x03,0x1B,0x03,0x1F,0x00,0x18,0x02,0x18,0x03,0x1A,0x03,0x19,0x0D,0x15,0x03,0x15,0x02,0x18,0x66,0x16,0x02,0x17,0x02,0x15,0x00,0x00,0x00};
//同一首歌
unsignedcharcodeMusic_Same[]={0x0F,0x01,0x15,0x02,0x16,0x02,0x17,0x66,0x18,0x03,0x17,0x02,0x15,0x02,0x16,0x01,0x15,0x02,0x10,0x02,0x15,0x00,0x0F,0x01,0x15,0x02,0x16,0x02,0x17,0x02,0x17,0x03,0x18,0x03,0x19,0x02,0x15,0x02,0x18,0x66,0x17,0x03,0x19,0x02,0x16,0x03,0x17,0x03,0x1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 音乐 播放 设计 报告