STM32/STM8技术论坛
直播中

李子井

8年用户 125经验值
擅长:嵌入式技术
私信 关注
[资料]

VS1003制作的音乐播放器


作品:音乐播放器
作者:Colorful
QQ:1254411429
由于语言表达能力有限,看完这个文档还有什么不懂的可以加我QQ,我会尽量讲解给你


由于我在上传帖子的时候,系统总是说我超过字数。所以我就把所有的图片都删除了,要想看完整的可以下载附件


背景说明:在我读初中的时候MP3曾经风靡一时。很多男生女生都有。如果现在自己能够做一个MP3播放器送给自己的朋友的话,是一件非常骄傲的事情。
我的这个播放器制作思路是:

下面我就按着我的这个思路讲解我是如何制作一个音乐播放器的
主控芯片
STC15W4K48S4




单片机的供电电路

外围电路IO口的接法
   



  


解码芯片
我们平时在手机、电脑上使用的音乐播放器都属于纯软件。硬件解码器的种类很多,像在市面上卖的MP3里面使用的芯片(ES9018K2M)都是专门用来制作MP3播放器的。他们的价格相对较低。接下来我要介绍VS1003B芯片(价格12元左右)。
      VS1003B支持MP3和WAV音频数据解码和ADPCM格式(WAV格式)录音。录音是可以采用麦克风或线入两种发那个是输入声音信号。VS1003拥有一个高性能、低功耗的DSP处理器核VS_DSP,5KB的指令RAM,0.5KB的数据RAM。VS1003B实物外形与引脚定义如图所示。
  










VS1003B重要引脚说明
  1电源引脚
        模拟和数字地:AGND  DGND 0.0V(共地)
       模拟正电源AVDD 2.6~3.6V(我用的是3.3V)
       数字正电源CVDD 2.4~2.7V (我用的是2.5V)
       I/O正电源IOVDD (CVDD-0.6V)~3.6V(我用的是3.3V)
2外界晶振引脚(17/18脚):12.88MHZ

3与单片机通信的引脚
XRESET:芯片复位输入控制,低电平复位
DREQ:当DREQ变低时,发送器必须停止发送新的数据,也可以说低电平表示忙,高电平表示单片机可以想VS1003B发送数据
XDCS:数据片选,低电平有效
SCKL:串行时钟输入,串行时钟也使用内部的寄存器接口主时钟。
SI:串行输入,如果片选有效,SI就在SCK的上升沿处采样
SO:串行输出,在度操作时,数据在SCK的下降沿处从此脚移出,在写操作时为高阻态。

注意:如果不实用UART,RX(26脚)必须接IOVDD,TX必须悬空。
在这个制作当中因为我没有使用VS1003B的录音功能,所以我也不会提及录音相关的引脚。对录音功能感兴趣的朋友可以自己去网上查找资料。

VS1003的供电电路


VS1003的核心电路图(因为我画的很大,就不整体展示了,我分块贴出)
   



注意:
1 图中有一个LED,它的作用是:当它在闪烁的时候表示VS1003在正常解码工作。
2 图中的C4 C5的电容100uf(电解电容)和10uf(0805贴片电容)我都试了一下,感觉效果差不多。


SD卡模块
SD卡的使用24C02的使用方法很相似,我就不多说。以下是电路图:

注意:
1 电路中有一个LED,他的作用是SD卡的插入检测
2 降压芯片AMS1117的两个滤波电容很重要,不小看他们,(没有他们可能电路会不正常工作)



红外遥控电路





注意:
1 他的作用是切换歌曲(上一首(键码0x44)或下一首(0x43))、调整音量(加(0x09)或减(0x07)音量)
2 这里有点该注意:不同的红外接受管它的VCC GND IO 的顺序是不一样的。


功放模块
功放芯片8002他的外围电路简单,音质效果好。非常适合USB供电的功放芯片。
注意:
1 图中有一个电位器,他的作用是:调节音量。



以上就是整个音乐播放器的原理图,下面我开始讲解程序中比较重要的部分


设置IO的工作模式:

注意:我曾在测试时,将IO口设置成,。程序其他地方没有更改,电路根本不能工作。我怎么检查错吴都没发现,郁闷一天差点放弃了。后来我静下心来行是因为我的IO口设置为了推挽输出,我把他设置成了准双向口模式后程序就正常工作了。

初始化串口:
串口在音乐播放功能上并没有起到什么作用,但它在调试程序中起到了很重要的作用。通过串口我可以知道程序执行的结果怎样,有没有达到我想要的结果。


初始化SD卡
1
如果SD卡初始化正常,则串口就会接收到 “SD卡初始化完毕”的字符串。

VS1003B解码


在每次切换歌曲的时候单片机都会有正弦测试,会发出“嘟”的一声。从SD卡中读取一部分数据,然后存储到缓冲区(自己设的数组buf[]),然后再传给VS1003解码模块。

红外遥控程序


  

红外我相信,大部分人都是学过的我就把主要程序贴出,不多说。

焊接实物
1 供电电路


2 主控电路

3 VS1003B解码电路


4 SD卡电路




感谢:
我在做这个电路的时候参考了李友全的《51单片机轻松入门》 和正点原子的《原子教你玩STM32

在最后祝大家能够做出一个比我更好的播放器- - !

回帖(63)

屈伟

2016-3-9 09:29:43
好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好好
举报

klsn911

2016-3-9 19:25:00
谢谢提供这么好的资料
举报

Benj

2016-3-10 10:11:43
谢谢楼主分享
举报

李子井

2016-3-10 21:52:19
引用: gh037 发表于 2016-3-10 10:11
谢谢楼主分享

希望对你们有帮助
举报

nsj21n

2016-3-11 12:54:40
资料非常好,谢谢分享!
举报

bhsfzm

2016-3-11 15:20:30
谢谢楼主分享,学习了
举报

张斌

2016-3-18 09:29:28
好好好好好好好爱好好好红啊
举报

冷然转身

2016-3-22 17:07:18
谢谢分享                                                                                                         
举报

冷然转身

2016-3-22 17:07:35
谢谢楼楼分享                                                                                                   
举报

冷然转身

2016-3-22 17:07:48
                                                                                                           
举报

475356967

2016-3-22 22:36:15
学习一下,谢谢楼主分享
举报

零乁状ヾ态__。

2016-3-24 15:31:20
~(≧▽≦)/~正想做一个
举报

爱在京东

2016-3-24 18:57:04
感谢楼主分享!
举报

袁帅

2016-4-16 18:18:57
举报

袁帅

2016-4-16 23:14:34
好高好高音乐盒
举报

啦啦啦

2016-4-28 16:47:11
感谢楼主~打算用AT89C51那个芯片做一个
举报

黄峰华

2016-4-28 16:57:27

谢谢楼主的分享,希望能够学习
举报

TYJ6107785

2016-5-27 09:53:57
支持 学习 支持 学习支持 学习
举报

TYJ6107785

2016-5-27 09:55:15
支持 学习支持 学习支持 学习支持 学习
举报

更多回帖

发帖
×
20
完善资料,
赚取积分