音乐演奏器终稿.docx
《音乐演奏器终稿.docx》由会员分享,可在线阅读,更多相关《音乐演奏器终稿.docx(37页珍藏版)》请在冰豆网上搜索。
音乐演奏器终稿
编号:
本科毕业设计(论文)
题目:
(中文)智能音乐演奏器设计
(英文)DesignofIntelligentMusicPlayer
学院信息学院
专业电气工程与自动化
班级12电气升本
学号123040049
姓 名柴磊
指导教师张卫强职称 副教授
完成日期2014.04.10
诚信承诺
我谨在此承诺:
本人所撰写的毕业论文《智能音乐演奏器设计》均系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释,若有不实,后果由本人承担。
承诺人(签名):
柴磊
2014年04月10日
摘要
【摘要】随着人们现代化水平的提高,科技产业发挥着举足轻重的作用。
其中新兴技术由于其实用性广、成本低廉被广泛发展及运用。
单片机技术是新兴技术的核心要素,正被人们广泛关注,因此它的发展前景很宽广。
由于单片机有很强的实用性及开发周期短等优点,单片机的设计也越来越广泛。
所设计的智能音乐演奏器,选用的是stc89c52单片机为主要控制系统,通过编程手段使音乐的播放功能得到实现。
该播放器可以读取外置存储设备,对存储设备内的音频文件进行读取及解码,再通过外置音频播放。
按键控制功能也是本设计的一大功能,设置相应按键来控制选歌、播放和停止。
【关键词】stc89c52;音乐演奏器;液晶显示
DesignofIntelligentMusicPlayer
Abstract
【Abstract】Technologyindustryplaysavitalroleinourlife,withtheimprovementofpeople’slevelofmodernization.Theemergingtechnologieshavebeenextensivelydevelopedbecauseofitswideavailabilityandlowcost.SCMtechnology,asasymbolofemergingtechnologies,developsalsorapidly.Asthemicrocontrollerhastheadvantageofastrongpracticabilityandshortdevelopingcycle,thedesignofmicrocontrollerhasbecomeincreasinglywidespread.Thenameofthedesignisasmartmusicplayer,whichchoosestc89c52MCUasthemaster.Themusicplayerachievescontrolmusicplaybackfunctionsbymeansofprogramming.Theplayercanreadexternalstoragedevices,storeanddecodethefilesautomatically,andthenplayedbytheexternaldevice.Thefunctionofkeyscontrollingisabigprograminthisproject.Theplayerissetappropriatekeystocontrolsongselection,playandstop.
【Keywords】stc89c52;MusicPlayer;LCDdisplay
目录
1绪论1
1.1研究背景和现状1
2.2研究的目的和意义1
2智能音乐演奏器的方案对比论证3
2.1智能音乐演奏器的实现功能3
2.2智能音乐演奏器的实现功能图3
2.3系统各个子系统的方案对比3
2.3.1系统主控方案论证3
2.3.2电源供电方案论证4
2.3.3显示方案论证5
2.3.4按键输入方案论证6
2.3.5语音模块论证7
3智能音乐演奏器的硬件设计8
3.1单片机系统设计8
3.1.1单片机概述8
3.1.2单片机管脚及功能说明8
3.1.3单片机最小系统设计9
3.2LCD显示电路设计10
3.2.1LCD1602操作时序及引脚定义10
3.2.2LCD1602的硬件设计11
3.3语音转换模块设计12
3.3.1语音模块概述12
3.3.3语音模块芯片引脚定义及功能描述13
3.3.4语音模块触发时序13
4智能音乐演奏器的软件设计15
4.1开发软件简介15
4.2应用程序设计15
4.2.1主程序的设计15
4.2.2LCD显示程序设计16
4.2.3按键检测程序设计19
4.2.4NV020模块的程序设计20
5总结24
参考文献27
致谢28
附录29
1绪论
1.1研究背景和现状
自动控制愈来愈重要,它为我国新兴产业带来巨大效益。
其中要求控制实现智能化、小型化、便携式得到人们广泛的关注。
在航空航天、军事民用、医疗设备等控制领域中,集成度和控制功能强大的单片机已发挥不可替代的作用,这使得各种单片机项目的开发与应用成为系统设计新的热点话题
。
单片机具有很多优点,如集成度高,开发简单,价格低和品种多样,这使得单片机进入各种系统的品种方式也多样化了。
新兴技术的提升发展,也同样有助于芯片业的蓬勃发展。
但是,利用单片机进行控制,并且显示的集成芯片是微乎其微的,其一是开发的难道较难,其二是开发的周期赶不上市场淘汰产品的速度。
现阶段社会上也有多种音乐播放器,但是市场上的音乐播放器大都价格昂贵,显示、功能单一,所以开发新型的便携且价格实惠的音乐播放器成为必须
。
音乐演奏器要实现可操作、可播放、可选择等功能,且它的听觉效果要有一定的水平。
即使对音乐演奏器的研究,过去已经多如牛毛,但是它的可操作性不佳,且它把音乐搜索、收藏、管理全部交给网络来完成,这就造成资源利用不便。
所以,还是有必要完善。
也可以增加一些流水灯闪烁效果,使得该播放器一边播放,一边有流水灯闪烁,实现美观和效果功能同步进行。
1.2研究的目的和意义
本设计目的是设计一种全新的,通过单片机控制并显示的智能音乐播放器,本播放器能够实现音乐文件的读取及控制播放等基本功能。
该播放器可以存储多首歌曲,可选择性播放歌曲,通过音频电路驱动喇叭播放。
设置相应按键来控制选歌、播放和暂停,同时在LCD液晶屏上显示正在播放的歌名,伴随音乐播放有流水灯闪烁效果。
该音乐演奏器采用技术与实惠的双赢的STC89C52单片机作为核心控制单元,结合信号控制及处理电路、LM386功率放大器,LCD1602液晶显示电路,以及配套的外围设备共同组成的可控、可显示的音乐播放系统。
本设计实现的按键功能为:
上一首,下一首,暂停、停止。
可以选择不同的按键来实现播放。
伴随着音乐的播放可实现流水灯效果,并且可以在LED显示屏上显示正在播放歌曲的名字。
本设计以STC89c52芯片作为主控制器,选用nv020作为音频解码芯片。
通过对外置TF卡媒体存储介质的读取及操作,利用LCD1602液晶屏显示内容及用流水灯实现动态效果,来完成智能音乐播放器的功能。
智能音乐演奏器设计的意义在于开发新型基于单片机的音乐播放器,实现低成本及高性能,达到更换现在社会有的价格昂贵的音乐播放器。
它的设计,应该追求高效、可操作性强、能显示多首歌等特点。
在新时代的今天,各种音乐演奏器。
参差不齐。
而且功能大同小异,可以说,音乐播放器发展也给社会的发展带来了新生,为人们的生活带来了色彩,为可持续发展的当下社会和资源节约型、环境友好型的社会增添了活力
。
因此,对于智能音乐演奏器设计还是有必要发展这些特点。
智能音乐演奏器研究的是播放器的灵敏便捷。
让人们使用起来有愉悦身心的感觉,它在我们生活中还是很有价值的,何况当今的社会是信息社会,计算机技术的发展带动社会的发展,而单片机技术的完善带动计算机的发展,因此很有必要好好研究。
智能音乐演奏器,是一款以STC89C52为主要控件的设计,很好的把技术和实物融合了。
2智能音乐演奏器的方案对比论证
2.1智能音乐演奏器的实现功能
智能音乐演奏器基于STC89C52主控设计并制作,以外置的TF卡为存储设备,主控通过在不同时间和状态下,对有关芯片发出不同控制命令,来实现解码播放功能。
智能音乐演奏器可以达到按键目的为开始,停止,上一首,下一首。
伴随着音乐的播放可实现流水灯效果,并且可以在LED显示屏上显示正在播放歌曲的名字。
其中,智能音乐演奏器可实现歌曲的转换功能及歌曲信息显示功能。
主要的技术难度在于对TF进行驱动及对解码信息进行控制。
2.2智能音乐演奏器的实现功能图
显示
图1系统功能框图
智能音乐演奏器设计时就有四个可以进行控制的按键,按键的功能分别为:
下一曲,上一曲,暂停和停止。
通过主控,实现存储卡内文件扇区的读写,及数据流方向的控制。
后面再通过音频放大电路和声音输出设备将动听的音乐输出。
在音乐播放的同一时间,LCD液晶屏也能显示出曲目的名字。
主要的控制流程是单片机对语音模块进行驱动及控制,通过语音模块返回的值,进行显示。
按键电路,通过按键可以得到不同的设置控制功能,作用于语音模块(以不同控制字的方式),来达到不同的控制方法。
2.3系统各个子系统方案对比
2.3.1系统主控方案论证
主流控制器有:
PLC、MSP430、ARM、51单片机等。
MSP430有非常丰富的片上资源,即用户可以通过对多种类寄存器的配置,达到不同的控制效果和要求,而且430单片机的输出引脚一般可以选择为DAC及PWM输出模式,用户可以通过控制其中的寄存器来实现自己想要的要求,达到自己想要的期望,可谓灵活方便
。
51单片机控制资源有限,但现阶段的51单片机产品集成度、稳定性也在提高。
MSP430低功耗单片机是个控制能力很强且具有很强可操作性的单片机
,所以它有非常多种控制方法,但是,美中不足的是它很难开发,而且单片芯片较贵(一片在20元-30元左右),所以智能音乐演奏器根据各个方面的权衡,经过慎重考虑,还是选择了51单片机,以它来作为主要的控制器。
51单片机有4个8位的P口控制端口,还有2个中断源,及片内ROM和RAM。
通过相关程序的编写,可以很快的实现智能音乐演奏器的设计。
最终结果,本设计选择了STC89C52这个很实用而且价格低廉的单片机来达到硬件功能要求。
由于STC89C52内部自带了8KB的存储空间,所以它应该基本满足设计所要的需求。
2.3.2电源供电方案论证
由于系统要求便携式及尽量控制成本,所以不能使用取市电处理之后供电。
所以选用5号电池进行串联后组成电池组提供6V直流电压。
供电方法有以下两种:
电池后接稳压二极管供电;电池后接稳压芯片供电。
方案一:
电池组后接5v/1w的稳压二极管组成。
该电路图如图1所示。
这样设计的系统,最多可以提供5V和0.2A的电源输出。
中和本设计电流在150mA左右,这种稳压管供电方式是可以的
。
但是由于智能音乐演奏器要求随身携带,即要求待机功耗尽量低的设计条件下,该类方案不可行。
稳压管方案设计电路,在无工作时(主系统进入待机模式等待命令或按键),稳压二极管内也是有静态电流流过的(If=10MA左右),即该系统始终有功耗10mA*5V=50mW产生。
图2稳压管供电方式
方案二:
由电池组后接稳压芯片LM2596-5V组成。
电路图如图2所示。
LM2596系列美国一家电子厂商生产的,最高输出电流为3A的开关型稳压芯片
。
开关电源的机理是通过电源导通的占空比不同,达到不同的输出电压,所以稳压芯片是自带了一个150KHZ频率振荡器。
固定频率的振荡器可以通过反馈电阻,改变开关的频率,达到不同电压输出的要求,并且该芯片在待机的模式下,静态电流只有70μA,及5V输出时待机功率仅为0.35mW。
运用LM2596组成的系统,系统的待机功率将大大减小。
图3稳压芯片供电方式
综上所述,方案二的系统供电方案是值得我选择的。
2.3.3显示方案论证
随着各种智能化设备的出现,显示的种类也是千奇百样。
但是依照其原理,显示方法有两种:
一种方案是自发光式的LED数码管显示,另外一种方案是背光式的LCD液晶显示。
数码管显示的优点是简单;数码管显示不足之处是比较单一,通常仅仅能够显示8段数据
。
LCD显示的优点是数据多样即可以显示字符,也可以图片,并且相同时间内显示的信息更多。
LCD显示美中不足的是它本身是不带光的,唯一可显示的方法是依靠其背光来显示,但是其产生的是不经济、不合理地效果。
由于智能音乐演奏器显示多样,并且有字符显示,所以综上所述,本设计采用的是LCD1602液晶显示。
实物如图4所示
图4LCD1602实物图
2.3.4按键输入方案论证
键盘,它的功能是信息的输入,并伴随着单片机的发展,它所带来的便利和重要性是巨大的。
键盘的输入能带来非常有效的可操作性。
从最初的机械式动作按键,到电气化触摸按键,键盘的发展也是多样的。
由于需要按键控制智能音乐演奏器,所以输入键盘也成为了一个关键的部件,控制系统当要读取输入数据时,键盘必须有效的被查询。
键盘的原理是:
一般情况下,按键所用到的开关为弹簧机械式开关,其利用的原理是通过判断键盘的高低电平,来确定触点的不同状态。
键盘通常有两种:
一种为独立式矩阵键盘,另一种是独立式按键键盘
。
其中,独立式按键键盘的原理就是:
因为按键一端接地,按键另一端接控制口供主控查询,所以按键之间不会相互影响,各自都可独立的完成操作。
它的好处是可实现的电路很简单,可实现的软件非常灵活
。
软件控制方式就是通过对独立按键的查询:
按键按下了为低电平,若是相反的,则表示高电平。
但是,在按键较多的情况下使用独立式键盘是有缺陷的,由于每个按键都需占用一个主控的输入口,所以输入控制口被大大的浪费,故此种键盘适用于按键较少的场合。
而恰恰相反,矩阵式键盘在按键数量多的情况下使用就没有这个端口浪费了。
由两根线构成矩阵键盘:
行线和列线。
各个按键位于行、列的交叉点上,通过主控的分时查询,最后确认被按下的是哪一个按键。
两种常见的键盘如图5所示:
图5独立式键盘和矩阵式键盘
理想的按键,其可以看成2种状态:
按下及没有按下。
但是由于在使用中,机械触点和人为因素,一旦按下按键就会有颤动。
若主控实时扫描按键,就会出现错误判断:
本是按下动作,由于抖动,会读取到按下-松开-再按下的错误信息
。
因此在使用键盘的时候,应该去除抖动,来使操作顺利进行。
按键可以通过两种方法来去除抖动:
一是硬件消抖,适合于按键数较少的场合,即利用RS触发器构成双稳态电路消抖,硬件消抖电路如图6所示;二是通过主控处理进行消抖,其原理是:
当有按键按下且闭合后,主控检测到低电平信号,主控不马上执行相关按键值的操作,而是去运行一个一定时常的延时函数
。
当过一段时间之后,我们认为物理机械上的前沿抖动消失之后,主控将再一次对按键进行检查。
如果检查到的状态和第一次的相同,那么可以肯定这是数据信号;若检查到的状态与第一次检测到的信号不一样,则认为是抖动信号。
图6硬件消抖电路
由于本设计要求只需4个按键输入,所以选择独立式按键作为按键输入方式。
并且采取了软件延时的策略去抖。
2.3.5语音模块论证
本智能音乐演奏器需要设计出的产品是能够进行控制的,且能实现歌曲播放功能的产品。
但STC89C52本身来说,是不能进行音频信息解码及处理数据流的,所以只能利用外部的解码芯片,并且配合不同的控制方式来实现歌曲播放功能。
MP3解码芯片常见的有VS100X系列和NV020模块系列,NV系列输出可选为DAC及PWM方式输出,这样既有利于输出设备的选择及实现,而且能解码的音频格式也比较多;而VS系列需要外加DAC,使用起来必须外加DAC电路才能实现音频的播放,而且只限于解码MP3一种格式的音乐文件。
经过比较,选用NV020模块为解码芯片,该芯片支多种格式的解码,包括MP3、PWM等,自带DAC、PWM输出。
NV020芯片功能有:
使用者通过设计不同的外围配置电路,就能选择按键控制模式、并口及串口控制模式等不同的模式。
但是其中,NV020芯片的按键模式有很多种灵活的触发方式。
3智能音乐演奏器的硬件设计
经过对各个功能模块的系统分析,智能音乐演奏器的硬件设计方案已经确定。
智能音乐演奏器的组成为:
STC89C52单片机,LCD1602液晶显示,独立按键,NV020集成语音解码模块。
接着,我们来设计各种功能模块的最小系统,来完善播放器的设计。
3.1单片机系统设计
3.1.1单片机概述
STC89C52的功能概述:
STC89C52是一种带8K字节Flash存储器的低电压、高性能的8位微处理器。
STC89C52单片机的片上Flash存储空间,允许系统在线编程,当然常规编程也是支持的。
该款单片机,有一颗8位处理能力的核心运算单元,并且有在线编程,这些特殊的优势使STC89C52为很多产品提供一些有效果而且很灵活的解决方法。
3.1.2单片机管脚及功能说明
图7STC89C52引脚图
单片机如图7所示。
单片机引脚功能说明如下。
VCC:
5V供电电压。
GND:
接地。
P0口:
双向IO口,内部无上拉,可以做数据和地址总线。
数据总线时,需要上拉电阻。
P1口:
P1口与P0口的主要区别是具有内部上拉电阻。
主控芯片引脚复用功能的简单介绍:
P1.0T2(外部计数输入端口,计数时使用),主频率时钟分频输出
P1.1T2EX(功能控制器的控制端口,通过不同的配置达到不同的输入检测)
P1.5MOSI(在系统编程用)
P1.6MISO(在系统编程用)
P1.7SCK(在系统编程用)
P2口:
功能同P1口。
P3口:
P3口的驱动能力和其他口一样。
不同之处是P3口也能成为89C52的特殊功能(复用第二功能)来使用,如下表所示。
P3口含有单片机的特殊功能,如烧录及中断。
描述如表1所示:
P3口引脚
P3口第二功能
P3.0
RXD(串行口输入)
P3.1
TXD(串行口输出)
P3.2
INT0(外部中断0输入)
P3.3
INT1(外部中断1输入)
P3.4
T0(定时器/计数器0)
P3.5
T1(定时器/计数器1)
P3.6
WR(写信号输入)
P3.7
RD(读信号输出)
表1P3口引脚功能表
RST:
复位输入。
XTAL1:
振荡时钟输入端。
XTAL2:
振荡时钟输入端。
3.1.3单片机最小系统设计
单片机最小的组成单位是由复位电路、电源电路、时钟电路所组成的。
而时钟信号是单片机运行的基础。
时钟相当于是整个系统运行的时间准则,只有当时间安排精准,程序才能有条不絮的运行,才能各司其职。
复位操作使它内部所有程序全部重新开始。
当单片机的复位引脚检测到2个机器周期(1us左右)以上的高电平以后,单片机就会执行复位操作。
STC89C52的最小系统设计图如图8所示:
图8STC89C52的最小系统设计图
3.2LCD显示电路设计
相关数据的显示是智能音乐演奏器的一项重要功能,是整个系统的主要组成部分,所以对显示电路的设计,也必须着重考虑。
显示的设计功能是:
将主控读取到的歌曲按键等相关数据经过器处理后直观的显示出来。
3.2.1LCD1602操作时序及引脚定义
对LCD1602的读写有严格的时序要求。
读时序如图9所示,写时序如图10所示。
图9LCD1602读时序
(引自《LCD1602数据手册》)
图10LCD1602写时序
(引自《LCD1602数据手册》)
引脚号
引脚名称
引脚功能定义
1
VSS
地引脚(GND)
2
VDD
+5V电源引脚(VCC)
3
VO
液晶背光电压(0~5V),可接电位器调节
4
RS
数据状态控制端端,RS=0时命令或状态;RS=1时数据
5
R/W
读写控制,高为读,低为写
6
E
数据读写操作使能端
7~14
DB0-DB7
数据线,可以用8位连接,也可以只用高四位连接,其目的是为了节约资源
15
A
背光控制正电源
16
K
背光控制地
表2LCD1602引脚定义
LCD1602的读操作,主要是读取LCD的状态,判断LCD是否在转换及合成显示状态。
LCD1602的写操作,主要是对LCD1602进行控制操作,包括清除指令,控制指令及相关的数据接收。
3.2.2LCD1602的硬件设计
根据上面的分析,我设计出了如图11所示LCD1602显示电路。
其中V0通过R1变阻器分压得到电压,通过对该电压的修改可以达到不同对比度的显示效果。
数据口我们选用P0外接上拉电阻实现,控制口我们选用P2口实现。
图11LCD1602显示电路
3.3语音转换模块设计
3.3.1语音模块概述
根据以上的方案对比,我们可以知道NV的确是个有着非常强大的可编程语音芯片。
它的音频输出方式可选为PWM和DAC。
多样的输出方式选择,使它的运用场合也越来越大。
NV芯片内通过串口控制字的输入,用户可以选择高分辨率的DA音频输出方式,而且NV芯片内部滤波功率的放大,致使模块后可以自动驱动0.5W的喇叭响动。
该芯片内部还集成PSG可编程语音合成技术,这种效果使得音乐的音质极好,发出的噪声极低。
此芯片设计时就考虑了众多的外围搭配电路,配合其有的极强的可编程能力,NV解码模块不仅能实现标准的控制方式,亦可根据不同的控制需求,做出各种不同功能的音乐解码器件。
3.3.2功能特点
用户灵活且多变的操作模式供选择(串口数据命令操作、并口数据命令操作、按键操作);
20秒语音长度(在6KHz采样率);
有忙状态输出指示供主控查询,并且主控可以通过软件调节音量大小;
音质好,性能高,物美价廉;
多样的封装可供选择,使用更方便,开发应用更灵活;
极简的外围电路,配合芯片内部丰富的资源,能够轻松实现用户提出的各种功能要求;
静态工作电流:
2uA;
有音频输出时的Ia在20mA~120mA之间;
3.3.3语音模块芯片引脚定义与功能
封装引脚
引脚标号
简述
功能描述
1
P01
K1/A0/CS
控制方式1选择端
2
GND
GND
地
3
EQI
OPI
芯片内部的功率放大电路的反馈输入端
4
EQO
OPO
内部功放反馈输出
5
VCC
VCC
芯片模拟电源2.6V~5.6V
6
SPK-P
SPK-P
DAC及PWM输出
7
SPK-N
SPK-N
DAC及PWM输出
8
P06
BUSY
语音播放忙信号
9
P05
K3/A2/DI/RXD
控制方式2选择端
10
P04
K2/A1/SCK
控制方式3选择端
11
VPP
VPP
芯片编程电源
12
VDD
VDD
芯片数字电源2.6V~5.6V
13
P10
A3
按键口
14
P11
D5
按键口
15
RESETB
RESETB
芯片复位端,低有效
表3语音模块引脚及相关功能描述