标题: 我的小制作单片机MP3 [打印本页]

作者: liuda    时间: 2015-1-21 17:39
标题: 我的小制作单片机MP3
最开心事的事没过于每个小小的梦想通过自己的努力都能慢慢实现……

用STC12LE5A60S2单片机驱动,DS1302时钟芯片,DS18B20温度传感器,VS1003音频解码芯片在5110显示屏上显示时间温度,闹钟,播放SD卡中MP3文件等功能。

做了4年的MP3维修一直想设计个属于自己的MP3播放器,但苦于自己所学的知识有限。一直只能把它放在心里,直到2年前一个偶然的机会接触到了单片机,一开始像所有的单片机初学者一样热情很高。买块51开发板对着网上的教程慢慢的一边学习C语言,一边学习硬件设计,就这样半来年过去了,对单片机也只是有个初步的了解。除了点流水灯别的啥都不会,网上资料很多,但大多数都是些点流水灯,驱动蜂鸣器,继电器等一些基础到不能再基础的例子,想做个大点的程序,网上的资料少的可怜,于是像大多人一样开始放弃单片机,选择了学习VB,C#等编程语言。但结果都不太理想,学了点基础知识,感觉都比想向中的难学。开始自我反思,我是个搞硬件维修的,我在纯软件编程上没有一点优势,想以后在IT行业混口饭吃必需的将以前学习的硬件知识用到软件上,于是又再次选择了单片机这条路上摸所。

在实际制中感慨挺深的,所遇到的困难也远比想像的多,在做这之前呢对这个了解并不多,根本就没去想过这东西能做好吗,能实现些什么功能之类的问题。只是想用这次制作来打发时间,就这么开始了,在网上找资料,这里抄上一点那里改一下电路 原理图完成了,打算先试着做3台很快在淘宝网上买了3套所需的电子元件,通过20多个小时PCB板画好了,在网上找了家板厂做了10块PCB板 ,板跟电子元件共用了160多块钱吧,大概4天左右PCB板做好了,开始焊接PCB板发现功放IC的元件封装跟PCB对不上只好飞线连上整个硬件到此基本上完成了。

开始写软件程序,在网上找了很多相关资料但呢都不怎么全,没办法自己对着芯片手册按照时序图对寄存器一个一个的设置,时钟芯片ds1302跟温度传感器18B20的驱动程序我之前写好的可以直接使用,音频解码vs1003在买芯片时有送参考例程稍微修改下便能听到测试音,SD卡驱动没现成的代码只好对着SD卡通讯协议一遍一遍的看,程序边写边调,在串口调试助手下察看读的内容大概3天左右SD卡驱动编写完成。到此就只差fat32文件系统没搞好了,一开始呢我是想移值FAT.FS这个现成的文件系统,在网上找了好多关与它移值的方法不知是我理解能力太差还是他们进的不够细反正就是不知道怎么移值,没办法只有自己写文件系统驱动了,找了份fat32系统详解,跟fat32文件系统原理看了好几遍 对文件系统有了个初步的了解开始在电脑上用winhex软件查看sd卡中存的数据,下步就是用C语言去实现把SD卡的数据读到单片机中,这是整个制作中最难实现的部分,写了好长一段时间但呢一点思路都没有。心烦了 工作也忙了这个制作也就把它放一边了, 刚开始呢工作不怎么忙时还调试下程序,后来干脆就把它忘了,想用单片机在fat32文件系统中找出MP3文件还真不是一般的难,不知道过了多久换了份新的工作环境,新的工作量并不是很大就是无聊的很,像关在笼子样,无聊时开始我的文件系统学习,就这样时间一天天的过去了,大约4个来月后吧,我终于能将SD卡中的根目录的指定文件名的MP3文件数据给送到VS1003解码芯片中,在这fat32数据上的读取中,我深深的体会到了指针,结构体,数组等在C语言中的重要性,听到音乐的那一刻真的好辛酸 ,不容易呀。第一步到此完成了,接着我又花了几个月的业余时间给它实现了SD卡中根目录和一层子目录音乐文件读出,长文件名实现,自动播放下一曲  ,音量加减,音调调节 ,暂停,播放,下一曲,上一曲 到此完成了音乐播放的基本功能,用了段时间后发现还有许多功能要实现的 ,后又用单片机内带的eeprom实现开机后继续上次播放的歌曲和音量大小, 用单片机内带的AD模块实现电池电量的测量,用5110做了个简单的显示屏,主要显示时间,播放到第几首歌曲 音量大小,和电池电量显示,以及 闹钟功能的实现,在设计硬件时没考虑到闹钟功能的实现,现在虽然能实现闹钟功能但功耗特别大一块2000毫安的电池基本不怎么用每天就用它做闹钟 放几分钟音乐不到半个月就要充次电,本想还给它加个字库IC和TFT彩屏再移值点简单的GUI实现图片跟TXT文档的打开功能,但51单片机的硬件资源明显不够用,要想完成普通MP3的全部功能只能在我以后学习的stm32中完成,在这漫天飘雪的莫斯科只有你是我唯一打发无聊时间的朋友……
















下篇基于STM32单片机彩屏MP3正在制作中主要完成在彩屏上移植UCGUI界面,显示歌曲名,歌词,显示内存卡中图片,闹钟,TXT文件打开等功能。


















作者: ztflove51    时间: 2015-2-9 16:21
你这都工程师级别了你还想怎么的,你想自己做核弹吗?
作者: hans1229    时间: 2015-2-11 17:41
厉害啊,顶礼膜拜之。倍加努力,要赶上您的等级。呵呵
作者: xzslxiao    时间: 2015-2-12 13:19
太厉害了
作者: zyt1404    时间: 2015-3-25 13:40
学习了,大神
作者: 幸运王子    时间: 2015-3-27 11:59
不错!
作者: 江成88    时间: 2015-3-29 22:49
果然是自学成才 大神也!十个赞!
作者: 单片菜菜机    时间: 2015-4-8 20:06
可以可以!
作者: delay    时间: 2015-4-11 09:47
厉害呀
作者: 好男人就是我    时间: 2015-4-22 22:03
好厉害~!!
作者: dpj555    时间: 2015-4-26 15:48
功放不负有心人,努力了就会成功。
作者: 戴定高    时间: 2015-5-18 09:41
看看,咱越学学
作者: sglf0201    时间: 2015-5-24 08:54
大赞一声,学习了
作者: forgetname    时间: 2015-5-27 17:12
玩不起
作者: liuguoquann    时间: 2015-6-8 16:17
太厉害了额前辈膜拜
作者: slaoliu    时间: 2015-6-22 15:58
工程挺大,这个需要很强的动手能力,楼主很强。
作者: 血一    时间: 2015-7-12 08:54
看着这东西,心里满是激动啊,自学路很漫长,很枯燥,唯一的朋友就是单片机硬件+程序。有句话说的真好,不去试试怎么知道不行呢。
作者: yq11999    时间: 2015-7-30 21:34
我也是学到现在就觉得学不进去了!!我也是做硬件的,感觉软件英文不好!!学了好久都学不进去了!!都 要放弃自已了!!哎,最后还是想要坚持一下吧!!

作者: ludaijin    时间: 2015-9-7 14:16
楼主的功放太霸气了
作者: Martin009    时间: 2015-9-22 11:29
功放不负有心人,努力了就会成功。
作者: huangpan    时间: 2015-9-25 07:21
hans1229 发表于 2015-2-11 17:41
厉害啊,顶礼膜拜之。倍加努力,要赶上您的等级。呵呵

很好的,我很喜欢
作者: 天山雪莲    时间: 2015-10-5 23:01
本帖最后由 天山雪莲 于 2015-10-5 23:02 编辑

楼主的恒心真是非常了得,自愧不如!
作者: 1qaz2wsx77    时间: 2015-10-15 21:07
兄弟,这个比买一个成本还高吧?

作者: stewart_leung    时间: 2015-10-31 23:29
屌喔.
........................
作者: 腾飞的龙    时间: 2015-11-3 12:02
太佩服你的执着的敬业精神了,值得学习和尊敬!
作者: ztx    时间: 2015-11-9 21:14

大赞一声,学习了
作者: mcs51hello    时间: 2015-11-18 16:16
真是大牛呀,你应该开公司了!
作者: 659930918    时间: 2015-11-19 23:57
厉害,自学能力太强了
作者: 15yli11    时间: 2016-8-11 16:47
我也想做
作者: 吾本风雅    时间: 2016-8-11 20:28
希望自己也能做出来
作者: andongni    时间: 2016-9-25 12:13
大神啊
作者: dxianping    时间: 2016-9-30 14:07
楼主可以给个单片机和vs1003之间的连线图么?
作者: xl2297607569    时间: 2016-10-3 16:03
膜拜,学习
作者: 1025263254    时间: 2016-10-16 19:54
你好,我最近也在做语音播放模块。有关于串口通信的几个问题请教一下
作者: npn    时间: 2016-10-16 20:40
再设计上个外壳组装好并且经过各项检测,就能出厂上架了。
作者: 铁峰66666    时间: 2016-10-18 17:56
值得大家学习,大神级人物!
作者: 嘿小毅    时间: 2016-11-12 18:29
想要一份资料,1010953292@qq.com  谢谢
作者: chunzz    时间: 2017-4-2 00:28
太强了
作者: nnq    时间: 2017-4-16 17:13
自己DRY,很HAPPY
作者: 51jia    时间: 2017-4-17 00:37
我的情况与你差不多,也在学单片机,快半年了,英文太差,进度很慢,,,,看你都成功了,想想还是坚持下去吧。
作者: hifiu    时间: 2017-4-17 08:58
电源部分的电路图能发个大图看看吗?谢谢
作者: dpj121    时间: 2017-5-8 13:38
厉害了

作者: 朱小文    时间: 2017-8-23 21:25
老哥稳  6666

作者: dongfang08    时间: 2017-10-16 15:32
楼主的恒心真是非常了得
作者: 510546954    时间: 2017-10-19 18:07
坚持就是胜利
作者: 924    时间: 2017-10-20 08:42
不错,可以
作者: 活到老。学到老    时间: 2017-10-23 03:17
太厉害了??51黑有你更精彩
作者: bbsbbc    时间: 2018-3-8 10:52
贵在坚持!厉害厉害。
作者: a422714088    时间: 2018-3-9 10:06
加油 楼主厉害
作者: GUOXUAN    时间: 2018-3-22 20:26
心若向阳,无畏风雨.51HEI有你更精彩!
作者: 阿赛迩    时间: 2018-10-2 19:54
??什么都没有
作者: andyliang    时间: 2018-10-3 22:04
强大,可以把程序分享下吗——
作者: shwghsy    时间: 2019-7-11 15:54
这个帖子虽然久了,但楼主的精神依旧还在!面对困难不能放弃,这是成功的关键,高手都是在失败中提炼出来的,没有暴风雨,那来的彩虹!希望楼主分享一下附件,我们也学习学习。
作者: 麻辣鲜香    时间: 2019-7-12 15:51
有点顶哦 自作mp3
作者: qiuabc    时间: 2020-11-20 09:38
forgetname 发表于 2015-5-27 17:12
玩不起

可以玩玩的,我自己做时钟温度计,电压表,红外解码,用了好久做出来了。磁悬浮搞不出来。我觉得花时间搞mp3也挺好的,我只是技校毕业
作者: fqc168    时间: 2020-12-9 08:33
这个真的需要很大的耐心才行,,当初我也学过这些,但是后来就放弃了,,,,主要还是没有很大用处,工作当中根本用不到,,文件系统这一块,确实很难,最好就是参考别人移植好的例子修改,比如开发板之类的,肯定有对应例程,否则真的太费时间,STM32这块我也是断断续续的学习,用到的时候边学边用
作者: 3253087609ydrq    时间: 2021-3-7 23:21
发个电路图和程序吧
作者: 一个玻璃球    时间: 2021-3-10 19:04
厉害,学习一下,我也想玩单片机和硬件
作者: 一个玻璃球    时间: 2021-3-10 19:05
楼主,可以求一份原理图吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1