基于单片机的MP3播放器

  • 投稿小赤
  • 更新时间2015-09-23
  • 阅读量411次
  • 评分4
  • 24
  • 0

张超马宏兴

(北方民族大学,宁夏 银川 750021)

【摘要】以红外线遥控技术代替传统近距离按键操作,设计一种基于STC12C5A60S2单片机的MP3播放器。该设计以单片机为核心,以音频解码芯片VS1003、USB接口芯片CH375、液晶显示器LCD12864等为载体,在软件上使用FAT32文件系统对存储文件进行管理,并采用红外线遥控收发模块对MP3播放器进行远距离遥控操作。

教育期刊网 http://www.jyqkw.com
关键词 单片机;红外遥控;CH375;VS1003

0引言

目前,电子产品正在高速发展,随着档次和功能的不断提高,嵌入式技术越来越多的被应用进电子产品中,同时也给人们的生活带来了巨大的变化。MP3作为典型的嵌入式音频设备,凭借着超小的体积、优异的音质等特点而成为市场上流行的数字音乐播放设备之一。红外线遥控是目前使用最广泛的一种遥控手段,现在红外线遥控技术已应用到各个领域,本文以单片机为核心,音频解码芯片VS1003、USB接口芯片CH375、液晶显示器LCD12864、红外线遥控模块等为载体,设计并实现对MP3播放器的远距离控制操作。

1设计原理

本次设计以单片机STC12C5A60S2为控制核心,通过控制CH375,从存储设备读取音频文件发送至音频解码芯片VS1003解码,然后通过耳机、音响设备便可听到优美的音乐。控制全部采用遥控,通过红外遥控模块对MP3播放器的播放功能进行远距离控制操作,实现播放、暂停、音量大小调节、歌曲切换等功能,并采用LCD12864液晶模块对播放信息进行显示。

本设计主要由单片机STC12C5A60S2控制模块、存储设备读取模块CH375、音频解码模块VS1003、液晶显示模块LCD12864、时钟模块、红外线收发模块六部分组成。设计的关键在于各个模块间的合理配合,从而达到最好的效果,软件方面主要在于文件系统的管理,在设计中采用FAT32文件系统。

2硬件设计

2.1音频解码芯片VS1003

本设计采用集成芯片VS1003进行音频数据解码,VS1003是由VLSI公司出品的一款单芯片MP3/WMA/MIDI音频解码和ADPCM编码芯片。它为用户提供5KB的指令RAM和0.5KB的数据RAM,拥有4个常规用途的I/O口和一个UART接口,同时芯片内部带有一个高品质可变采样率的ADC、立体声DAC以及音频放大器,只要硬件电路合理,调试好软件程序,插入耳机便可听到优美的音乐。

VS1003模拟电源和数字电源工作电压分别为3.3V和2.5V,通过稳压芯片AMS1117为其提供合适稳定的工作电压。VS1003通过串行模式与单片机连接,当片选XCS有效时,写入的数据是寄存器的地址,当数据片选XDCS有效时,是将数据写入到相应的寄存器;音频数据经解码后由L、R两个声道输出,地缓冲器GBUF可以做耳机的公共端,如不使用GBUF,左右声道之间必须增加100UF隔离电容。

2.2USB接口芯片CH375

USB接口芯片采用由沁恒公司出品的CH375,CH375是一个USB总线的通用接口芯片,支持并口和串口两种工作方式,内置了处理Mass-Storage海量存储设备的专用通讯协议的固件,通过单片机可以直接以扇区为基本单位读写USB存储设备。本设计中采用并口工作方式。

2.3红外控制模块

红外遥控系统由发射和接收两大部分组成,通过编∕解码集成芯片进行控制,工作原理。红外发射装置使用普通的万能遥控器,包括键盘矩阵、编码器、红外发送器;接收部分采用一体化红外接收头HX1838,不需要任何外接元件,它将光敏二极管、光电转换放大器和解调器集成到一起,具有低功耗、高灵敏度以及优良的抗干扰等特性,而体积与普通三极管一样。

HX1838红外接收头1脚经上拉电阻接至单片机外部中断0,利用中断检测红外信号,并通过定时器定时来区别32位二进制码中的“0”和“1”,然后经过程序解码将红外信号中的数据码和数据反码提取出来,单片机根据接收的数据码实现不同功能的操作。

3软件设计

系统软件程序采用C语言编写,整个程序采用模块化编程,其中核心部分为主程序模块,主程序通过调用子程序实现MP3的各个功能的控制,子程序主要包括FAT32文件管理程序、液晶显示程序、数字时钟程序、红外遥控程序、CH375初始化以及VS1003初始化程序。由于单片机RAM和ROM的局限性,所以在编程方面必须考虑内存的限制,争取达到最优化。

3.1主控程序

主程序首先对各个模块进行初始化,初始化完成后进入时钟万年历界面,显示时间信息,当遥控器发出命令后进入主目录界面,然后通过遥控器选择某个功能目录来实现不同功能的切换。

3.2FAT32文件系统

FAT32文件系统结构框架如图4,根据底层驱动对存储设备进行以扇区为单位读取,通过对MBR扇区中的DPT磁盘分区表的读取,找到引导记录扇区DPR,从而对其中的BPB部分进行数据提取处理,最终得到存储设备的基本信息,比如根目录所在簇、每簇扇区数、存储设备的容量等等信息,为后续的打开目录、文件读取等操作做好准备,即文件系统的初始化操作。

FAT32文件管理程序主要涉及文件的打开(支持文件名通配)、目录的打开、文件位置的定位。其中文件的通配名打开可以对存储设备中同一性质文件进行访问读取,通过设置一个变量,只要变化变量数值就可以打开同一性质的不同名称的文件,大大提高了程序的效率。

3.3MP3播放程序设计

当选择进入MP3目录后,程序进入MP3播放功能,首先进行各个模块的初始化,然后打开MP3文件不断读取音频数据,进行音频解码直到数据结尾。在播放过程中不断检测遥控按键,根据遥控器发来的不同命令可进行歌曲的切换、音量的增减、播放模式的切换等操作。

4结语

以51单片机为控制核心的MP3播放器,采用CH375模块进行音频数据的读取并通过VS1003模块进行音频解码,可随时更换内存设备,解码的音质和性能也比较可靠,音乐播放流畅优美。本系统还可以实现MP3的远距离红外遥控操作以及时钟定时等功能,操作简单方便,实用性较强。

教育期刊网 http://www.jyqkw.com
参考文献

[1]郭天祥.新概念51单片机C语言教程[M].北京:电子工业出版社,2009.

[2]谭浩强.C程序设计[M].4版.北京:清华大学出版社,2012.

[3]张雅茹.基于单片机的红外遥控MP3设计[J]. 淮海工学院学报,2011.

[4]佚名.CH375中文手册(一)[EB/OL]. http://wch.cn/.

[5]佚名.VS1003技术文档[EB/OL]. http://www.vlsi.fi/.

[6]于振南.嵌入式FAT32文件系统设计与实现[M].北京:北京航空航天大学出版社,2014.

[责任编辑:邓丽丽]