单片机贪吃蛇课程设计报告模板

电气与信息工程学院

单片机课程设计报告

设计题目: 基于单片机的贪吃蛇设计

专 业: 学 生 姓 名: 班 级: 指 导 教 师: 成 绩:

2016 年 11月 22 日

一、 设计任务及要求

基本功能:

. .

制作一个8*8点阵的贪吃蛇游戏.系统以单片机的C语言的软件设计.系统通过LED点阵屏为载体显示数据.并用五个输入端表示五个控制键(上下左右及加速)。系统硬件部分由STC89C52RC单片机.8*8点阵屏.5个按键.软件部分在keil环境下用C51语言编写.包括游戏初始化蛇的节数.以及障碍墙壁.游戏结束时自动复位。

具体要求:

1、用四个按钮控制贪吃蛇的行径.一个按钮控制贪吃蛇的加速.蛇的初始长度为2点.设置墙壁。

2、蛇吃到长度为1点的食物时.自身长度增加1点。

2、速度按钮带有一次加速.按两下速度按钮蛇的行进速度回到初始值。 3、当蛇碰到墙壁或自己的身体时游戏结束。

4、用proteus设计.仿真基于STC89C52RC单片机的8x8点阵贪吃蛇的硬件电路。 5、游戏结束.系统自动复位。

二、 硬件电路设计

本系统以STC89C52RC为核心.设置12MHz的晶振.使得单片机有合理的运行速度。LED点阵屏通过LED(发光二极管)组成.以灯珠亮灭来显示程序的运行情况.是模块化的显示组件.本设计采用8*8共阳红色点阵显示屏.用来显示贪吃蛇的游戏画面。五个独立按键控制蛇的游走方向(上下左右)和加速减速的功能。贪吃蛇是一款经典的小游戏.玩家通过按键操控贪吃蛇不断地吃食物.蛇身逐渐伸长.当蛇碰到蛇身和墙壁时游戏结束。

. .

需要注意的是实际元件中.点阵的封装不尽相同.因此需要测试出每个引脚的功能.以便正确连线。注意.每个像素点的额定电压在3v左右.电压过大将会彻底损坏。

三、 系统软件设计

软件方面采用了C51编写代码.代码编写模块如下图:

核心代码主要为游戏处理、信息处理和按键处理。编写游戏的功能代码.先定义游戏的数据结构和常量。其中食物的数据结构采用结构体定义.两个unsigned char变量分别定义为食物的横纵坐标;蛇的身体定义为长度最大值为20的数组.游戏中贪吃蛇长度达到39.游戏通关结束。

游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况.主要实现的功能包括以下四个方面.即移动、食物、死亡和加速。 1、移动

. .

开始 是否按下方向键 N 将节点坐标覆盖到前一节点 Y N 蛇头节点横坐标对应加减 按键的方向是水平 Y 蛇头节点纵坐标对应加减 结束

游戏开始后. 贪吃蛇在固定的周期内会向前移动一格.此时“贪吃蛇”身体从尾巴至头部每一个后序节点会向前序节点移动.后序节点移动完毕后.头部会根据此时按键的方向对相应的横纵坐标进行加减。

2、食物放置

. .

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4