搜索
bottom↓
回复: 339

【原创】 掌机制作 【源码】【图】

[复制链接]

出0入0汤圆

发表于 2010-1-10 21:31:10 | 显示全部楼层 |阅读模式
放假了,现在家里有点无聊了,
做了一个好玩的掌机开发平台,由一片MEGA128和TINY13组成。有一个8bit的通用IO被引出。板载一个红外发射端子。一个双向SPI口,
灯光分四档可调节,并可以根据环境光自动调整背光亮度。一个振动马达。

背光一档的情况下功耗为70多毫安,内置550MAH锂电池可以续航7小时以上。



主要达到以下功能:


功能一  --游戏功能:
tiny13主要是控制灯光和发出和铉声音,MEGA128则是主控,负责读取SD卡,以及显示屏的图像处理。
游戏的ROM、字库,图片全部存在sd卡里
显示屏的大小为128*160,是6.5万色TFT屏。运行游戏时将其改为8位色彩以加快处理速度。
测得MEGA128工作在16M的情况下以8BIT工作能达到20FPS。



功能二   脱机下载器(ISP)&终端:
用这个装置把存在SD卡里的HEX文件直接烧录进AVR器件里,比赛时比较常用。
UART的调试器。



功能三  照相机功能:
在OURAVR坛里的某网友处买了一颗30万CMOS模块,用它来做个简易照相机也不错。


功能四  万能遥控:
板载了一个红外发射管,可以用它来遥控任何东西……


功能五  还可以..:
(和谐)


功能六  暂时想那么多了,……还能做什么大家想吧……

































(原文件名:DSCN3122.JPG)


(原文件名:DSCN3126.JPG)


(原文件名:DSCN3129.JPG)

出0入0汤圆

 楼主| 发表于 2010-1-10 21:43:45 | 显示全部楼层
先放上源码(效果如图、读sd卡的位图的):  点击此处下载 ourdev_524656.rar(文件大小:34K) (原文件名:m128-sd 横.rar)





看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生看帖回帖得永生

出0入0汤圆

发表于 2010-1-10 21:43:47 | 显示全部楼层
还只是个电子相册吧。
什么时候能把NES移植到AVR平台上?

出0入0汤圆

发表于 2010-1-10 21:50:42 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-1-10 21:52:47 | 显示全部楼层
Mark.

出0入0汤圆

发表于 2010-1-10 22:06:02 | 显示全部楼层
学习

出0入0汤圆

 楼主| 发表于 2010-1-11 03:15:44 | 显示全部楼层
忙了6个小时,把字库做好了,可以以20FPS的速度显示立体字体。


注意!!!!!是立体的哦!!!!!





(原文件名:DSCN3141.jpg)


(原文件名:DSCN3142.jpg)

出0入0汤圆

发表于 2010-1-11 08:00:27 | 显示全部楼层
没辙了,看贴回帖得永生

出0入0汤圆

发表于 2010-1-11 08:18:16 | 显示全部楼层
佛就该下地狱

出0入0汤圆

发表于 2010-1-11 08:22:47 | 显示全部楼层
回复【7楼】mydows
没辙了,看贴回帖得永生
-----------------------------------------------------------------------

出0入0汤圆

发表于 2010-1-11 08:26:47 | 显示全部楼层
单显示字体已经23FPS,要是加上游戏画面的话,会有多快呢?

出0入0汤圆

发表于 2010-1-11 08:32:55 | 显示全部楼层
楼主很强啊!

出0入0汤圆

发表于 2010-1-11 08:34:47 | 显示全部楼层
顶一个。

出0入0汤圆

发表于 2010-1-11 08:43:04 | 显示全部楼层
什么游戏?没看到,不会是超级玛丽吧?

出0入0汤圆

发表于 2010-1-11 08:44:00 | 显示全部楼层
强啊!

出0入0汤圆

发表于 2010-1-11 08:48:37 | 显示全部楼层
关注

出0入0汤圆

发表于 2010-1-11 08:52:55 | 显示全部楼层
早上余劲顶顶。

出0入0汤圆

发表于 2010-1-11 09:28:27 | 显示全部楼层
没辙了,看贴回帖得永生

出0入0汤圆

发表于 2010-1-11 10:32:53 | 显示全部楼层
太强了啊!

出0入0汤圆

发表于 2010-1-11 12:15:54 | 显示全部楼层
哈哈 不错的想法
不过自己已经买了个类似的掌机了
可以玩模拟的游戏 应该是8位的模拟游戏 超级玛丽 90坦克 打蜜蜂 之类的游戏
支持SD卡 机器本身就有2G的内存
还带个摄像头 支持照相 录像 不过效果相当一般
150包快递 呵呵
买回来拆开看了一下  用的是凌阳的芯片
这个机器名字 叫什么 现代之音 相对于150块的价格来说 音效还不错 带外放喇叭
可以输出视频到电视上去
哈哈 只是感觉150块还包快递就能做到这么强大的功能
中国的山寨能力太强大了
朝鲜人民说 他们离强大的国家不远了
中国人民说...

出0入0汤圆

发表于 2010-1-11 12:17:01 | 显示全部楼层
不过还是支持楼主 打算过段时间仿制一下 呵呵

出0入0汤圆

发表于 2010-1-11 12:30:58 | 显示全部楼层
楼主相当强大,以avr的性能不知道能否做fc的模拟器?

出110入26汤圆

发表于 2010-1-11 12:36:16 | 显示全部楼层
还不如做单色的gameboy

出0入0汤圆

发表于 2010-1-11 12:42:15 | 显示全部楼层
回帖

出0入309汤圆

发表于 2010-1-11 13:51:19 | 显示全部楼层
http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2009/bhp7_teg25/bhp7_teg25/index.html
这些人做到了6502,但没有做出PPU

出0入0汤圆

发表于 2010-1-11 16:22:01 | 显示全部楼层
非常期待 超级玛丽

出0入0汤圆

发表于 2010-1-11 17:48:50 | 显示全部楼层
非常期待楼主的掌机

不过如果说到做NES模拟器(不是自己写单片机程序模拟游戏,而是通常理解的读ROM模拟),我感觉用8位单片机不大可能.
要模拟,至少用32位,主频150mhz以上的才有点靠谱。

出0入0汤圆

发表于 2010-1-11 20:14:52 | 显示全部楼层
不错哦,年轻有为啊。日本小伙子打中文这么熟练啊。你的屏是哪里买的呢?是在中国买的吗?要是在在中国买的,能否告知在哪里?要是在秋叶原,那我可就没辙了。

出0入0汤圆

发表于 2010-1-11 20:25:43 | 显示全部楼层
我们信春哥

出0入0汤圆

发表于 2010-1-11 20:37:29 | 显示全部楼层
又是那个日本小孩儿~~支持一下!

出0入0汤圆

发表于 2010-1-11 21:00:02 | 显示全部楼层
又是那个日本小孩儿~~支持一下

出0入0汤圆

 楼主| 发表于 2010-1-11 21:21:34 | 显示全部楼层
【没辙了,看贴回帖得永生 】:那是当然。

【楼主相当强大,以avr的性能不知道能否做fc的模拟器?】:做不了。

【还不如做单色的gameboy 】:之前做过,太没挑战性。


【你的屏是哪里买的呢?】:上海科技京城2楼 ,耀宇液晶,型号为YM177T-007A,不带TS 23元,带TS 25。控制器为ILI9161,8位和SPI可选。

【不错哦,年轻有为啊。日本小伙子打中文这么熟练啊。】:中文版固件。

出0入0汤圆

发表于 2010-1-11 21:32:03 | 显示全部楼层
顶呀!

出0入0汤圆

发表于 2010-1-11 22:09:32 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-1-11 22:45:17 | 显示全部楼层

(原文件名:DSCN3143.jpg)



背面

出0入0汤圆

 楼主| 发表于 2010-1-12 00:13:14 | 显示全部楼层
今天花了8个小时做了一个资源管理器,用于查看文件和删除文件。




(原文件名:DSCN3147.jpg)


(原文件名:DSCN3149.jpg)


(原文件名:DSCN3151.jpg)


(原文件名:DSCN3146.jpg)

出0入0汤圆

发表于 2010-1-12 01:28:59 | 显示全部楼层
不错,佩服

出0入0汤圆

发表于 2010-1-12 09:19:33 | 显示全部楼层
看帖回帖得永生

出0入0汤圆

发表于 2010-1-12 12:49:02 | 显示全部楼层
哈哈,原来你大脑里有中文固件啊,能不能在我大脑里装个日文固件呢?

出0入0汤圆

 楼主| 发表于 2010-1-12 14:33:28 | 显示全部楼层
造字程序下载地址:

http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3827695&bbs_page_no=1&search_mode=4&search_text=zxttgg&bbs_id=9999

出85入4汤圆

发表于 2010-1-12 18:37:21 | 显示全部楼层
朝鲜人民说他们离强大不远了~~
中国人民说我们离永生不远了~~~~

出0入134汤圆

发表于 2010-1-12 18:55:42 | 显示全部楼层
--! 看了半天  还是没看懂LZ要做什么?   可以玩超级玛丽的NES模拟器?

出0入0汤圆

发表于 2010-1-12 21:17:57 | 显示全部楼层
楼主动手能力很强大~~

出0入309汤圆

发表于 2010-1-14 17:14:11 | 显示全部楼层
LZ你飞线的方式好像和elm chan一样,试问你那个是什么线,在哪买的?

出0入0汤圆

发表于 2010-1-14 18:01:06 | 显示全部楼层
大家看35楼,原来楼主打算做AVR版的PSP啊。

出0入0汤圆

发表于 2010-1-14 18:15:23 | 显示全部楼层
楼主太强了,支持啊!

出0入0汤圆

发表于 2010-1-14 18:40:42 | 显示全部楼层
楼主太强了

出0入0汤圆

发表于 2010-1-14 19:08:20 | 显示全部楼层
呵呵,强力支持

出0入0汤圆

发表于 2010-1-14 21:47:41 | 显示全部楼层
很好很强大……

出0入0汤圆

发表于 2010-1-15 09:04:35 | 显示全部楼层

出0入0汤圆

发表于 2010-1-15 09:31:42 | 显示全部楼层
关注

出0入4汤圆

发表于 2010-1-15 09:43:09 | 显示全部楼层
关注下。

出0入0汤圆

发表于 2010-1-15 10:07:36 | 显示全部楼层
好强,一定要看看

出0入0汤圆

发表于 2010-1-15 10:29:57 | 显示全部楼层
真牛

出0入0汤圆

 楼主| 发表于 2010-1-15 19:16:27 | 显示全部楼层
20分钟完成命令行方式显示


(原文件名:1.jpg)

3小时添加了电容触摸滑块

(原文件名:2.jpg)

27小时做了英文输入法(利用滑动的方式输入),8小时做完了短信收发器,以及2.4G模块的驱动程序。

(原文件名:3.jpg)






滑动触摸视频:

点击此处下载 ourdev_526615.rar(文件大小:1.13M) (原文件名:DSCN3153.rar)

出0入0汤圆

发表于 2010-1-15 19:22:25 | 显示全部楼层
牛啊!

出0入0汤圆

 楼主| 发表于 2010-1-15 19:32:16 | 显示全部楼层
以下是电容触摸板的程序模块:



'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\电容触摸板传感器缓存
Dim Cap(8) As Byte , Cap_tmp As Byte , Cap_smp(2) As Byte , Cap_smo(2) As Byte
Dim Cap_vol As Byte , Cap_lock As Byte
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\


'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\电容 (提供cap_vol)
Cap_sensor:
For Cap_tmp = 1 To 8
Cap(cap_tmp) = 0
Next Cap_tmp
Cap_tmp = 0
Config Porte.2 = Output
Porte.2 = 0 : Waitms 1
Config Porte.2 = Input
Do
Cap_tmp = Cap_tmp + 1
If Pine.2 = 1 Or Cap_tmp > 50 Then Exit Do
Loop
If Cap_tmp > 3 Then Cap(1) = 1

Cap_tmp = 0
Config Porte.3 = Output
Porte.3 = 0 : Waitms 1
Config Porte.3 = Input
Do
Cap_tmp = Cap_tmp + 1
If Pine.3 = 1 Or Cap_tmp > 50 Then Exit Do
Loop
If Cap_tmp > 4 Then Cap(2) = 1
Cap_tmp = 0
Config Porte.4 = Output
Porte.4 = 0 : Waitms 1
Config Porte.4 = Input
Do
Cap_tmp = Cap_tmp + 1
If Pine.4 = 1 Or Cap_tmp > 50 Then Exit Do
Loop
If Cap_tmp > 4 Then Cap(3) = 1


Cap_tmp = 0
Config Porte.5 = Output
Porte.5 = 0 : Config Porte.5 = Input
Do
Cap_tmp = Cap_tmp + 1
If Pine.5 = 1 Or Cap_tmp > 50 Then Exit Do
Loop
If Cap_tmp < 3 Then Cap(4) = 1
Cap_tmp = 0 : Config Porte.6 = Output
Porte.6 = 0
Config Porte.6 = Input
Do
Cap_tmp = Cap_tmp + 1
If Pine.6 = 1 Or Cap_tmp > 50 Then Exit Do
Loop
If Cap_tmp < 3 Then Cap(5) = 1
Cap_tmp = 0
Config Porte.7 = Output
Porte.7 = 0 : Config Porte.7 = Input
Do
Cap_tmp = Cap_tmp + 1
If Pine.7 = 1 Or Cap_tmp > 50 Then Exit Do
Loop
If Cap_tmp < 3 Then Cap(6) = 1
Cap_tmp = 0
Config Portg.0 = Output
Portg.0 = 0 : Config Portg.0 = Input
Do
Cap_tmp = Cap_tmp + 1
If Ping.0 = 1 Or Cap_tmp > 50 Then Exit Do
Loop
If Cap_tmp > 3 Then Cap(7) = 1
Cap_tmp = 0
Config Portg.1 = Output
Portg.1 = 0 : Config Portg.1 = Input
Do
Cap_tmp = Cap_tmp + 1
If Ping.1 = 1 Or Cap_tmp > 50 Then Exit Do
Loop
If Cap_tmp < 3 Then Cap(8) = 1

If Cap(1) = 1 Or Cap(2) = 1 Or Cap(3) = 1 Or Cap(4) = 1 Or Cap(5) = 1 Or Cap(6) = 1 Or Cap(7) = 1 Or Cap(8) = 1 Then
Cap_smp(1) = 0 : Cap_smp(2) = 0
If Cap(1) = 0 Then
Cap_smp(1) = Cap_smp(1) + 1
If Cap(2) = 0 Then
Cap_smp(1) = Cap_smp(1) + 1
If Cap(3) = 0 Then
Cap_smp(1) = Cap_smp(1) + 1
If Cap(4) = 0 Then
Cap_smp(1) = Cap_smp(1) + 1
If Cap(5) = 0 Then
Cap_smp(1) = Cap_smp(1) + 1
If Cap(6) = 0 Then
Cap_smp(1) = Cap_smp(1) + 1
If Cap(7) = 0 Then
Cap_smp(1) = Cap_smp(1) + 1
If Cap(8) = 0 Then
Cap_smp(1) = Cap_smp(1) + 1
End If
End If
End If
End If
End If
End If
End If
End If
If Cap_smo(1) > Cap_smp(1) Then
Cap_smo(1) = Cap_smp(1)
If Cap_lock = 1 Then Cap_vol = Cap_vol - 6
Cap_lock = 1
End If
If Cap_smo(1) < Cap_smp(1) Then
Cap_smo(1) = Cap_smp(1)
If Cap_lock = 1 Then Cap_vol = Cap_vol + 6
Cap_lock = 1
End If
Else
Cap_lock = 0
End If
Return
'\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\电容 -end

出0入0汤圆

 楼主| 发表于 2010-1-15 19:36:33 | 显示全部楼层
16MHZ晶振响应时间约2.5MS/8BIT.

这个程序块最佳工作频率是每秒20次。

出0入0汤圆

发表于 2010-1-15 20:21:46 | 显示全部楼层
羡慕。。请问楼主用的是什么开发工具? 看大家都是用C写,我原来学过ASP正好对VB脚本顺手。

出0入0汤圆

发表于 2010-1-15 20:26:45 | 显示全部楼层
想知道楼主只用了avr的sram还是有外挂sram?

出0入0汤圆

 楼主| 发表于 2010-1-15 20:51:19 | 显示全部楼层
【楼主用的是什么开发工具?】:大名鼎鼎的BASCOM-AVR,本坛里的软件下载里有介绍。

【想知道楼主只用了avr的sram还是有外挂sram?】:内部缓存。

出0入127汤圆

发表于 2010-1-15 22:08:16 | 显示全部楼层
楼主真强大

出0入0汤圆

发表于 2010-1-24 23:24:46 | 显示全部楼层
太强悍了

出0入0汤圆

发表于 2010-1-25 03:31:42 | 显示全部楼层
关注!

出0入0汤圆

发表于 2010-2-3 12:08:35 | 显示全部楼层
不回不舒服

出0入0汤圆

发表于 2010-2-3 12:46:37 | 显示全部楼层
太强了

出0入0汤圆

发表于 2010-2-3 19:59:30 | 显示全部楼层

还有期待更强大的功能

出0入0汤圆

发表于 2010-2-3 22:04:46 | 显示全部楼层
悍人一个

出0入0汤圆

发表于 2010-2-3 22:08:07 | 显示全部楼层
强,回帖支持

出0入0汤圆

发表于 2010-2-4 01:53:36 | 显示全部楼层
等待你玩马里奥图片!

出0入0汤圆

发表于 2010-2-4 09:30:06 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-4 17:17:46 | 显示全部楼层
mark

出160入0汤圆

发表于 2010-2-4 17:29:07 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-5 10:41:20 | 显示全部楼层
@

出0入0汤圆

发表于 2010-2-5 17:39:14 | 显示全部楼层
MARK这个正是我想要的

出0入0汤圆

发表于 2010-2-5 17:46:16 | 显示全部楼层
信手拈来的技术.佩服..

出0入0汤圆

发表于 2010-2-5 17:50:44 | 显示全部楼层
mark~sd上fat了吗?还是"裸奔"?

出0入90汤圆

发表于 2010-2-5 18:00:25 | 显示全部楼层
一个字,牛!

出0入0汤圆

发表于 2010-2-6 11:25:17 | 显示全部楼层
对楼主第二功能非常感兴趣,想把它应用在一个仪器里面,此仪器可测试多类型LCD模组.


功能二   脱机下载器(ISP)&终端:
用这个装置把存在SD卡里的HEX文件直接烧录进AVR器件里,比赛时比较常用。
UART的调试器。


能否相关源码,不胜感激

出0入0汤圆

发表于 2010-2-6 11:26:59 | 显示全部楼层
回复【楼主位】zxttgg 榎本ひいろ
-----------------------------------------------------------------------

niu

出0入0汤圆

发表于 2010-2-7 01:10:31 | 显示全部楼层
高手。怀疑楼主是MARS籍JAPANESE。

出0入0汤圆

发表于 2010-2-7 09:33:09 | 显示全部楼层
不错的东西,赞一下

出0入0汤圆

发表于 2010-2-7 09:40:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-7 12:37:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-7 12:42:31 | 显示全部楼层
看帖-》回帖-》得分

出0入4汤圆

发表于 2010-2-7 13:39:33 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-7 13:51:07 | 显示全部楼层
没法,被迫回贴,不然不得永生

出0入0汤圆

发表于 2010-2-7 13:59:59 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2010-2-7 17:03:37 | 显示全部楼层
佩服!

出0入0汤圆

发表于 2010-2-7 17:12:33 | 显示全部楼层
信春哥,的永生。

出0入0汤圆

发表于 2010-2-7 18:28:04 | 显示全部楼层
AVR跑FC的ROM不太可能把,不知道STM32可不可以。

出0入0汤圆

发表于 2010-2-7 18:48:52 | 显示全部楼层
电容触摸滑块   的视频看了,非常有趣,楼主能不能讲讲原理?

出0入0汤圆

发表于 2010-2-8 04:49:05 | 显示全部楼层
太牛了,希望能够有空请教!

出0入0汤圆

发表于 2010-2-8 06:03:01 | 显示全部楼层
关注ing..........

出0入0汤圆

发表于 2010-2-8 08:38:13 | 显示全部楼层
hao....

出0入0汤圆

发表于 2010-2-8 08:43:23 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-8 09:12:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-2-8 09:48:04 | 显示全部楼层
收藏

出0入0汤圆

发表于 2010-2-8 09:50:44 | 显示全部楼层
收藏

出0入0汤圆

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

本版积分规则

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

GMT+8, 2024-5-8 00:03

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

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