王彦军基于单片机的音乐播放器设计修改6Word文档格式.docx
《王彦军基于单片机的音乐播放器设计修改6Word文档格式.docx》由会员分享,可在线阅读,更多相关《王彦军基于单片机的音乐播放器设计修改6Word文档格式.docx(32页珍藏版)》请在冰豆网上搜索。
在面临如此严峻的存储问题,许多涉及存储容量的音乐播放器也纷纷现世。
多功能音乐播放器的设计就是利用单片机知识、按键控制、存储原理、显示原理等,进行的多功能设计,在播放音乐时,显示器可以显示播放歌曲的内容、时间等参数。
方便人们的选择,欣赏等快捷操作。
1.1课题背景及意义
随着我国社会经济的不断发展,现在社会歌曲越来越来多,多媒体计算机进入千家万户,计算机进行综合音乐制作能力更强,人们对音乐播放器工具的要求也越来越高,对音乐播放器功能的要求也越来越高。
导致了现在社会上各种各样的音乐播放器工具。
但是,低功耗,体积小,便利,存储容量大等优点的播放器成为人们选择的重要参考标准,尤其是在目前,基于单片机的音乐播放器应用已渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机控制的音乐产生,用它产生提示,报警,音乐节奏等,方便人们的操作。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
基于单片机的音乐播放器的设计,可以达到对系统低功耗的要求。
同时单片机的体积小,可以达到对系统便携的的要求。
另外,单片机外围接有键盘,显示器和外部存储器等,这样能有利于系统整体的便携操作,而且存储量增大。
基于单片机的音乐播放器是一种播放音乐的系统,能减少功耗,带来更便携的操作功能,使人们更方便使用。
而基于单片机实现的音乐播放器,将行列式按键,液晶显示器,外部存储器和单片机联系在一起,利用单片机的实时控制和数据处理功能,对乐曲的播放达到很好的效果并通过显示器来显示播放信息,这样人们就能通过显示的信息来很好的操作播放器。
基于单片机的音乐播放器这种辅助装置能大大提高人们的生活质量,减少人们在休闲或工作之余时的无聊时光。
对于音乐播放器产品及其它有关消费电器产品都是一些开环或闭环控制系统,都由核心控制部分,执行部分与人机界面三部分组成。
而最为重要的控制部分一般是由单片机来执行完成的,这就必将导致和促进单片机在音乐领域应用的发展。
现在这些由单片机实现的音乐播放器的功能越来越强、费用越来越低。
例如,就市场上的mp3目前的功能越来越强大体积却越来越小,价格也逐渐便宜,被大多数人所能接受。
但这些音乐播放器也或多或少的存在着一些问题,所以要解决这些问题,非智能化的单片机莫属。
所以基于单片机的音乐播放器不仅仅设计简单快捷操作方便,而且通用性好,功耗低,元器件易于购买,因此基于单片机的音乐播放器能修复市场上的mp3的一些不完善的问题,能大大减少音乐播放的失误,从而能够避免播放时故障的发生,故此系统对于提高音乐播放器的性能将起到重要的作用同时具有极大的市场和现实意义。
1.2国内外研究现状
基于单片机的音乐播放器包含有晶振电路、扬声器电路、显示电路、按键电路、复位电路、存储器外部扩展电路等,装置将各部件有机地结合起来,实现音乐播放及显示功能。
音乐播放器的开始是以扬声器播放为标志的,能播放出乐曲,但是歌曲的音质,播放歌曲的信息及存储功能不是很完善,存储量小。
现在国内,随着计算机的兼容性越来越好,多媒体计算机进入千家万户,计算机进行综合音乐制作能力更强,音乐作品可以把它储存成一定的格式,通过软盘或网络进行传播,听众直接在计算机上听音乐。
它容声音、图形、文字于一体,极富有刺激性,比现场演出还精彩,更明白。
除了网络中的应接不暇的应用,技术也逐步普及到了大众手机铃音领域。
可以自行剪切编辑、录制喜欢的音乐或声音作为个性手机铃音。
随着科学技术水平的迅速发展,音乐播放器的发展飞跃前进,就目前市面上的产品来讲,直到2001年10月,美国苹果公司推出了第一代IPOD4,将MP3播放器演绎到艺术与文化的境界。
它不仅容量巨大,操作智能,而且外形时尚,一经推出,即刻获到全球范围内的热捧。
但如今,音乐播放器的市场受到其他数码产品的挤压和竞争,已逐渐步入了瓶颈阶段,如何使音乐播放器重新受到消费者的欢迎,是目前设计的一个首要任务。
所以说,从“电子音乐”的过去、现在、未来发展的进程中可以看出,它给音乐制作能普及至社会个人便携操作的影响,是不可磨灭的功绩。
它的统治地位趋势已成不可逆转的状态。
电子音乐已经深入地影响到了现代人的音乐审美观念,并有继续发展的强烈趋势。
在这个趋势中,电脑音乐也许不会成为今后音乐的主流,但它在整个人类音乐史上的地位已经不容置疑地确立了,相信它会越来越深入地浸透到音乐创作和欣赏的领域中,并且将在一定程度上影响人们对音乐的理解和诠释。
用单片机制作的音乐发生器也会越来越多,这将必然成为一种趋势。
1.3本文研究内容
本文是采用单片机和按键、显示器、存储器等元器件,运用单片机音阶乐曲产生的技术原理,利用不同的音阶对应不同的频率,音调的高低用音阶表示,通过产生不同频率的方波就可以产生音阶、音调。
然后通过音乐代码库的建立,简谱码(音符)为高4位,节拍为(节拍数)为低4位。
设计并制作了基于单片机的音乐播放器。
本文首先从本课题产生的环境背景、必要性以及电子音乐播放器在国内外的发展水平开始阐述。
然后,介绍了按键控制、显示、存储以及乐曲产生的原理,一步步由浅入深,进而对系统的设计思路进行分析,并设计了硬件电路系统和软件系统,最后成功制作了运行稳定的基于单片机的音乐播放器。
2音乐播放器
音乐播放器是一种用于播放各种音乐文件的多媒体播放软件。
它涵盖了各种音乐格式的播放工具,比如:
MP3播放器,WMA播放器,MP4播放器等。
它们不仅界面美观,而且操作简单,带你进入一个完美的音乐空间。
音乐是由音符组成的,而不同的音符对应的是不同的震动频率。
而不同的频率可以利用单片机的定时器产生,再驱动通过蜂鸣器或者是喇叭,就可以播放乐曲了。
2.1播放器的原理
利用AT89C51、74LS373锁存器和27C512外部扩展组成的音乐播放器,利用不同的音阶对应不同的频率,音调的高低用音阶表示,通过产生不同频率的方波就可以产生音阶、音调。
熟练的运用AT89C51单片机定时器产生固定频率的方波信号,推动喇叭发出旋律,按下单键可以演奏预先设置的歌曲旋律,最重要的是自己还可以通过程序设计输入自己喜欢的歌曲来演奏中,本设计采用简易音阶编码直觉式输入法方便设计音乐旋律,可以扩充其功能如下:
(1)可以显示歌曲的名称。
(2)可以设置睡眠关机时间。
(3)可以设置歌曲的播放模式,单曲循环还是顺序播放。
(4)可以存储多首歌。
2.2播放器乐曲存储原理
74LS373是八位的D锁存器(三态),一个封装中有八个锁存器,三态总线驱动输出,置数全并行存取,缓冲控制输入,时钟/使能输入有改善抗干扰度的滞后作用。
工作原理:
当三态允许控制端OE为低电平时,O0~O7为正常逻辑状态,可用来驱动负载或总线。
当OE为高电平时,O0~O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。
当锁存允许端LE为高电平时,O随数据D而变。
当LE为低电平时,O被锁存在已建立的数据电平。
当LE端施密特触发器的输入滞后作用,使交流和直流噪声抗扰度被改善400mV。
如表2-1所示。
表2-174LS373真值表
Dn
LE
OE
Qn
H
L
X
Q0
高阻态
由表2-1可以看出,引出端从D0~D7为数据输入端,OE为三态允许控制端(低电平有效),LE为锁存允许端,Q0~Q7为输出端。
27C512是64KbEPROM,可擦写只读存储器。
采用紫外线擦写,比较原始。
生产厂家很多,SGS,飞利浦,德州仪器,都生产过。
主要用于早期单片机、单片机程序的存储。
由于可擦写,方便调试。
2.3播放器乐曲产生原理
2.3.1单片机音阶实现
音调的高低用音阶表示,不同的音阶对应不同的频率。
因此,不同频率的方波就可以产生音阶。
由于频率的倒数是周期,因此可由单片机中的定时控制方波周期,当定时器计数溢出时产生中断。
将与扬声器连接的P1.7取反后就可得到方波的周期,从而达到了控制频率,即音阶的目的。
音阶与频率的关系。
如表2-2所示。
表2-2音阶与频率的关系
音阶
频率(Hz)
定时器初值
1
2
3
4
5
6
7
131
147
165
175
196
220
247
0F85EH
0F933H
0F9F0H
0FA49H
0FAE6H
0FB74H,
0FBF4H
0100H
262
294
330
349
392
440
494
0FC2FH
0FC99H
0FCF8H
0FD22H
0FD73H
0FDBAH
0FDFAH
523
587
659
698
784
880
988
0FE17H
0FE4CH
0FE7CH
0FE91H
0FEB9H
0FEDDH
0FEFDH
低八度音
中音
高八度音
注:
0表示简谱中的空拍
由表2-2可知,方式1下定时器的初值计算方法为如下所述。
当晶体振荡频率为6.144MHz,定时器工作在方式1下时,若各音阶相对应的定时器计数初值为X,则可根据公式
(1)计算X。
公式如下:
(1)
其中,f为频率,X为计数初值。
音调的长短用节拍数表示(例如1/4拍、2/4拍、……),不同节拍数的不同音符的组合形成乐谱。
程序中,音的节拍可由延时子程序实现。
延时子程序设定为四分之一拍,节拍值只能是它的整数倍。
2.3.2频率脉冲信号的产生
(1)要产生音频脉冲,只要算出某一音频的脉冲(1/频率),然后将此周期除以2,得到的即为半周期的时间,利用定时器计时这个半周期的时间,每当计时到后就将输出脉冲的I/O反相,然后重复计时此半周期的时间再对I/O反相,就可以在I/O脚上得到此频率的脉冲。
(2)利用AT89C51的内部定时器使其工作在计数器模式MODE1下,改变计数值TH1及TL1以产生不同频率的方法如下:
例如,频率为523Hz,其周期天/523S=1912uS,因此只要令计数器计时956uS/1us=956,在每计数956次时就将I/O反接,就可得到中音DO(532Hz)。
计数脉冲值与频率的关系公式
(2)如下:
N=Fi/2/Fr
(2)
其中N为计数值,Fi为内部计时一次为1uS,故其频率为1MHz,Fr为要产生的频率。
(3)其计数值的求法如公式(3):
T=65536-N=65536-Fi/2/Fr(3)
计算举例如下:
设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/1047=65059。
(4)C调音符频率与计数值T的对照表,如表2-3所示。
表2-3C调音符频率与计数值T的对照表
音符
简谱码(T值)
低1DO
63628
#4FA#
740
64860
#1DO#
277
63731
中5SO
64898
低2RE
63835
#5SO#
831
64923
#2RE#
311
63928
中6LA
64968
低3M
64103
#6
932
64994
低4FA
64204
中7SI
65030
370
64260
高1DO
1046
65058
低5SO
64261
1109
65085
415
64400
高2RE
1175
65110
低6LA
64443
1245
65124
466
64524
高3M
1318
65157
低7SI
高4FA
1397
65178
中1DO
64331
1480
65189
由表2-3可知,不同音符对应于不同的频率值,产生相应的简谱码。
用于编写相应的音乐程序代码。
(5)每个音符使用1个字节,字节的高4位代表音符的高低,低4位代表音符的节拍,下表为节拍码的对照。
但如果1拍为0.4秒,1/4拍是0.1秒,只要设定延迟时间就可求得节拍的时间。
假设1/4节拍为1DELAY,则1拍应为4DELAY,以此类推。
所以只要求得1/4拍的DELAY时间,其余的节拍就是它的倍数,下表为1/4和1/8节拍的时间设定,如表2-4所示。
表2-41/4和1/8节拍的时间设定
1/4节拍
1/8节拍
节拍码
节拍数
1/4拍
1/8拍
2/4拍
3/4拍
3/8拍
1拍
1/2拍
1又1/4拍
5/8拍
1又1/2拍
1又3/4拍
7/8拍
8
2拍
9
2又1/4拍
1又1/8拍
A
2又1/2拍
B
2又3/4拍
1又3/8拍
C
3拍
D
3又1/4拍
1又5/8拍
E
3又1/2拍
F
3又3/4拍
1又7/8拍
由表2-4可以看出,不同的节拍数分别用相应的节拍码表示出来,用于编写相应的音乐程序代码。
下表为各调节拍的时间设定表,如表2-5所示。
表2-5各调节拍的时间设定表
曲调值
DELAY
调4/4
125毫秒
62毫秒
调3/4
187毫秒
94毫秒
调2/4
250毫秒
由表2-5可以看出,不同的曲调值对应的延时时间不同,这样可以对应于程序,修改相应的延时参数。
2.4播放器显示器原理
LM016L与LCD1602原理功能是一样的,只不过PROTEUS元件库中没LCD1602,就用LM016L代替。
其中显示器显示容量为16×
2个字符,芯片工作电压为4.5—5.5V,工作电流为2.0mA(5.0V),模块最佳工作电压为5.0V,字符尺寸为2.95×
4.35(W×
H)mm。
(1)引脚功能说明:
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2-6所示。
表2-6引脚接口说明
引脚名称
引脚说明
VSS
电源地
D2
数据
VDD
电源正极
D3
VL
液晶显示偏压
D4
RS
数据/命令选择
D5
R/W
读/写选择
D6
使能信号
D7
D0
LED+
背光源正极
D1
LED-
背光源负极
由表2-6可以看出,分别介绍了该芯片的各引脚接口功能说明。
第1脚:
VSS为地电源。
第2脚:
VDD接5V正电源。
第3脚:
VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。
第4脚:
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
第5脚:
R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。
第6脚:
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
第7~14脚:
D0~D7为8位双向数据线。
第15脚:
背光源正极。
第16脚:
背光源负极。
(2)LM016L的指令说明及时序:
LM016L液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的,其中1为高电平、0为低电平。
指令1:
清显示,指令码01H,光标复位到地址00H位置。
指令2:
光标复位,光标返回到地址00H。
指令3:
光标和显示模式设置。
I/D表示为光标移动方向,高电平右移,低电平左移。
S表示为屏幕上所有文字是否左移或者右移。
高电平表示有效,低电平则无效。
指令4:
显示开关控制。
D表示为控制整体显示的开与关,高电平表示开显示,低电平表示关显示。
C表示为控制光标的开与关,高电平表示有光标,低电平表示无光标。
B表示为控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:
光标或显示移位。
S/C表示为高电平时移动显示的文字,低电平时移动光标。
指令6:
功能设置命令。
DL表示为高电平时为4位总线,低电平时为8位总线。
N表示为低电平时为单行显示,高电平时双行显示。
F表示为低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。
指令7:
字符发生器RAM地址设置。
指令8:
DDRAM地址设置。
指令9:
读忙信号和光标地址。
BF表示为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:
写数据。
指令11:
读数据。
3系统设计分析
系统的设计分析主要是对系统进行的整体测评及方案的选择,对系统整体进行评估,选择出较好的方案,对系统进行设计。
其中包括主控芯片单片机的选择,显示器的选择,存储器的选择等。
从功耗低,体积小,便利,功能多等方面进行选择,选择出合适的系统设计方案。
3.1单片机选择
MCS—51系列是Intel公司在1980年推出的高档8位单片机,具有性能价格比高、品种多、兼容性强、开发用的仿真机较完善等优点,所以在国际上和国内的占有率相当高。
它拥有8位微处理器和控制器,内含一个一位布尔运算处理器,可直接对数据的位进行操作和运算,特别适用于逻辑控制。
内部含有4KB的程序ROM并且在外部扩展了256K的存储空间,2个16位的计数/定时器。
本次采用的是AT89C51单片机,它的中断功能比较强,有5个中断源,即外部中断2个,定时器中断2个,串行中断1个,有2个中断优先级。
中断控制电路主要包括用于中断控制的四个寄存器:
定时器控制寄存器TCON,串行口控制寄存器SCON,中断允许控制寄存器IE,中断优先级控制寄存器IP等。
内部时钟振荡器,全双工方式的串行接口(UART),两极中断优先权的6个中断源/5个中断矢量的中断逻辑。
哈佛结构的存储器组织,支持高达64K为单周期指令,支持六种寻址方式。
最高时钟振荡频率可达12MHZ,大部分指令执行时间为1µ
s,乘、除指令为4µ
s。
MCS-51系列单片机采用40引脚双列直插式封装(DIP),可分别作地址线、数据线和I/O线,2根电源线,2根时钟振荡电路引脚和4根控制线。
AT89C51单片机是高性能单片机,因为受引脚数目的限制,所以有许多引脚具有第二功能。
其中输入/输出口线多功能I/O端口有以下介绍。
P0口——第32~39脚,8位漏极开路双向I/O端口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口