搜索
bottom↓
回复: 228

STM32--自己做的MP3,支持USB2.0!首部作品,不好请拍砖!

[复制链接]

出0入0汤圆

发表于 2011-2-23 23:35:01 | 显示全部楼层 |阅读模式
这是我用STM32做的第一部作品,之前在AVR-MEGA128调试了部分功能,后来移植到了STM32F103ZET6上。
时间2009年,那时是大三上学期,由于要忙着考研,就匆匆结束了这个设计。有很多地方都不完善的,不管
软件还是硬件。我也不打算再更新这个东西的软件了,就当做毕业设计吧。基本功能是音乐播放,图片浏览和
电子书,喜欢的就拿去看咯。高手请拍砖!

    说说这个东西,文件系统支持FAT16和FAT32,参考了正点原子大哥的东西。SD卡是SPI模式的。文件系统
方面,那个时候看了一个寒假的FAT理论,看多了自然就懂了,刚开始看是很晦涩的。懂了原理以后就用FATFS吧,
我现在就在用,很好用~

    界面是我自己写,比较简洁的显示,GUI也是自己写的,比较简单的,现在看看要是用uCGUI那有多好。
    程序纯裸跑的,状态机思路。没有上系统。

列个单子说明功能吧:
1.音乐播放,频谱显示,支持mp3,wma格式
2.图片浏览,支持bmp,jpg格式
3.电子书,只支持txt
4.USB2.0,STM32自带的控制器,目前没开双缓冲,速度不是很快~插上电脑就能当读卡器用

特别注明:这个工程是MDK环境下的,由于使用的STM32固件库版本较低,编译会出问题
          请把工程中的\MP3_by_ZSY\lib\stm32f10x_it.h文件覆盖到你的MDK的安装目录下
          具体路径为:\Program Files\UV3keil\ARM\INC\ST\STM32F10x,这样方能编译通过

不说太多,上图上程序!

主界面 (原文件名:1.JPG)


音乐播放时的文件选择页面 (原文件名:2.JPG)


音乐播放界面 (原文件名:3.JPG)


电子书时的文件选择页面 (原文件名:4.JPG)


电子书显示 (原文件名:5.JPG)


图片浏览时的文件选择页面 (原文件名:6.JPG)


显示图片 (原文件名:7.JPG)


显示图片 (原文件名:8.JPG)


插上USB数据线时的界面 (原文件名:9.jpg)


MP3整体照 (原文件名:10.JPG)

程序,MDK3.70ourdev_618101V6TRP9.zip(文件大小:4.76M) (原文件名:MP3_by_ZSY.zip)
SD卡中的文件(图标字库等等)ourdev_618102TX4IHL.zip(文件大小:5.34M) (原文件名:SD.zip)

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2011-2-23 23:45:10 | 显示全部楼层
哈哈,我的沙发啊,做的很好,支持支持~!!!

出0入0汤圆

发表于 2011-2-23 23:50:03 | 显示全部楼层
支持一下!

出0入0汤圆

 楼主| 发表于 2011-2-23 23:52:24 | 显示全部楼层
这是我的STM32的第一个作品,同时也是在网络上发的第一张帖,so..也是在ouravr上的第一张帖,自己顶起来!

出0入0汤圆

发表于 2011-2-24 08:24:45 | 显示全部楼层
很好啊呵呵,不知道板子是谁的,有原理图就好了可以参考

出0入0汤圆

发表于 2011-2-24 08:28:13 | 显示全部楼层
人才,还是呆在学校别出来了,不然我没有饭吃了

出0入18汤圆

发表于 2011-2-24 08:28:42 | 显示全部楼层
楼主很有前途呀

出0入0汤圆

发表于 2011-2-24 08:35:59 | 显示全部楼层
特别注明:这个工程是MDK环境下的,由于使用的STM32固件库版本较低,编译会出问题
          请把工程中的\MP3_by_ZSY\lib\stm32f10x_it.h文件覆盖到你的MDK的安装目录下
          具体路径为:\Program Files\UV3keil\ARM\INC\ST\STM32F10x,这样方能编译通过
不用这么麻烦的操作,简单的在MDK里把stm32f10x_it.h包含已下就可以了。

如果像楼主这样操作,将会影响到更新到新版本库的。。

出0入0汤圆

发表于 2011-2-24 08:37:19 | 显示全部楼层
很好的东西,,,

出0入0汤圆

发表于 2011-2-24 08:38:43 | 显示全部楼层
楼主很牛,界面效果不错,顶

出0入0汤圆

发表于 2011-2-24 08:42:53 | 显示全部楼层
路过一把

出0入0汤圆

发表于 2011-2-24 08:44:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-24 08:47:06 | 显示全部楼层
不错,不错

出0入0汤圆

发表于 2011-2-24 08:54:13 | 显示全部楼层
Share 原理图吧?

出0入0汤圆

发表于 2011-2-24 09:11:35 | 显示全部楼层
向楼主学习!

出0入21汤圆

发表于 2011-2-24 09:13:11 | 显示全部楼层
支持!

出0入0汤圆

发表于 2011-2-24 09:14:24 | 显示全部楼层
不错 顶楼主

出0入0汤圆

发表于 2011-2-24 09:27:23 | 显示全部楼层
楼主可否讲一下文件的用法

(原文件名:we.JPG)

出0入0汤圆

发表于 2011-2-24 10:16:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-24 10:22:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-24 11:02:58 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-2-24 11:07:20 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-2-24 11:15:58 | 显示全部楼层
真不错!

出0入0汤圆

发表于 2011-2-24 11:17:41 | 显示全部楼层
界面设计得好漂亮!

出0入12汤圆

发表于 2011-2-24 11:19:25 | 显示全部楼层
原理图呢???

出0入0汤圆

发表于 2011-2-24 11:23:26 | 显示全部楼层
请问这板子哪买的,难道是正点的?

出0入0汤圆

发表于 2011-2-24 11:37:56 | 显示全部楼层
LZ::
  SD.zip文件已损坏,请重上传,
  谢谢!

出0入0汤圆

发表于 2011-2-24 11:40:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-24 11:53:45 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-2-24 12:05:31 | 显示全部楼层
回复【4楼】tiedanbb
-----------------------------------------------------------------------

板子是我自己丢给PCB厂子做出来的,原理图过后发哈~

出0入0汤圆

 楼主| 发表于 2011-2-24 12:09:36 | 显示全部楼层
回复【7楼】_yuming
-----------------------------------------------------------------------

这一点我也清楚,由于是第一次用STM32做东西,当时没考虑周全~凑合着看看罗~
我现在在做新的玩意~至于这个嘛,已经没时间打理啦~

出0入0汤圆

发表于 2011-2-24 12:11:32 | 显示全部楼层
mark@!~

出0入0汤圆

 楼主| 发表于 2011-2-24 12:13:42 | 显示全部楼层
这是MP3的原理图,不好意思大家久等了!板子是自己画的!ourdev_618172ZDOWM2.pdf(文件大小:667K) (原文件名:STM32-MP3.pdf)

出0入0汤圆

 楼主| 发表于 2011-2-24 12:14:32 | 显示全部楼层
回复【25楼】rigol_fan 西门吹雪
-----------------------------------------------------------------------

板子自己画的,原理图在32楼,已经上传~~

出0入0汤圆

发表于 2011-2-24 12:17:03 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-24 12:18:40 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-2-24 12:22:17 | 显示全部楼层
回复【12楼】lianghong
-----------------------------------------------------------------------

原理图已经发,在32楼

出0入0汤圆

发表于 2011-2-24 12:25:37 | 显示全部楼层
回复【30楼】zsy2020314 寒心雪林
回复【7楼】_yuming  
-----------------------------------------------------------------------
这一点我也清楚,由于是第一次用stm32做东西,当时没考虑周全~凑合着看看罗~
我现在在做新的玩意~至于这个嘛,已经没时间打理啦~
-----------------------------------------------------------------------

呵呵呵,,这个明白,我想知道那几个文件是怎么用的。。

出0入0汤圆

 楼主| 发表于 2011-2-24 12:26:05 | 显示全部楼层
回复【26楼】eddia2000
-----------------------------------------------------------------------

有仁兄说SD卡文件损坏,现在重新上传ourdev_618175CDKUQG.zip(文件大小:5.55M) (原文件名:SD卡文件.zip)

出0入0汤圆

 楼主| 发表于 2011-2-24 12:34:33 | 显示全部楼层
引用图片【17楼】_yuming
-----------------------------------------------------------------------

(原文件名:we.JPG)
其实,sys格式是我人为强制改文件格式后缀的,并无sys格式的含义。作为系统调用的文件,索性就把它们弄成
这个格式了。
st16.sys,st12.sys 这两个是字库文件,实际上是.c文件,其实也可以是.txt文件,用记事本即可打开看其内容。
uni2gbk.sys 这个是unicode码转GBK码的文件,同样的,实际上是.c文件,其实也可以是.txt文件,用记事本即可打开看其内容。
gbk2uni.sys 这个是GBK码转unicode码的文件,同样的,实际上是.c文件,其实也可以是.txt文件,用记事本即可打开看其内容。

剩下的文件均为图标文件,原格式为.bin格式
music.sys 为音乐播放器图标,主界面上有显示
picture.sys 为音乐播放器图标,主界面上有显示
txt.sys 为音乐播放器图标,主界面上有显示
radio.sys 为音乐播放器图标,主界面上有显示
system.sys 为音乐播放器图标,主界面上有显示

出0入0汤圆

 楼主| 发表于 2011-2-24 12:37:04 | 显示全部楼层
不好意思,点错鼠标,点了提交,都还没编辑完呢。。
剩下的文件均为图标文件,原格式为.bin格式
music.sys 为音乐播放器图标,主界面上有显示
picture.sys 为图片浏览器器图标,主界面上有显示
txt.sys 为电子书图标,主界面上有显示
game.sys 为电子书图标,主界面上有显示(软件上尚无实现)
radio.sys 为收音机图标,主界面上有显示 (软件上尚无实现)
system.sys 为系统设置图标,主界面上有显示(软件上尚无实现)
usb.sys    为连接电脑室显示的USB图标

出0入0汤圆

 楼主| 发表于 2011-2-24 12:41:08 | 显示全部楼层
回复【37楼】_yuming
-----------------------------------------------------------------------

其实用法就是,系统初始化后,搜索出SYS文件夹下的这些sys文件(图标和字库),然后记录
下其地址,供界面调用绘图~

出0入0汤圆

发表于 2011-2-24 15:20:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-24 15:29:13 | 显示全部楼层
支持下,比我的学生时代强多了

出0入0汤圆

发表于 2011-2-24 15:31:04 | 显示全部楼层
mark~

出0入0汤圆

发表于 2011-2-24 15:36:01 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-2-24 15:49:00 | 显示全部楼层
回复【41楼】zsy2020314 寒心雪林
回复【37楼】_yuming  
-----------------------------------------------------------------------
其实用法就是,系统初始化后,搜索出sys文件夹下的这些sys文件(图标和字库),然后记录
下其地址,供界面调用绘图~
-----------------------------------------------------------------------

谢谢!!

出0入0汤圆

发表于 2011-2-24 15:52:41 | 显示全部楼层
佩服。

出0入0汤圆

发表于 2011-2-24 16:03:55 | 显示全部楼层
MARK

出0入8汤圆

发表于 2011-2-24 16:19:49 | 显示全部楼层
楼主牛!!先收藏下

出0入0汤圆

发表于 2011-2-24 16:23:00 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-2-24 19:24:09 | 显示全部楼层
我想请教一下大家

在显示txt文件的时候

如果“下一页”的话,在当前读写指针位置顺序读取显示就成了

那么“前一页”要怎么办呢?一个字节一个字节的向前调整指针位置判断是汉字还是英文再显示?

再比如我手机上的电子书阅读功能,可以自己选择前翻后翻多少页
但是我手机第一次打开TXT文件的时候特别慢,我猜测难道是扫描了TXT一遍然后记录了所有页的指针位置?

大家指导一下,有什么比较好的思路吗?

出0入0汤圆

发表于 2011-2-24 19:29:52 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-2-24 21:38:25 | 显示全部楼层
回复【51楼】lostgb
-----------------------------------------------------------------------

那个时候由于时间问题,我也没能实现向上翻阅,的确是有些复杂的。
你可以参考一下网站上那位做STM32  PDA的仁兄的代码,他好像有实现。
但是如果你用FatFs的话这个问题就会简单多了,个人想法是利用f_lseek()函数
来实现对文件数据指针移动。具体可参考FatFs的说明文档,官方和论坛都有~

出0入0汤圆

发表于 2011-2-24 22:19:56 | 显示全部楼层
mark,支持

出0入0汤圆

发表于 2011-2-25 15:27:58 | 显示全部楼层
学习了,不错

出0入0汤圆

发表于 2011-2-25 15:47:40 | 显示全部楼层
牛~~~~

出0入0汤圆

发表于 2011-2-25 16:06:42 | 显示全部楼层
支持一下

出0入0汤圆

发表于 2011-2-25 18:23:11 | 显示全部楼层
顶一下

出0入0汤圆

发表于 2011-2-25 18:27:03 | 显示全部楼层
学习~

出0入0汤圆

发表于 2011-2-25 19:22:29 | 显示全部楼层
犀利啊,佩服!!!

出0入0汤圆

发表于 2011-2-25 19:30:25 | 显示全部楼层
没有STM的开发板 羡慕中

出0入0汤圆

发表于 2011-2-26 19:17:21 | 显示全部楼层
回复【6楼】dengxiaofeng 天下的人
-------------------------------------------------------------------
我是菜鸟  “包含一下”想问问 具体怎么做呢?

出0入0汤圆

发表于 2011-2-27 10:15:20 | 显示全部楼层
顶起
向楼主学习
我大二了  要加把劲啊……

出0入0汤圆

发表于 2011-2-27 10:19:16 | 显示全部楼层
挺不错的

出0入0汤圆

发表于 2011-3-1 12:39:55 | 显示全部楼层
make

出0入0汤圆

发表于 2011-3-1 13:40:52 | 显示全部楼层
楼主很牛的。

出0入0汤圆

发表于 2011-3-1 17:28:06 | 显示全部楼层
顶起来

出0入0汤圆

发表于 2011-3-2 21:01:04 | 显示全部楼层
太有才了……

出0入0汤圆

发表于 2011-3-2 23:05:11 | 显示全部楼层
mark 学习好资料

出0入0汤圆

发表于 2011-3-3 10:51:36 | 显示全部楼层
哇!楼主很好很强大啊!

出0入0汤圆

发表于 2011-3-3 13:10:20 | 显示全部楼层
强!

出0入0汤圆

发表于 2011-3-3 14:27:09 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-15 10:21:08 | 显示全部楼层
不错,mark

出0入0汤圆

发表于 2011-4-15 10:27:12 | 显示全部楼层
怎么下载不了?怎么回事?

出0入0汤圆

发表于 2011-4-15 11:07:02 | 显示全部楼层
好东西,谢谢分享

出0入0汤圆

发表于 2011-4-15 12:08:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-15 12:13:06 | 显示全部楼层
好东西,谢谢分享

出0入0汤圆

发表于 2011-4-15 13:28:43 | 显示全部楼层
不错。

出0入0汤圆

发表于 2011-4-15 13:46:35 | 显示全部楼层
回复【楼主位】zsy2020314 寒心雪林
-----------------------------------------------------------------------

我正在学,哈

出0入0汤圆

发表于 2011-4-15 13:52:12 | 显示全部楼层
有钱途加油中国是少人才。

出0入0汤圆

发表于 2011-4-15 14:38:43 | 显示全部楼层
顶一下好作品。

出0入0汤圆

发表于 2011-4-15 14:46:22 | 显示全部楼层
很不错啊,大三的时候,我只会用51做了一点小东西,毕业找工作还到处带着面试,现在看来,简直太丑啦,呵呵
楼主刚毕业就这样,很不错啦
考研结果如何?好好搞点理论方面的东西,厚积薄发

出0入0汤圆

发表于 2011-4-15 19:02:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-15 19:13:28 | 显示全部楼层
好强大

出0入0汤圆

发表于 2011-4-15 20:46:08 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-15 20:58:06 | 显示全部楼层
很牛

出0入0汤圆

发表于 2011-4-15 21:23:21 | 显示全部楼层
MARK!

出0入0汤圆

发表于 2011-4-15 21:44:10 | 显示全部楼层
MARK!

出0入0汤圆

发表于 2011-4-15 22:50:29 | 显示全部楼层
非常不错,顶~~~~

出0入0汤圆

发表于 2011-4-16 23:32:34 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-17 00:39:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-4-17 15:32:27 | 显示全部楼层
好猛啊~~~~~~~~~mark,mark

出0入0汤圆

发表于 2011-4-17 20:43:41 | 显示全部楼层
回复【50楼】liurangzhou
-----------------------------------------------------------------------

回复【楼主位】zsy2020314 寒心雪林
-----------------------------------------------------------------------

厉害

出0入0汤圆

发表于 2011-4-25 16:32:04 | 显示全部楼层
学习了..

出0入0汤圆

发表于 2011-4-26 10:57:19 | 显示全部楼层
mark  楼主人才~

出0入0汤圆

发表于 2011-4-26 14:58:35 | 显示全部楼层
NARK

出0入0汤圆

发表于 2011-4-26 14:59:00 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-4-27 21:05:58 | 显示全部楼层
现在已经软解MP3了.

出0入0汤圆

发表于 2011-4-27 21:06:11 | 显示全部楼层
现在已经软解MP3了.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-18 16:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表