DIY大神 自己制作单片机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文件打开等功能。
玩转单片机,必会的50个电路
单片机
电源
声音模块
收音机
485
蓝牙
光耦
can
光敏电阻
单片机
矩阵
单片机电路
时钟
ADC
接口电路
红外发射
显示模块
红外接收
蜂鸣器驱动
流水灯
usb供电
烧录电路
数码管
EEPROM
LCD1602电路
数码管
max485
红外开关
译码器
移位寄存器
步进电机控制
复位电路
下载电路
电源模块
温度模块
红外
热敏电阻
交通灯
时钟
555
彩屏
矩阵
按键
单片机
硬件笔记本,一起学习电路设计、PCB设计、仿真、调试以及EMC知识更多干货文章请点击关注:
搞懂元器件,就搞懂了电路的一半
一起学习吧:
硬件笔记本|加群
声明:本号对所有原创、转载文章的陈述与观点均保持中立,推送文章仅供读者学习和交流。文章、图片等版权归原作者享有,如有侵权,联系删除。
相关问答
单片机 在医学方面的应用有哪些?单片机在当前的医疗器械领域广泛运用,常见的血压,血氧,血糖,体温计,额温枪,耳温枪,雾化器,生化采集系统设备,红外照射仪等等都运用了8位,16位,或者一...单片机在...
stm 单片机 怎样?很高端,其配套的外围器件也比普通单片机高档,如显示是彩屏,SD卡就用SD方式,摄像头对51来说,几乎不可能,定义大量浮点型变量和许多双精度变量的结构体也不担...
老师们 谁能告诉我!!性价比高的铲车 彩屏 秤厂家,铲车 彩屏 秤...[回答]51单片机可以控制320*240彩屏显示,但是不能驱动,320*240彩屏有自己的驱动电路和专用芯片。你想设置什么呢?设置分度值,还是最高承重量?这些都是...
STM32精英版和战舰版有什么区别?您好,stm32芯片本身是没有精英版和战舰版,只有很多stm32开发版开发商,为了区别各个开发版配置版本,按照精英版和战舰版进行区分,比如正点原子的stm32的这两...
能告诉我,关于激光镭雕机?,UV激光镭雕机操作复杂吗??[回答]现脑海的便是CO2激光打标机。1、CO2激光器性能稳定,寿命长,构架简单,易维护和保养;2、CO2激光打标机是一种气体激光器...1、CO2激光器性能稳定,寿...
森林面积测量仪什么最好亩数测量仪-ZOL问答高清彩屏,智能操作系统,不需要一键一个功能,百度地图到处,打印测量图形,真正车...同样是高级语言为什么C语言可以编写51单片机程序,JAVA却不能编写?1868浏览6...
什么是智能照明控制系统,有什么功能比较复杂的智能照明就是弱电系统了,除了前端的只能面板还有中央控制和单片机以...彩屏面板、智能照明地址:浙江省乐清市柳市镇东岸工业区以上公司都不错,产品质...