搜索
bottom↓
回复: 119

MP3制做成功,仿手机操作菜单,附源代码

[复制链接]

出0入0汤圆

发表于 2008-3-3 21:05:32 | 显示全部楼层 |阅读模式
  放假前买了zl0801的一块MP3板,于是利用假期把原来的程序更新了一下,有很多地方都是参考Bozai和zl0801的程序。现公布源码,有此板的朋友们可以参考一下。
  主要加入的功能就是菜单显示,是看到手机上的显示方式来的灵感。本人比较喜欢玩吉他,于是加入了几个平时玩吉他要用的小工具。

  目前只实现了,音乐播放,吉他调音器,音乐文件浏览等功能,其它的功能正在开发中,只支持FAT32文件格式。现有的程序中还有很多bug,放歌时有时会死机(不过现在很少出现了),显示汉字时有些字显示不完全,可能是字库文件跨簇引起的。
    在这里要感谢Bozai和zl0801,若不是他们的程序,我不可能在这么短时间内弄懂FAT。
   源代码:
点击此处下载ourdev_223655.rar(文件大小:921K)




原理图和PCB:
点击此处下载ourdev_224515.rar(文件大小:228K)
在这也可以下到,这是zl0801的贴 http://www.ouravr.com/bbs/bbs_content.jsp?bbs_sn=855912&bbs_page_no=1&bbs_id=1000
另附液晶取模软件:(今天网速太慢了,传了半天也传不上去,下次再补上)

本菜单的实现占了很多RAM,因为我在RAM里建了一个菜单结构数组,大家从代码里可以看到。原先是打算在ROM里做一个双向的环形链表,后来发现实现不了,请看如下代码
struct OPTION {
        unsigned char index;
        PGM_P string;    //选项名字
        PGM_VOID_P nomIco;    //没有选中时的图标
        PGM_VOID_P sltIco;    //选中时的图标
        struct OPTION *lastOpt;  //上一个选项
        struct OPTION *nextOpt;   //下一个选项
};
typedef struct OPTION OPTION;
//这是声明的第一个选项,
OPTION optPlay PROGMEM ={
   1,
   ("播放音乐"),  //可能不能这样写,但编译可以通过
   ico1,
   ico2,
   optSetup,  //设置  //在这里就出现了问题,因为optSetup在前面没有声明,但不能把optSetup放在前面声明,原因请看下面
   optTone,  //调音   //optTone也没有声明
};
//这是声明的最后一个选项,
OPTION optSetup PROGMEM ={
   8,
   ("系统设置"),  
   ico3,
   ico4,
   optFileView,  //上一个选项,在前面已声明
   optPlay,  //下一个选项,将回到第一个选项,播放音乐的选项,前面已声明,如果把optSetup放在optPlay的前面声明,那这里又
};            //会出现没有声明

我想过,其实用汇编很好实现,指向结构的指针无非就是存放另一个结构在ROM中的起始地址,完全可以在ROM中做这样一个环形链表,但
用汇编写菜单的话工量太大了。
本人学AVR的时间不是很长,对GCC中PGM_P,和PGM_VOID_P的区别不是很懂,希望哪位朋友能指点一下

贴几张图片
  1
2
3
4
5

出0入0汤圆

发表于 2008-3-3 21:11:59 | 显示全部楼层
.

出0入0汤圆

发表于 2008-3-3 21:22:12 | 显示全部楼层
楼主外壳是什么做的  图上看不清

出0入22汤圆

发表于 2008-3-3 22:57:03 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2008-3-3 23:57:21 | 显示全部楼层
不错,牛!

出0入0汤圆

发表于 2008-3-4 08:02:09 | 显示全部楼层
顶,壳子好象是阿莫这边的USB下载线外売。

出0入0汤圆

发表于 2008-3-4 08:52:17 | 显示全部楼层
壳子是zl买来自己加工的

出0入0汤圆

发表于 2008-3-4 09:21:13 | 显示全部楼层
不错,

出0入0汤圆

发表于 2008-3-4 09:41:53 | 显示全部楼层
我感觉楼主的做的只是对源码上的修改,电路还是zl0801的PCB板。我个人认为电路应该是没有变化的,就是zl0801做的PCB的原理图。当然对于一直没有关注的新手来说,没有电路图也是比较困难的。个人意见,在参看现在 的代码的同时,最好有原理图。这样不仅可以学到楼主的菜单的写法也可以做个自己的MP3。

出0入0汤圆

 楼主| 发表于 2008-3-5 10:03:24 | 显示全部楼层
壳子是在电子市场买回来自已加工的,因为电路不是画的,所以上次没有传上来,这次补上

出0入46汤圆

发表于 2008-3-5 12:33:06 | 显示全部楼层
记下

出0入0汤圆

发表于 2008-3-9 13:24:01 | 显示全部楼层
比较强的

出0入0汤圆

发表于 2008-4-15 21:22:23 | 显示全部楼层
记号

出0入0汤圆

发表于 2008-4-17 10:13:24 | 显示全部楼层
路过,留个脚印
头像被屏蔽

出0入0汤圆

发表于 2008-4-17 10:57:51 | 显示全部楼层
谢谢。cool !

出0入0汤圆

发表于 2008-4-17 11:16:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2008-4-17 11:17:05 | 显示全部楼层
又一个牛人

出0入0汤圆

发表于 2008-4-21 09:54:59 | 显示全部楼层
流个记号

出0入0汤圆

发表于 2008-4-21 13:09:08 | 显示全部楼层
很好很强大

出0入0汤圆

发表于 2008-4-21 13:13:01 | 显示全部楼层
不错

出0入0汤圆

发表于 2008-5-12 23:42:29 | 显示全部楼层
其实结构体也可以当作数组访问 并且可以当二维数组访问 只要计算除长度就可以了

出0入0汤圆

发表于 2008-5-17 17:33:48 | 显示全部楼层
留个记号,不明白中文是怎么显示出来的?

出0入0汤圆

发表于 2008-5-18 15:48:39 | 显示全部楼层

出0入0汤圆

发表于 2008-11-25 09:48:43 | 显示全部楼层
学习了

出0入0汤圆

发表于 2009-1-9 10:39:05 | 显示全部楼层
厉害,标记了

出0入0汤圆

发表于 2009-1-15 19:00:36 | 显示全部楼层
学习中~~~~~~~~

出0入0汤圆

发表于 2009-7-14 17:53:32 | 显示全部楼层
不错

出0入0汤圆

发表于 2009-7-17 13:55:39 | 显示全部楼层
顶一顶

出0入0汤圆

发表于 2009-7-24 00:02:22 | 显示全部楼层

出0入0汤圆

发表于 2009-7-25 18:17:05 | 显示全部楼层
顶一下

出0入0汤圆

发表于 2009-8-19 08:54:24 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-8-19 09:17:33 | 显示全部楼层
是先买外壳再做板子的吧?

出0入0汤圆

发表于 2009-8-21 09:33:02 | 显示全部楼层
记号一下

出0入0汤圆

发表于 2009-9-12 16:51:53 | 显示全部楼层
cool!

出0入0汤圆

发表于 2009-9-13 09:44:38 | 显示全部楼层
厉害,牛人,

出0入0汤圆

发表于 2009-9-13 12:00:16 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2009-9-13 18:36:39 | 显示全部楼层
学习

出0入0汤圆

发表于 2009-9-13 18:45:01 | 显示全部楼层
记号

出0入0汤圆

发表于 2009-9-13 18:49:25 | 显示全部楼层
Mark

出0入0汤圆

发表于 2009-9-13 18:58:05 | 显示全部楼层
顶了!

出0入0汤圆

发表于 2009-9-18 21:13:26 | 显示全部楼层
cool~~~~~~~~

出0入0汤圆

发表于 2009-9-21 16:27:47 | 显示全部楼层
强大!

出0入0汤圆

发表于 2009-9-21 18:42:17 | 显示全部楼层
cool !

出0入0汤圆

发表于 2009-10-4 21:50:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-10-4 22:49:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2009-11-7 12:38:33 | 显示全部楼层
多谢分享,楼主牛人

出0入0汤圆

发表于 2009-11-7 12:54:04 | 显示全部楼层
mark!

出0入0汤圆

发表于 2009-12-14 13:17:25 | 显示全部楼层
学习了!

出0入0汤圆

发表于 2009-12-14 13:51:04 | 显示全部楼层
学习了!

出0入0汤圆

发表于 2009-12-29 12:05:26 | 显示全部楼层
记号 学习

出0入0汤圆

发表于 2009-12-30 19:29:02 | 显示全部楼层
关注

出0入0汤圆

发表于 2009-12-30 20:31:38 | 显示全部楼层
不错,很牛

出0入0汤圆

发表于 2009-12-31 11:02:57 | 显示全部楼层
很强劲!佩服!

出0入0汤圆

发表于 2010-1-8 10:12:58 | 显示全部楼层
很好

出0入0汤圆

发表于 2010-1-8 14:01:40 | 显示全部楼层
cool

出0入0汤圆

发表于 2010-1-8 15:19:04 | 显示全部楼层
正在做一个类似的东西,记录一下

出0入0汤圆

发表于 2010-1-8 20:03:48 | 显示全部楼层
这个不顶不行

出0入0汤圆

发表于 2010-1-23 18:04:16 | 显示全部楼层
我也想做MP3

出0入0汤圆

发表于 2010-3-17 14:23:15 | 显示全部楼层
学习中

出0入0汤圆

发表于 2010-3-17 15:10:31 | 显示全部楼层
mark,顶起来

出0入0汤圆

发表于 2010-3-17 17:54:46 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2010-4-6 16:24:31 | 显示全部楼层
回复【楼主位】thinkok
----------------------------------------------------------------------
MARK!

出0入0汤圆

发表于 2010-4-24 00:43:08 | 显示全部楼层
超喜欢菜单。。。。

出0入0汤圆

发表于 2010-6-28 12:17:39 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-22 21:41:26 | 显示全部楼层
顶!!!

出0入0汤圆

发表于 2010-8-12 15:55:43 | 显示全部楼层
楼主很强大,MP3 so beautiful!

出0入0汤圆

发表于 2010-9-13 07:28:01 | 显示全部楼层
楼主很强大,MP3 so beautiful!

出0入0汤圆

发表于 2010-10-26 16:11:47 | 显示全部楼层
楼主以及各位高手:
    我一直在琢磨菜单结构,看大家用的大都是结构体,里面把数据和处理数据的函数放在一个结构体里面,我百看也不能理解是怎么实现的? 这个好像是面向对象的程序设计了吧!? 可是我没有学过C++, 对面向对象的程序设计方法不理解? 楼主以及各位高手能不能详细的指导指导我一下啊!?不胜感激!!!!!!!!!!!

出0入0汤圆

发表于 2010-10-29 17:08:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-11-3 22:48:04 | 显示全部楼层
嘿嘿  厉害

出0入0汤圆

发表于 2010-11-5 15:09:24 | 显示全部楼层
我想做一个能实现上下移动又能左右移动 还能翻页 也能返回的菜单 大家有什么好的主意么?请说说!不胜感激!

出0入0汤圆

发表于 2010-11-5 16:54:06 | 显示全部楼层
不错~~~

出0入0汤圆

发表于 2010-12-20 12:21:57 | 显示全部楼层
不错~~~

出0入0汤圆

发表于 2010-12-20 12:51:00 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-12-20 13:42:39 | 显示全部楼层
mark!~

出0入0汤圆

发表于 2010-12-20 13:49:08 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-12-21 18:05:22 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-12-21 19:21:01 | 显示全部楼层
不错。顶

出0入0汤圆

发表于 2010-12-23 09:11:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-3 16:28:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-3 16:36:48 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-4 19:01:17 | 显示全部楼层
菜单 马克

出0入0汤圆

发表于 2011-3-6 21:04:51 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-6 21:33:24 | 显示全部楼层

出0入0汤圆

发表于 2011-3-6 22:09:01 | 显示全部楼层
有空研究一下

出0入0汤圆

发表于 2011-3-20 18:29:01 | 显示全部楼层
顶一下。,

出0入0汤圆

发表于 2011-5-16 23:50:53 | 显示全部楼层
mark学习了!!!!

出0入0汤圆

发表于 2011-7-22 14:08:41 | 显示全部楼层
mark !!

出0入0汤圆

发表于 2011-7-22 21:18:54 | 显示全部楼层
强大

出0入0汤圆

发表于 2011-8-24 23:31:21 | 显示全部楼层
我擦叻~牛逼哄哄啊~~~

出0入0汤圆

发表于 2011-8-25 00:21:42 | 显示全部楼层
不错

出0入0汤圆

发表于 2011-8-25 07:41:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-25 07:51:17 | 显示全部楼层
记号一下

出0入0汤圆

发表于 2011-8-25 08:30:38 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-25 08:42:39 | 显示全部楼层
牛人

出0入0汤圆

发表于 2011-8-25 10:51:57 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-8-25 11:05:26 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2011-8-26 17:29:51 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2011-8-28 09:52:41 | 显示全部楼层
MARK

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-4-29 10:13

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

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