音乐播放系统设计大学论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
音乐播放系统的设计
摘要:在如今这个快速发展时代里,生活节奏的加快让人们长期处于一种工作、学习的压力状态,人们更需要一种简单方式调节生活和排解压力,对于调节心理压力而言音乐对于每一个人都十分重要,由此音乐播放器在国内已经开始普及。本文介绍了一种以STC89C52RC型单片机为基础元件设计的智能音乐播放器。该设计利用单片机编成技术对芯片进行功能设定,实现音乐的播放。同时,利用单片机的定时器中断,在单片机内部产生所需要的音乐频率,并通过LM386音频功率放大器将音频信号放大,再通过扬声器连续播放一段音乐.而且还可以通过调节蓝白电位器控制音乐的音量。本设计还增加了LCD1602液晶屏显示每一首歌曲和歌曲顺序。该系统设计结构简单,音乐声清晰响亮,节拍正常。
关键词:单片机,音乐播放器,LCD1602液晶屏,音频功率放大器。
1 引言:
在当今快节奏的生活下,人们都有着各种各样的工作和学习压力,每天都在忙碌于各种各样的事物当中。在身体和心理上都处于一种疲惫状态。在这种状态下,为了调节这种疲惫,一种简单而又享受的方式就尤为重要了。音乐自古以来都是一种陶冶情操、排解压力的好方式。在身心疲惫的时候听上一曲美妙的音乐,可以让人们的身体放松,大脑得到休息,工作,学习的效率大大增加。而且音乐播放器系统结构设计简单,元器件价格低廉非常容易获得,可以批量生产。因此在国内,音乐播放器已经推广到各个领域,并应用于生活中的各个方面。本文介绍一种以STC89C52RC型单片机为基础元件设计的音乐播放系统。以单片机为基础,具有操作简单,环节较少,实现功能多样等优点。利用单片机编成技术产生一定频率方波信号,经音频电路放大并变换成正弦信号驱动扬声器,实现音乐的播放。而且通过多次测试,音乐声音清晰响亮,节拍正常,无任何杂音。学校的铃声,宿舍里早晨的闹钟,都将会由美妙的音乐代替。公共场所中的计时报警装置也逐渐开始采用音乐来充当铃声。该音乐播放系统不仅方便人们日常生活,而且为目前快节奏的生活增添了乐趣。
2 音乐播放器发音原理
单片机不能演奏出多种音色的声音,更没有相应幅度的谐振频率。单片机音乐播放器所能演奏的都是单音节频率。所以单片机演奏出音乐声音是比较简单的音乐调调。所以只要弄明白“音调”和“节拍”两个基本概念就可以了。不同频率的方波信号在单片机内部的定时器产生后,经音频放大电路驱动扬声器发出不同音调的音乐,发音时间的长短可用延迟来控制。把音乐的乐谱翻译成相应的定时常数后,再经发音设备中演奏出美妙的音乐。音调代表一个音符的频率高度,节拍代表一个音符的时间长短。音阶表示音调的高低,不同的音阶对应不同的频率。因此,不同频率的方波信号就可以产生音阶,音阶与频率的关系见表1所示。由于周期是频率的倒数,因此方波的周期可由单片机内部的定时器控制。当定时
器计数溢出时产生中断。获取与扬声器连接的单片机P1.0口输出的方波信号的周期,取反后得到所需音乐频率,即得到控制音阶的目的。
表1音阶与频率的关系及方式1下定时器的初值
音阶频率(Hz)定时器初值音阶频率(Hz)定时器初值音阶频率(Hz)定时器初值
1 2 3 4 5 6 7 0 131
147
165
175
196
220
247
0F85EH
0F933H
0F9F0H
0FA49H
0FAE6H
0FB74H,
0FBF4H
0100H
1
2
3
4
5
6
7
262
294
330
349
392
440
494
0FC2FH
0FC99H
0FCF8H
0FD22H
0FD73H
0FDBAH
0FDFAH
0100H
1
2
3
4
5
6
7
523
587
659
698
784
880
988
0FE17H
0FE4CH
0FE7CH
0FE91H
0FEB9H
0FEDDH
0FEFDH
0100H
注:0表示简谱中的空拍
获取一个音符的频率后,相应频率的方波信号便可以由单片机产生,从而产生相应的音符声音。再有单片机的定时器进行定时中断,在中断服务程序中,将单片机上完结单片机I/O口来回置高电平或者是低电平的,从而让扬声器发出声音。通过节拍计算出每个音符所需要的时间,采用循环延时的方法来实现控制一个音符唱多长的时间,从而构成一首完整的音乐。当晶体振荡频率为12MHz,定时器工作在方式1下时,若各音阶相对应的定时器计数初值为X,则可根据下式计算X:
1/(f×2) =(216 -X) ×12/(12×106) (1) 音调的长短用节拍数表示(例如1/4拍、2/4拍、……),不同节拍数的不同音符的组合形成乐谱。程序中,音的节拍可由延时子程序实现。以标准高音A的频率F=440HZ,其对应的周期为:
T=1/F=1/440=2272us (2) 因此需要在单片机I/O端口输出周期为T=2272us的方波脉冲,也就是
t=T/2=2272/2=1136us (3) 也就是说,单片机上定时器的中断出发时间为1136us。如果单片机采用定时器为工作方式1,它以振荡器的十二分频信号为计数脉冲。设外接晶振的振荡器频率为f,则定时器的预置初始值为:
Temp=65536-(50000/CurrentFre)*10/(12000000/SYSTEM_OSC) (4)
TH=Temp/256 (5)