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

2020-01-22 12:00发布

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

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

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

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

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

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


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



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



游戏进行中。。。。。。。。。

(原文件名:DSC00921.JPG)
玩挂了。。。

(原文件名:DSC00922.JPG)
蛇好长了哈哈、、、、、、、

(原文件名:DSC00923.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)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
97条回答
yong_s
1楼-- · 2020-01-24 19:31
【10楼】 lukeunderwood 潜水的熊猫

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


【11楼】 stefgq

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

【13楼】 akong  
做成静态的好像是可以,要是做成背景是动态的,一个黑白像素 1 Bit的RAM,彩 {MOD}的要1 byte,不得了,要好多RAM。
估计要ARM 以K为单位才行啊。
elecfun
2楼-- · 2020-01-24 23:48
 精彩回答 2  元偷偷看……
yong_s
3楼-- · 2020-01-25 02:01
【21楼】 elecfun 熊

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

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

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

点击此处下载 ourdev_490835.pdf(文件大小:5.08M) (原文件名:单片机语言C51应用实战集锦.pdf)
xingcai
4楼-- · 2020-01-25 06:23
楼主是信息学院的?想不到在这也能碰到校友啊
coolfish
5楼-- · 2020-01-25 06:35
MARK
shangxf
6楼-- · 2020-01-25 11:15

一周热门 更多>