摘 要:文章设计了一款新颖的以单片机为控制核心的贪食蛇游戏系统。所设计的贪食蛇能完成移动、吃食物和摆放游戏自动输出的食物,使之默认出现3节蛇身,吃到每个随机点数而得分等功能。硬件设计包括LED模块、键盘模块、供电模块驱动模块和下载模块。软件采用C语言编程,方便灵活,大大加快了软件开发速度,缩短了开发周期,并且便于移植。为提高开发效率和硬件稳定性,采用了功能强大的硬件仿真软件Proteus,依托该软件提供的仿真环境搭配Keil作为软件开发调试环境进行仿真调试成功。
关键词:单片机;系统;贪吃蛇
目前,科技的发展,尤其是微电子、计算机软件和应用技术,使人们的日常生活变得丰富多彩。单片机(单片机)作为微电脑家庭成员,其结构独特、稳定性好、价格低廉,在嵌入式领域得到广泛应用[1-2]。本文利用计算机上传统的蛇游戏设计,利用Proteus仿真软件、硬件、8×8点矩阵的单片机、按键和其他硬件平台,C语言编程,实现了便携式蛇游戏。
1 本游戏基本功能
将蛇游戏的8×8点矩阵,系统与MCU C语言软件设计,系统通过LED点阵屏幕作为载波显示数据,有4个输入表示4个控制键(上下左右)。部分系统硬件是AT89C52单片机,8×8点矩阵屏幕,4个键,软件部分用C语言编写,在keil环境中运行游戏以及隔墙,在游戏结束时自动重置。
具体要求:(1)4个按钮用来控制蛇的方向,并且设置墙壁。(2)当蛇碰到墙壁和自己的身体时死亡。(3)如果蛇死亡了,则表示Game Over,系统将会自动复位[3]。
2 系统设计方案
硬件运用了单片机技术和C程序设计技术,通过点阵显示屏来显示。软件采用C语言编程,方便灵活。设计蛇的理念和原则:通过点阵屏幕点亮一个点,然后照亮另一个点,形成了“蛇”,为蛇晶格屏幕上选择一个点食物,通过手动按钮蛇,并确定是否抢上。找到食物,吞下食物,蛇会生长,直到蛇咬它的尾巴或撞到墙上,然后再开始。系统的结构框图如图1所示,基本结构可以区分为三大部分[4-5]。
3 系统硬件电路设计
3.1 单片机最小系统模块
单片机的最小系统是一个可以正常工作的系统,它可以有最小的组件和一个单片机。根据52单片机的要求,最小系统包括单片机、复位电路和晶体振动电路。单片机接口主要用于PC机和其他外部设备的连接[6-8]。
复位电路:单片机的复位时间直接受非极性电容C4的影响,容量大小一般为10~30 μF,设计采用10 μF,52单片机常见的复位模式为自动复位和按键复位。这个设计中使用的重置模式是按键复位。
晶体振荡器电路:该设计中使用的晶体振荡器的尺寸为12 MHz。其目的是能够达到单片机最快的处理速度。
3.2 点阵屏模块
LED点阵屏通过LED组成,以灯珠亮灭来显示程序的运行情况,是模块化的显示组件,本设计采用8×8共阳红色点阵显示屏,用来显示贪吃蛇的游戏画面。8×8点阵屏模块如图2所示。
3.3 按键模块
4个按键控制蛇的游走方向(上下左右)的功能简介明了。独立键盘电路如图3所示。
贪吃蛇是一款经典的小游戏,玩家使用方向键控制一条很短(游戏刚开始)的蛇,通过不断地吃豆豆,蛇身会逐渐加长,当蛇撞到身体或墙壁时游戏结束。
3.4 系统制作与调试
按照原理图在板子上进行搭建,在制作的过程中先把元器件放到正确的位置,再进行焊接,调试时利用电压表对晶振两端和C4两端的电压进行测量,按下复位按钮,电压发生变化并且指示灯亮,说明能够正常复位。
硬件全部制作调试好以后,本次设计基本完工。从开始的一堆散件,到焊接完成,直到最后板子的正常使用,总结有如下几点经验[9-10]。
(1)元器件的摆放按照原理图设计来放,不会出现乱序。(2)焊接的时候要一个点一个点地焊,要求焊实且焊点饱满。(3)在接通电源之前,可以用万用表检查电源正负极有没有短路或者断路,保证系统有稳定的供电,并且还要看元件有没有接错或者接反,是否有焊错、漏焊、虚焊等现象。(4)在调试的过程中程序不可能一次就成功,必须在调试中慢慢修改,可以先仿真调试,再下载到单片机中,这样避免了不必要的麻烦。
[参考文献]
[1]方大千.实用电子控制电路[M].北京:国际工业出版社,2003.
[2]李朝青,劉艳玲.单片机原理及接口技术[M].北京:北京航空航天大学出版社,2013.
[3]杨将新,李军华,刘东骏,等.单片机程序设计及应用从基础到实践[M].北京:电子工业出版社,2006.
[4]雷思孝,冯育长.单片机系统设计及工程应用[M].北京:电子工业出版社,2005.
[5]李倩.电子产品生产工艺[M].北京:中国铁道出版社,2015.
[6]于京,张景璐.51单片机C程序设计与应用案例[M].北京:中国电力出版社,2006.
[7]王港元.电子电工实践指导[M].3版.南昌:江西科学技术出版社,2003.
[8]阎石.数字电子技术基础[M].北京:高等教育出版社,2006.
[9]高吉祥,徐欣,吴帅.基本技能训练与单元电路设计[M].北京:电子工业出版社,2007.
[10]孙裕晶,沙玲.实用控制系统设计教程[M].长春:吉林大学出版社,2000.