您当前的位置:五五电子网电子知识单元电路娱乐-游戏电路基于单片机无接触红外遥控MP3音乐播放器的设计制作 正文
基于单片机无接触红外遥控MP3音乐播放器的设计制作

基于单片机无接触红外遥控MP3音乐播放器的设计制作

点击数:7126 次   录入时间:03-04 11:40:50   整理:http://www.55dianzi.com   娱乐-游戏电路

  这款无接触红外遥控MP3音乐播放器,可实现每天按设定时刻多次自动播放存储卡(SD卡或U盘)上指定音乐的功能,经长期试用,效果不错。该控制方法也适用于其他红外遥控设备。

  一、控制原理、功能及应用
  
  MP3播放模块采用U盘、SD卡作为乐曲存储介质,存储量大、曲源丰富,并可方便使用PC录制、编辑、存储,MP3播放实现自动化后,特别适用于需要“长篇大论”的场合,如商用自动语音广告机、农村广播台站的自动播音,展览馆、博物馆自动解说机(可采用人体红外触发解说),学校作息时间的音乐报时等。

  下面介绍用于学校作息时间音乐报时的制作方法。

  1.电路组成及系统功能
  
  电路框图如附图所示。硬件由单片机、MP3模块、实时时钟、时刻显示、PC通讯、电源管理、音频输出与监听等七部分组成。实现功能:

  实时时钟驱动与显示:时钟键盘校时;键盘设定每天30次~60次播放时刻:能在设定时刻控制MP3的播放、延时与关闭,控制指定乐曲播放:设有监听功能和音频输出接口;有ISP下载接口;设有电源管理,包括外接功放电源管理,MP3模块电源管理及监听电路的电源管理。

  2.主要控制原理
  
  
  开机,单片机系统程序初始化后进入查询报时时刻部分。单片机驱动实时数字时钟芯片DS1302计时并驱动8位LED显示时间,周期性取得实时时刻存入时、分(24小时制)变量中。若MP3开机时刻到,单片机通过一端口控制电子开关使MP3得电,并通过另一端口发射MP3遥控关机码,使MP3处于遥控关机状态。系统程序建立并维护一个报时时刻列表,这个列表经用户设定后存人单片机EEPROM中。单片机每次开机时从EEPROM中读出列表数据并存入对应数组。查询程序循环搜寻这个数组,当时分变量的当前值与列表中某数值匹配时,程序进入播放乐曲报时部分。这时,单片机通过端口驱动红外发射管模拟发射MP3的红外遥控编码,控制MP3模块开机并播放指定乐曲。另通过两端口控制使外接功放及监听电路的供电。经一定时长播放延时后,乐曲结束,单片机再发射MP3模块遥控关机指令,并关闭外接功放及监听电路供电,自动返回程序查询部分,继续搜寻匹配时刻,准备下一次报时。这时,MP3模块处于遥控关机或暂停待机状态。

  由于是红外线控制,MP3播放部分可用内置模块,也可用具有遥控功能的外置成品MP3插卡音箱、插卡功放等。单片机对MP3播放器的控制分为电源控制与播放控制两部分。即单片机控制MP3播放器电源的供电,同时采用红外遥控方式控制MP3的播放。本文介绍的电路采用的是MP3内置模块。

  二、硬件选型及电路设计  

  1.单片机部分
  
  单片机选用STC89C52RC,该芯片兼容51指令,带有片内EEPROM,抗干扰强、价格低廉(4.5元/片)。选该芯片是考虑到51的单片机精确延时函数较难编写,与时钟频率有关,而STC89C52RC时钟频率较高,当其工作模式在12T/48M或6T/24M时,可以编写出精确的μs级及ms级延时函数,用于遥控码编程。

  2、实时时钟部分
  
  选用数字时钟芯片DS1302计时,价格低廉(0.8元/片)、能耗小,支持单片机突发读写,网上有成熟的驱动程序。驱动DS1302需占用单片机三个端口。

  DS1302为8脚芯片,①脚5V电源,⑧脚接3V电池,②、③脚接32.768kHz晶振,⑤、⑥、⑦脚接上拉电阻并与单片机PLL、P12、P13口连接,由单片机驱动计时。

  3.MP3模块与监听部分
  
  MP3模块与监听部分电路,可选用带遥控功能、无面板的裸板MP3模块成品板,遥控灵敏度要高,配有一体化红外接收头。一般有5只引脚,分别是12V电源、电源地、左声道输出、右声道输出、声源地。MP3的音频输出去监听放大电路TDA2822M,同时两声道径莲花插座输出到外接功放。

  4.电源管理部分
  
  原理图中,Q4、Q5、R8、C6、R14组成两个电子开关,其通、断分别受单片机P15、P17口控制,控制管理MP3模块及监听电路电源。

  电源管理方案由软件控制执行。

  原理图中,三极管01、光耦MOC3020、双向可控硅BTA16-600、电源插座等组成外部功放电源控制电路。在程序报时状态,P14为地电位,Q1导通,MOC3020①脚得电,内部二极管发光,可控硅BTA16-600导通,电源插座得电。在程序查询状态,P14为高电位,Q1截止,可控硅BTA16-600截止,电源插座失电。

  5.其余部分
  
  电源部分由变压器、整流管、滤波电容及三端稳压器7812、7805等组成,为电路提供12V、5v电压。选用4位一体LED数码管2片,由单片机的16个口驱动显示天、时、分、秒。为了便于STC89C52RC单片机从PC上下载程序及调试.可增加电平变换电路MAX232及9针串口公头。这几部分电路图略。另找了一个报废的卫星接收机外壳来安装线路板,并利用其按键和显示窗,莲花头等。电路由电源板、主控板及LED显示板三块板等组成。

  三、软件编写与调试
  
  1、编程前的准备
  
  (1)测试MP3遥控编码
  
  单片机要发射MP3红外控制码,需测出MP3遥控器各键遥控编码值,因此需要专门的测码器。笔者使用微机和串口调试助手,配合带一体化红外接收头的单片机学习板及红外码接收程序,取得MP3遥控器的各键十六进制红外遥控编码。一般按NEC编码原理,每键遥控编码有4个字节,发射顺序为:2字节用户识别码、l字节键码、1字节键码反码。编程前,将编码以数组形式存入flashROM备用。

  (2)待播放音乐的编辑
  
  事先要用电脑对报时的MP3乐曲进行编辑,存入U盘或SD卡。笔者推荐采用一款免费MP3编辑软件ColdWave,此软件是中文版的,功能强大好用,网上可下载。若用于学校作息音乐报时,每天播放30次不同的乐曲,上课提前播1分钟,其他播4分钟。笔者用ColdWave软件将30首乐曲按时长剪辑好。在每首乐曲前加上语音报时部分。为防止MP3在播放时间上的误差而出现杂音,可在每首乐曲加上前导与后置静音各2秒,淡人淡出各5秒。

  (3)测试MP3播放器对音乐文件的注册编号
  
  要实现MP3的指定乐曲播放(点歌),须测试MP3对音乐文件的注册号。MP3模块对待播放的音乐文件有注册编号,并与遥控器输入的遥控号码相同。当存有音乐文件的U盘或SD卡插入MP3开机后.MP3会对音乐文件进行检索并注册编号,存入外置芯片中(AT24C02)。至于一个编号与哪个音乐文件相对应,要用遥控器逐个输入号码,进行播放试听测试。测试具体方法详见上期本版《MP3播放器对音乐文件注册编号的测试方法》一文。

  2.程序简介
  
  如前述控制原理,程序涉及函数有:时钟芯片驱动函数:LED显示驱动函数;EEPROM读写函数;遥控红外码编码函数及红外码发送组合函数(点歌函数);时钟校时函数;报时时刻设定函数等。程序全部采用C语言编写。

  下面重点介绍程序的红外码编码发射部分。因红外发射编码程序需要较精确的延时函数,而51单片机精确延时函数一般较难编写,所以先介绍延时函数。笔者选用外置24MHz晶振,6T(每机器周期6个时钟周期)工作模式。在此模式下,可编出精确的μs及m延时函数。采用C语言编写的μs级延时函数如下:

  如此层屡嵌套调用,可编出红外遥控码需要的几个延时函数,如565μs延时函数如下。

  这些延时函数可在Ke1151软件仿真环境下,通过单步运行观察regs窗口的sec项验证,实测显示0误差。

  STC89C52RC内部定时器计数器2为16位定时计数器,经编程设置可作为脉冲信号发生器,从Pl0口输出38kHz的脉冲,并可通过计数器2控制寄存器的TR2位,控制计时器2的启动与停止(TR2=1启动,TR2=0停止),从而控制Pl0口38kHz脉冲的有无,实现红外编码,省去了编码调制电路。定时器计数器2的初始化程序如下:

  Pl0口可用来驱动红外发射二极管发射MP3的红外遥控编码,实现对MP3播放控制。

  按NEC的μPD6121红外编码原理,红外编码发射函数如下:

[1] [2]  下一页


本文关键字:单片机  设计制作  MP3音乐  播放器  娱乐-游戏电路单元电路 - 娱乐-游戏电路