yong_s 发表于 2009-10-11 14:55:18

(原创 51单片机+SPI TFT彩屏+按键=贪吃蛇游戏机; 代码、电路图、资料、免费送大家 10

以前玩51单片机玩就玩流水灯啊,按键 18B20什么的, 该发飙了。SHOW一下我最新作品!

既然AT89S52 也能玩彩屏、玩贪吃蛇!代码 RAM<6K RAM<100B你可以放心的用AT89S52 玩。

这里的代码很简单。不过游戏规则很多 所有用了好多的ifelse 大家要看清楚咯!

理解代码后可以移植到8*8点阵,或者其他液晶上玩。只要你会点单片机相信你不会错过这个挑战的机会吧!

这个非常适合DIY,对程序水平和有提高,特别是指针和结构体的思想。

其中还有些BUG 我可能没有发现,希望广大同志们,指导检查。


作品中SPI接口彩屏模块 由本站网友(luckroll)提供 :http://item.taobao.com/auction/item_detail-0db2-c758ee4e9c3078cddf95b19fc3e5404f.htm



/*****************觉好玩就顶一下啊**************下次写些更好玩的传上来啊****************/



游戏进行中。。。。。。。。。
http://cache.amobbs.com/bbs_upload782111/files_19/ourdev_490361.JPG
(原文件名:DSC00921.JPG)
玩挂了。。。
http://cache.amobbs.com/bbs_upload782111/files_19/ourdev_490362.JPG
(原文件名:DSC00922.JPG)
蛇好长了哈哈、、、、、、、
http://cache.amobbs.com/bbs_upload782111/files_19/ourdev_490363.JPG
(原文件名:DSC00923.JPG)
终于过关了。。。。。。
http://cache.amobbs.com/bbs_upload782111/files_19/ourdev_490364.JPG
(原文件名:DSC00924.JPG)


点击此处下载 原程序ourdev_490354.rar(文件大小:84K) (原文件名:51单片机贪吃蛇程序.rar)
点击此处下载 演示视频ourdev_490355.rar(文件大小:1.03M) (原文件名:Snake视屏.rar)
点击此处下载 图片ourdev_490356.rar(文件大小:1.26M) (原文件名:照片.rar)
点击此处下载 ourdev_490393.rar(文件大小:5K) (原文件名:贪吃蛇protel 99se格式.rar)
点击此处下载 ourdev_490394.rar(文件大小:36K) (原文件名:贪吃蛇原理图 PDF格式.rar)

touch_mcu 发表于 2009-10-11 15:20:21

沙发一次。

chengpiaopiao 发表于 2009-10-11 15:50:46

板凳

luckroll 发表于 2009-10-11 16:00:03

真好玩 哈哈 顶上去

LT1234567 发表于 2009-10-11 16:03:51

酷啊

yong_s 发表于 2009-10-11 19:18:30

做的这么辛苦,怎么没有几个人回复啊,哎~~~~~~~~~

lukeunderwood 发表于 2009-10-11 19:24:50

顶一下,看能不能移植

lukeunderwood 发表于 2009-10-11 19:26:29

顶一下,看能不能移植

yong_s 发表于 2009-10-11 19:42:59

100%能够移植,要是移植到 12864 那一定非常好办,
要是8*8点阵的画那 要删掉很多代码咯! 有问题问我
包好!

lukeunderwood 发表于 2009-10-11 19:52:53

【9楼】 yong_s 张先永
100%能够移植,要是移植到 12864 那一定非常好办,
--------------------------------------------------
我试试,过两天有好几块液晶屏邮到,我都试试。

先仔细研究一下你的代码,这么小的资源消耗量,值得好好学习一下

stefgq 发表于 2009-10-11 19:55:46

以前也在仙林 顶下

akong 发表于 2009-10-11 22:40:05

既然是彩屏,我觉得可以加上漂亮的背景,用大一点的ram

akong 发表于 2009-10-11 22:42:54

既然是彩屏,我觉得可以加上漂亮的背景,用大一点的ram

fool_boy 发表于 2009-10-11 23:03:26

akong 发表于 2009-10-11 23:25:02

既然是彩屏,我觉得可以加上漂亮的背景,用大一点的ram

loyalxiaoai 发表于 2009-10-12 09:38:03

嗯!不错!

37150839 发表于 2009-10-12 15:29:40

MARK!

kclc 发表于 2009-10-12 16:54:08

强帖要顶

mydows 发表于 2009-10-12 16:59:12

留个记号。

yong_s 发表于 2009-10-12 18:07:06

【10楼】 lukeunderwood 潜水的熊猫

移植程序注意:
1、LCD 显示部分需要和我的 LCDxxx.H 统一; 比如 如何点亮一个点,如何熄灭一个点。
   画线呢要是还不会你可以照着我代码看看在移植。
2、按键记得照着 我的解法,(用二极管线与)接成中断形式,记得要不然那蛇会很不灵敏。
3、只要 100B的RAM 6K代码很小,完全可以在51上跑起来,不信自己下载来编译一下咯。


【11楼】 stefgq

呵呵你仙林那个学校的呵呵,“南信息” 的不会是我的学长吧!

【13楼】 akong
做成静态的好像是可以,要是做成背景是动态的,一个黑白像素 1 Bit的RAM,彩色的要1 byte,不得了,要好多RAM。
估计要ARM 以K为单位才行啊。

elecfun 发表于 2009-10-12 18:11:25

太好了正在研究把贪吃蛇弄到那个27元的彩屏上,没成功。 研究下你的程序。
谢啦!

yong_s 发表于 2009-10-12 18:52:33

【21楼】 elecfun 熊

那里出现问题弄不出来呢?我可以给你免费指导一下。
大概过程可以给你讲一下。你可以按着步骤慢慢的写出程序来,我写了3天,每天都像个思考者。因为好多时间都在修正BUG。
我的程序思路:
1、初始化用液晶画出贪吃蛇的活动边框和界面。
2、实现上面功能在,画出条3个点的小蛇,那个蛇是用数组装起来的。
   struct
   {uchar X;
    uchar Y;}
3、开始实现右变行走的程序, 实现方法是 把Snake.X,Snake.Y清零就是 把蛇尾给灭了要不蛇怎么跑呢是把,
   然后在开始数组 每个元素 替换为前一个 值这样蛇就跑前一个格子了对吧,
4、蛇运动的方向在 步骤3没结束的时候根据按键的状态,把蛇头移动到相应的位置,那么蛇就能根据按键状态跑了。
5、蛇能跑了,那是漫无天际的跑哦,只要你按键控制它 他就不停的跑咯,那你现在就要给他设定怎么死亡怎么过关
   怎么加速等一系列,优美的方案。
6、还有是一个 果子 怎么随机放置,我以前看了论坛有人发了贴用,Keil C51自带的随机数产生函数,不过我发现那个函数
   随机性很大,但是每次调用产生的随机数值的顺序都是 一定的晕啊。后来我想就用 定时器的低 4位就好了,果然定时不停的跑
   取得值果然很随机,牛B      代码如右:Food.Y=TL1&0X1B;//获得随机数
7、OK了多看看前人牛人的代码,对自己有很大的提高。既然我们都是学生,学习能力还是胜过一切的,因为那能量非常大。./emotion/em097.gif

最后
祝:学习愉快!工作顺利!贪吃蛇成功编写,水平直线提升。多分享多提高!!!!!


送大家一本书那里也有贪吃蛇的代码,还有好多优秀代码,有LCD菜单,飞机游戏。。。。。同志们多顶一下啊./emotion/em059.gif!!!!

点击此处下载 ourdev_490835.pdf(文件大小:5.08M) (原文件名:单片机语言C51应用实战集锦.pdf)

xingcai 发表于 2009-10-13 21:27:42

楼主是信息学院的?想不到在这也能碰到校友啊

coolfish 发表于 2009-10-13 21:40:35

MARK

shangxf 发表于 2009-10-13 22:33:25

hyz_avr 发表于 2009-10-13 22:35:33

顶一下..

jn229 发表于 2009-10-15 01:51:50

"you are win!" 这句不符合语法吧?是不是应该为"you win!" or "you are winner!"

naiqiqnus 发表于 2009-10-15 10:39:04

路过!

ksniper 发表于 2009-10-15 11:57:34

强烈mark

xfloveyou886 发表于 2009-10-15 21:44:34

顶起来!!

Pyrrho 发表于 2009-10-15 21:46:20

Mark

yong_s 发表于 2009-10-16 12:30:11

【27楼】 jn229

呵呵,写程序写晕了,英语不太好呵呵!
改为:YOU HAVE WON!
这样彻底没有问题咯

liushui 发表于 2009-10-16 13:42:08

好东西

279345545 发表于 2009-10-20 22:15:06

哥们 你还在吗? 我现在毕业设计就是这个,我有很多问题想问问你,能家我QQ吗?279345545等待

lsint 发表于 2009-10-21 17:30:28

喜欢~~好玩儿 哈哈

hailing 发表于 2009-10-21 21:57:36

谢谢lz的讲解了。觉得lz还是很热心的一个人。

oo629 发表于 2009-10-27 18:21:45

好东西 我顶

menglongfc 发表于 2009-10-28 10:04:43

额,是stc的芯片,不过都一样啦,楼主好样的

WGJ5767351 发表于 2009-10-28 10:10:37

好样,   不能不顶啊

hefei1314 发表于 2009-10-28 14:06:55

这个很好,过两天液晶回来试试

sharpa 发表于 2009-10-28 22:39:17

顶一个

wolaiye945 发表于 2009-10-28 22:40:05

Mark!

guochengqiang 发表于 2009-10-29 00:19:07

那个TFT屏有资料吗,可否共享?

luckroll 发表于 2009-10-29 07:25:48

【43楼】 guochengqiang
积分:152
派别:
等级:------
来自:
        那个TFT屏有资料吗,可否共享?
看这里 有屏和模块的资料 
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3283973&bbs_page_no=1&search_mode=3&search_text=luckroll&bbs_id=9999

dalianxwj 发表于 2009-11-2 14:53:35

呵呵,不错

liushui 发表于 2009-11-5 20:56:09

顶,谢谢分享

sym2008 发表于 2009-11-5 21:35:01

这个岂不是拿彩屏当黑白屏用了,浪费啊

sym2008 发表于 2009-11-5 21:45:05

You are win!是错误的 应该是 You win!没有中间的系动词,细节,注意细节

maxiao5231 发表于 2009-11-5 21:49:18

mark...

baxk1986 发表于 2009-11-6 17:22:17

谢谢啊

wdong 发表于 2009-11-6 18:37:58

ding.............................

wenchaoge852 发表于 2009-11-13 11:58:26

好东西   标记

Candy123 发表于 2009-11-16 12:51:37

如果我想用计算机操作,该怎么样实现呢?

zzwuyu 发表于 2009-11-16 14:00:32

楼主好啊,谢谢

zhangfengqi 发表于 2009-11-21 13:24:37

很不错啊楼主

bx19890215 发表于 2009-11-25 22:06:53

楼主还在吗?我现在课程设计要做这个   有很多的问题要请教你!   能加我QQ吗365488823   谢谢啦!

cmyldd 发表于 2009-11-29 13:14:25

好啊

a418188 发表于 2009-12-4 13:18:58

proteus找不到那个LCD

avrpicarm 发表于 2009-12-4 13:59:57

挺不错的,

20071103 发表于 2009-12-5 18:50:37

楼主还在不?能加我QQ吗有问题想请教你一下365488823

20071103 发表于 2009-12-7 14:46:23

LZ
在做的时候 TFT模块直接焊接就可以吗
TFT驱动程序有吗

qiuba2008 发表于 2009-12-16 12:02:20

拜倒

z7926573 发表于 2009-12-16 12:05:20

帮顶!

yqldt 发表于 2010-2-2 22:43:44

顶一下..

zheshiwo 发表于 2010-2-3 13:02:11

送大家一本书那里也有贪吃蛇的代码,还有好多优秀代码,有LCD菜单,飞机游戏。。。。。单片机语言C51应用实战集锦.pdf

记号,帮顶上去。

gan1211 发表于 2010-2-3 13:30:53

支持,准备自己写一个

XMLK 发表于 2010-2-8 19:44:55

MARK

Argee 发表于 2010-2-9 01:12:02

Mark

qiushui 发表于 2010-2-9 09:32:37

好东东.

C307 发表于 2010-2-9 09:49:21

bucuo

wsxqazx 发表于 2010-2-9 14:53:08

牛人!!!!

xiaolei0428 发表于 2010-2-21 16:37:48

建议下载看看

zhang_0404 发表于 2010-2-21 19:17:48

MARK

xslff 发表于 2010-2-21 20:32:34

顶起,很好的资料,正需要!

lanmao8701 发表于 2010-3-1 22:10:30

thinki 发表于 2010-3-15 13:22:31

不错不错,顶一下!

wjdysu 发表于 2010-3-15 13:30:32

呵呵资源很不错,谢谢楼主!

liubinghui 发表于 2010-3-16 20:29:53

牛人.

zcc254460484 发表于 2010-3-17 11:45:38

感谢楼主!!先收下了!!

amity 发表于 2010-3-17 14:03:58

牛人,不顶不行

lantian0099 发表于 2010-3-17 14:35:12

顶,标记一下

jiangping_hbhm 发表于 2010-3-17 17:16:05

mark

ninjalp 发表于 2010-3-19 15:49:50

回复【楼主位】yong_s 张先永
-----------------------------------------------------------------------

Mark

jzlxue 发表于 2010-3-29 19:19:39

mark

wandy2010 发表于 2010-3-30 12:49:07

顶一个,好玩又能学东西

jrcsh 发表于 2010-3-30 22:07:50

好东西

grc521 发表于 2010-4-13 20:50:09

强,顶一个~~~~~~~~~~~~~~~~~~~~~~~~~~~~

czw325 发表于 2010-4-18 16:07:10

回复【9楼】yong_s 张先永
-----------------------------------------------------------------------

老大这个怎么用12864玩啊能不能给个电路图和需要改的程序

czw325 发表于 2010-4-18 16:08:53

lz能加我qq 823942720

sophy.lin 发表于 2010-4-18 16:59:51

LZ很热心啊,顶
不过貌似此贴后就很少来本坛了,窝居了

jianwenle 发表于 2010-4-22 18:42:22

赞一个 太牛啦 学习学习

673249112 发表于 2010-4-23 18:45:11

我有个并口的TFT彩屏不知道能否帮忙写一个

dugutianma 发表于 2010-4-24 20:14:32

MARK

yusufu 发表于 2010-4-25 00:17:56

不错,mark

yxy1900 发表于 2010-4-26 11:04:38

强人!

advstar 发表于 2010-5-8 23:28:36

求救,这个程序移植到ILI9325控制的,8位并行TFT屏幕,行不行?

advstar 发表于 2010-5-8 23:37:52

回复【20楼】yong_s 张先永
-----------------------------------------------------------------------

你好,这个程序移植到ILI9325控制的8位并行TFT屏幕应该如何修改?
可否指导下,谢谢。
^_^

imcc 发表于 2010-5-9 22:57:50

不错 有时间时间一下

jrcsh 发表于 2010-5-10 03:07:41

UART_Com   这个包的使用说明 能否提供

tangwei039 发表于 2010-5-10 06:38:34

页: [1] 2 3 4
查看完整版本: (原创 51单片机+SPI TFT彩屏+按键=贪吃蛇游戏机; 代码、电路图、资料、免费送大家 10