基于单片机音乐播放系统设计.docx
《基于单片机音乐播放系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机音乐播放系统设计.docx(41页珍藏版)》请在冰豆网上搜索。
基于单片机音乐播放系统设计
基于单片机音乐播放系统设计
基于单片机的音乐播放器系统设计
陈泓润指导老师:
李媛
(商丘师范学院电子电气工程学院,河南商丘476000)
摘要:
随着电子科技技术得飞速发展,人们对音乐播放器得要求越来越苛刻,导致各个厂家必须在功能上追求与众不同,本设计的音乐播放器是使用STC90C526RD+系列单片机为主要控制的模板、使用极为广泛的MP3-TF-16P为语音播放模块,用HS-021红外遥控器发出操作的信号,HX1838传感器接收,红外遥控器上有开始、暂停、下一首、上一首、音量等按键,可对MP3、WAV、WMA进行硬解码。
这与传统的音乐播放器相比,即拥有了传统播放器的优良的特点,还可以远程红外遥控,使用方便,其操作灵敏度高、功耗小、成本低、恒温性强。
由于它智能便捷、经济实用可用于家庭、多种共同场合,具有很强的实用价值和市场前景。
关键词:
音乐播放器;红外遥控;单片机
DesignofMusicPlayerSystemBasedonMCU
ChenHongRunSupervisor:
LiYuan
(SchoolofElectronicandElectricalEngineering,ShangqiuNormalUniversity,HenanProvince,476000)
Absrtact:
Withtherapiddevelopmentofelectronictechnology,people'srequirementsformusicplayershavebecomemoreandmorestringent,resultinginvariousmanufacturersmuststrivefordifferentfunctions.ThemusicplayerofthisdesignusestheSTC90C526RD+seriesmicrocontrollerasthemaincontroltemplate,usesanextremelyextensiveMP3-TF-16Pasthespeechplaybackmodule,andusestheHS-021infraredremotecontroltosendtheoperationsignal.HX1838sensorreceives.Theinfraredremotecontrolhasbuttonssuchasstart,pause,next,last,volume,etc.,whichcanbeharddecodedforMP3,WAV,andWMA.ComparedwithtraditionalMP3players,thisisagoodfeatureoftraditionalplayers.Itcanalsoberemotelyoperatedbyinfraredremotecontrol.Itisconvenienttouse,anditsoperationsensitivityishigh,powerconsumptionislow,costislow,andtemperatureisstrong.Becauseitissmartandconvenient,economicalandpracticalcanbeusedinfamilies,avarietyofcommonoccasions,
Keywords:
musicplayer;infraredremotecontrol;microcontroller.
一课题主要研究内容及总体设计方案
课题主要设计要求
在本文中主要设计了基于单片机的音乐播放器,实现MP3的基础功能。
本文主要完成了单片机各模块的选型和设计,对如何驱动单片机MP3模块进行了研究。
除此之外还通过添加红遥控模块来实现对音乐播放器的红外遥控,初步实现了音乐手动播放和遥控播放等诸多功能。
主要能够实现对MP3、WAV、WMA的硬件解码,通过显示屏来显示歌曲的名称、播放时间等,通过红外遥控器来控制播放器的音量大小、音乐切换等按键的控制。
系统的总体设计方案分析
单片机的选取
传统的8051系列单片机,在操作速度上略有缓慢,在反应速度上也有些迟钝,耗能过大,只能运用与每机器周期6时钟之中。
而本设计采用一种单时钟、周期运行为1时钟的51系列单片机,具体型号为STC90C526RD+,这种新一代的8051单片机具有超高的性能,例如减少电能消耗、反应速度快、本次设计在经过多方面的选择与修改之后,选择了STC90C526RD+这个比较完善的芯片。
STC90C526RD+mcu是一个32位元的微控制器,有512k位元组的快闪记忆体,基于手臂核心。
SRAM的容量可以达到64KB之大,供电的正常电压范围在2.0V-3.6V里面,内含复位键,可以拥有睡眠、停机和待机等一些的省电模式来实现芯片的低功耗的要求。
内部集成专用复位电路MAX810,复位电路是在芯片工作状态出现问题的时候,可以保证回到最原始的状态的电路。
首先,复位信号在单片机通电的时候就产生了;然后,该信号进行传输,复位电路开始启动;最后,芯片被还原为最开始的工作状态。
当芯片正在运行和工作的过程中,假如在外界因素的干扰下出现出错情况或者执行的程序出现故障的时候,人工按下复位按钮,这个时候,单片机就会自己重新开始执行自原始的程序。
在时钟结束工作以后,2个周期的高电平信号就会从RESET端输出,在这个时候复位成功。
一般来说,复位模式有两种,第一种是通电即可自动复位模式,第二种是可以通过一个按键来人工复位。
人工按键复位电路是本此的设计使用的,所以在电路板上存在一个专门用来复位的按键。
当复位脚直接接地时,时钟频率降为12MHz以下[1,2]。
综合考虑,选取STC90C526RD+单片机。
MP3模块的选取
采用能够对MP3、WAV、WMA的硬件解码的MP3-TF-16P语音播放模块,可以最大支持32G的TF卡,可以满足产品的需求,完成播放指定的音乐并且支持音箱、功放连接[3]。
综合考虑,选择具有简单操作功能的MP3-TF-16P模块
显示模块的选取
显示屏为1602LCD。
LCD1602的意思是LCD模块可以显示两行的数据,每行16个字符。
它是一个点阵LCD模块,可以用来显示字母,数字和一些符号等。
它由5*7或5*11的几个点阵字符位所构成,一个点阵字符位即表示着一个字符显示。
并且,使用的字符模块与其它模块,如重量轻,体积小,功耗低,强命令功能,简单,方便的接口,宽工作温度和高可靠性相比具有许多优点。
综合考虑,为满足解码音频文件和显示当前播放信息的需求,选择LCD1602液晶显示屏,而且可以识别歌曲名称,因此选择LCD1602液晶显示屏。
红外发送、接收器的选取
HS-021红外遥控器价格便宜、重量轻、体积小等优点,能充分满足本设计需求,因此尉氏县遥控播放音乐的功能本文选择HS-021红外遥控器,遥控信号接收装置采用HX1838,该信号接收装置具有良好的灵敏度和精度,可接收短距离传输的遥控编码数据,具有良好的运行可靠性[4]。
综上,为满足本文设计的音乐播放器功能,选择HS-021红外遥控器和HX1838接收器。
系统总体设计
在本文设计过程中采用主控模板单片机为核心,可通过红外遥控器实现音乐的播放控制以及歌曲选择和模式转换。
图1-1系统结构框图
系统主要组成部分包含STC90C526RD+单片机模块、液晶显示模块、电源模块、复位电路以及红外发送和接受模块等组成,系统可通过遥控器上的HS-021红外遥控器来发送指令信息,在发送完成后由于单片机上的信号接收模块所接受,并将指令传输给MP3模块,MP3模块在接收到信号之后可在储存器中调用相应的音乐文件并进行播放,并将文件信息在显示模块中予以显示,最终控制系统可实现对整个音乐播放器的智能控制,本播放器除可采用遥控模式实现音乐播放之外,还可通过键盘模块来实现手动操作,实现开始、停止、下一曲和选择播放模式的切换,除此之外还具有歌曲编号以及播放时间显示等诸多功能。
二系统硬件电路设计
主控模块的设计
主控模块在本设计系统中是最核心的地方,它需要接收和发出相关的命令,需要通过MP3模块来和红外发送和接收模块之间实现相互配合,并利用LCD1602对相关参数予以显示,并在显示模块中进行对比。
STC90C526RD+内部结构图如下图所示:
图2-1STC90C516RD+内部结构图
本文所选用的单片机类型为STC90C526RD+40C-PDIP40,该单片机共有引脚40个,不同引脚所具有的功能也有所不同,现对其引脚功能进行详细说明,如下所示:
VCC(40脚):
该引脚主要和外接电源的正极相连接;
GND(20脚):
该引脚主要和外接电源的负极相连接,接地;
P0.0-P0.7(32-39脚):
主要实现与其他模块的数据的输出,给显示模块输送相应的控制指令;
P1.0-P1.7(1-8脚):
实现对文件库中音乐文件的选择,并将文件进行传输和解码操作;
P2.5-P2.7(26-28脚):
该引脚为显示器功能引脚,可实现对显示器的操作;
P3.0-P3.7(10-17脚):
通过接收遥控器发出的信号来实现对系统的控制,实现对音乐的播放操作;
RST(9脚):
该引脚的主要功能为复位作用,当该引脚为高电平时系统自动复位;
XTAL1、XTAL2(19、18脚):
该引脚主要与时钟源输入端口和输出端口相连;
单片机最小系统包含系统晶振电路、复位电路和电源部分相连,这样能达到单片机的正常运行。
复位电路的设计
复位电路的设计目的就是为了让单片机经过一系列操作后,又重新回到实现系统的初始化,复位电路的主要功能是为CPU中的部件设定一个初始值,通过初始值的复位之后可从初始点开始进行工作。
当单片机复位引脚为高电平时电容C3电压升高则单片机就会发生复位。
一般的复位电路都是采用两种不同的形式,其一为手动复位形式,其二为自动复位形式,前者的主要特征是由操作者按下键盘模块中的复位按钮之后自动产生复位信号,单片机在接收到信号之后产生复位;上电复位是瞬间产生的复位过程,在RES端会先处于一种高电平的一段时间,然后通过电阻与地连接,此时的RES段会逐渐的变为低电平,使复位口从0到1的转化,达到复位的效果。
本文所设计的复位电路采用第一种复位方式,其电路原理图如下所示,当电容减小充电电流时,此时RES/VPD端电压为高电平,系统在接收到信号之后自动完成复位。
系统在复位过程中,按下图中的复位按钮时,C3上的电压不断升高,这样导致程序从头开始执行[5,6]。
图2-2复位电路原理图
晶振电路的设计
晶振基本上会出现在每一个单片机的系统,它能把电能和机械能相互转化,用于保持稳定,晶振对电路产生的很大的作用影响,单片机所需求的时钟频率是通过内部的晶振电路来说笑呢,单单片机晶体谐震器提供的始终频率在很大程度上与单片机的运行速度相关,时钟频率越高,单片机的运行速度也就相应越快,单片机的一切指令的执行通过该装置来实现。
通常而言,普通晶振频率的绝对精度高达50%。
其电路图如下所示[7]。
本设计的晶振电路可以晶振范围在11MHZ-12MHZ之间,本设计选择为11.0593MHZ。
图2-3晶振电路原理图
红外发送模块和红外接收电路的设计
通过HS-021红外遥控器发出控制指令,1838红外接头传感器接收信号。
红外遥控器上有着开始、停止、上一曲、下一曲、歌曲的选择等按键。
(1)红外发送模块:
在本文所设计的基于单片机的音乐播放系统中红外发送模块选用HS-021。
红外接收电路:
红外接收电路原理图如下图2-4所示。
该红外发送模块的接口及其对应的功能如下:
3号端口为外接电压端口,可实现与单片机的直接连接;
2号端口外接GND;
1号端口为输入输出端口,与单片机的通信端口相连。
图2-4红外接收电路原理图
本文所设计的红外接收模块为1838传感器,该红外接收模块具有较高的灵敏度。
MP3模块的设计
一般常用的MP3的工作原理:
将各种形式的数据流进行一系列的解码操作,输出一定的数字音频信号。
通过主机通信接口、显示模块以及数模转换模块和CPU等构成一个播放器。
单片机在本系统的主要功能是对系统所有的请求信息和通信数据进行处理,并实现对储存设备的控制,实现音乐的播放,单片机中央处理器在接收到红外遥控模块所发送的数据信息之后会调用相关指令对储存器中的文件进行调用,并通过解码器对文件进行解码,在完成解码之后将信息数据传送到单片机的音乐播放模块之中进行播放,并在显示模块中显示当前播放歌曲的详细信息[8]。
MP3播放器的主要组成模块之一为储存设备,通常而言MP3模块采用的是硬盘或半导体储存器,通常而言,MP3播放器所采用的储存设备为外接储存扩展设备或硬盘,通过计算机操作系统来实现数据的读取操作[8]。
本设计的MP3-TF-16P模块集成有MP3、WAV、WMA等不同格式的文件,模块选用SOC方案,采用影解码方式,保证了系统的稳定性和播放效果。
如图2-5所示
图2-5MP3解码模块
在本文所设计的系统中选用MP3-TF-16P语音播放模块,通过对端口的触发实现对歌曲的切换、音量大小的调试等。
(1)MP3模块电路原理图如下图2-6所示:
图2-6MP3模块电路原理图
(2)该模块引脚说明如下所示:
表2-1引脚的名称及作用
引脚的名称
引脚的作用
引脚的名称
引脚的作用
VCC引脚
作为模块的输入
USB+、USB-
用于接U盘
DAC_R、L引脚
音频输出右左音道
TX、RX
串行数据输出、输入
ADKEY1、ADKEY2
AD口1、2
I01、I02
均为触发口
Spk1、Spk2
外接喇叭的接口
BUSY
播放指示
(3)MP3模块的参数:
支持采样频率:
;
最大支持32GTF卡;
支持
音频解码;
音量大小可调、简单旋钮调节方式;
输入电压在3.3V-5V,输入电流为16MA;
液晶显示模块的设计
本产品用到的是LCD1602显示器。
LCD1602与单片机P0口连接,同时外接上拉电阻,通过上下两行来显示蔬菜大棚温度的设定阈值以及实测值,两者可同时限制,单片机P2.3、P2.4、P2.5分别与液晶显示模块的复位、读写和使能端口相连,数据显示参考主程序其他时序。
LCD1602液晶显示器中的每一个字符都是由5*7的点阵组成。
该显示方式具有控制简单等优势,同其他液晶控制原理相似。
LCD1602非常重要的成分就是控制器,它可以通过自身将2行8字符驱动并显示。
而驱动器(HD44100)和液晶屏是组成LCD1602模块的比不可缺的一部分。
LCD1602有十六个引脚,每个引脚有着不同的功能[9],如表2-2所示:
表2-2引脚接口说明
LCD1602模块与单片机连接通信,P2.5、P2.6、P2.7均为控制引脚,用于判断数据和命令的选择。
P0.0-P0.7引脚与单片机连接并口数据传输。
其电路原理图如下所示:
图2-7LCD1602显示电路原理图
电源电路的设计
本系统电源电路原理图如下所示:
图2-8电源电路原理图
三系统软件部分设计
软件设计包含以下部分,分别为:
(1)主程序;
(2)初始化函数;(3)红外解码模块;(4)显示模块;(5)串口服务;(6)音频解码设计。
(7)按键流程。
主程序软件的设计
本次设计的主程序流程图如图4-1所示,当红外遥控装置给红外接收器按键信息传给STC90C526RD+单片机,单片机经过一段延时到判断是否得到红外信号,如果有就给MP3模块一个控制命令,使其MP3播放器选择歌曲、上一曲、下一曲、增减音量等操作,如果没有就继续返回子程序继续延时等待命令。
图3-1主程序流程图
LCD1602子程序函数软件设计
LCD1602子程序函数流程图如图4-2所示,其内部控制器指令代码如下表所示:
表3-1字符控制命令说明
图3-2LCD程序流程图
MP3红外遥控功能按钮设计
红外遥控按键模块响应流程图如下所示。
图3-3按键相应流程图
当打开电源开关后,在设定好音乐编号的情况下,按下HS-021中1-9任意键后开始播放音乐,可通过键盘模块中的上一曲、下一曲等实现对应的操作。
MP3播放器解码过程
解码器的运用相对特别,一般得音乐播器解码是单独的一个环节。
MP3播放器解码过程是主控模块开始运行后,主控模板将比特流的头和频谱分布的数据帧进行一系列的差错检测,以及将信息进行整理保存,然后再将这些得到信息解码化为音频信号。
因为一些MP3解码器占用较多的CPU时间,所以本产品设计是MP3模块的硬解码过程,模块选择的SOC方案,保证了播放效果和音质。
在整个解码的过程中,先通过给模块上电完成初始化,然后有一段大约为200ms的延时时间,然后选择在线的文件,例如UDISK、TF、FLASH等,最后再选择播放歌曲。
图3-4为MP3的整个解码播放过程的流程图:
图3-4MP3解码播放流程
因为该产品MP3是硬解码,是模块自身的解码,当MP3模块收到指令后,会立即反馈给MCU,MCU发送相应的控制信号,IO作为解码和停止的状态指令,模块通电后,初始化正常,模块会自动进入设备播放状态。
(1)串口作为一种在控制领域常用的通信,可以通过判断接收和发送的指令来确定功能与作用。
例如一些直接发送的指令,如表3-2所示
表3-2指令对应的功能
CMD命令(指令)
对应的功能
CMD命令(指令)
对应的功能
0x01
下一曲
0x0E
暂停
0x02
上一曲
0x04
音量+
0x0D
播放
0x05
音量-
(2)模块指定播放的设备
模块默认了四种类型的的播放设备,只有检测出设备在在线时,软件才会做出合适的选择。
如表3-3所示,选择合适的指令
指令选择之后,该模块自动进入停止解码过程,然后开始指定的歌曲播放
表3-3播放设备对应的相关指令
指定播放设备
选择指令
U盘
7EFF0609000001xxxxEF
SD卡
7EFF0609000002xxxxEF
四系统测试
测试仪器
测试仪器列表如下表所示:
表4-1测试仪器列表
功能测试
实物图如下图所示,该图为给播放器同上电时屏幕正常打开。
图4-1红外遥控音乐播放器的实物图
然后打开播放按键,播放器开始从第一首歌曲开始播放,如图4-2所示
图4-2播放器开始播放
再切换下一首歌曲,并将音量减小到14,如图4-3所示
图4-3音乐播放器按键调试
再将事先设置好音乐歌曲编号,按下红外遥控器上的5,直接跳到第5首歌曲,如图4-4所示
图4-4音乐播放器歌曲调试
测试时出现的主要问题及解决方法:
(1)将事先写好的程序输入,发现显示模块不停闪烁。
解决的方法:
检查电路是否按照电路原理图连接完毕,并检查元器件是否损坏,但均排除了这两点故障原因,通过咨询老师后,将调用的子程序延时进行了适当修改,解决了屏幕闪烁问题。
(2)刚开始打开电源对设备进行操作后音乐不播放。
解决的方法:
在Speaker接头中接上一个0.5W,8欧的喇叭,再次打开电源后对音乐播放器进行操作,在采取该措施后解决了不能播放问题。
(3)最后使用播放器播放时会自动复位,重新播放该歌曲。
解决的方法:
查阅资料可知,当电压过低时会播放模块会自动复位,通过降低喇叭音量解决了这一问题。
五结论与展望
本文是对通过51单片机对MP3音乐播放器系统设计,它阐述了整个音乐播放器的过程,及硬软件的设计。
此播放器的操作简便、使用寿命长、价格实惠、人性化设计等特点,使它在众多播放器具有很大的优势。
在本设计中采用STC90C526RD+作为主控模块,采用MP3-TF-16P语音播放模块,音乐播放器的红外接收装置由HS-021红外遥控器和HX1838红外接收头共同完成。
在本设计的过程中我在老师的指导下对整个系统设计有了初步的认识,再通过查阅资料完成了电路设计和程序编写,使产品能够完成播放、上下一首歌曲、音量调节、播放模式切换等功能。
通过本次实验自身的收获:
对C语言的编写有了进一步了解与巩固,锻炼了自己的动手能力;
对单片机的运用方面有了更深的了解;
对各个模板的有了新的认识,掌握了它们搭配使用的方法。
由于自身能力的不足,有一些没有完成的方面:
不能够完成歌名与歌词的显示工作;
程序的设计不够完美,较为复杂繁琐。
参考文献
[1]马庆勇,吴忠明.基于单片机的多功能时钟控制电路[J].电子科技,2009,14(11):
56-59.
[2]滕帅,李志敏,袁一鸣.基于红外遥控技术的MP3的设计[J].中国电子商务, 2011(5):
78-78.
[3]凌泽明,刘桂林.基于单片机的便携式MP3播放器设计[J].科技创新导报.2011,12(4):
56-57.
[4]张雅茹.基于单片机的红外遥控MP3设计[J].淮海工学院学报,2011,20
(1):
29-32.
[5]李杏春.单片机原理及使用接口技术[M].北京:
北京航空航天大学出版社,1996.
[6]李建华.实用遥控原理与制作[M].北京:
人民邮电出版社,1997.
[7]李江,曹家庆,陈文生.手机音乐播放器的设计与实现[J].信息通信,2013,12(9):
128-129.
[8]唐斌.时尚娇点:
MP3数字音乐播放器[J].电子产品世界,2001,12
(2):
60-63.
[9]叶晓斌.LCD显示器件驱动电路中的电压调整和电压控制器件设计[D].北京:
清华大学,2000.
[10]裴彦纯,陈志超.基于单片机系统的红外遥控器应用[J].现代电子,2004,11
(1):
46-48.
[11]李志超,周华.基于单片机的红外遥控器的设计与应用[J].中州大学学报,2008,25
(2):
111-112.
[12]朱光忠,吕梅蕾,杨子鸣.基于单片机的红外遥控开关控制器[J].计算机工程与设计,2006.24(11):
2097-2099.
[13]余家春.Protel99se电路设计实用教程[M].北京:
中国铁道出版社.2004.
[14]翟祥林,王景成.红外遥控在嵌入式系统中的实现[J].开发应用,2010,26(5):
24-26.
[15]吴谨,段江春,伍文平.基于单片机的远程监测控制装置[J].电子技术,2008,10(8):
13-15.
[16]周兴华.手把手教你学单片机C程序设计[M].北京:
北京航空航天大学出版社,2007.
[17]潘言全.基于单片机的数字语音播报温度计[J].黑龙江科技信息,2014,24(17):
54-54.
[18]Yong-CaiP,Wen-chaoL,XiaoL.DevelopmentandResearchofMusicPlayer
Security(ICCIIS),201O