- 18
- 0
- 约4.61千字
- 约 11页
- 2019-09-27 发布于广东
- 举报
电气与信息工程学院
单片机课程设计报告
设计题目:基于单片机的贪吃蛇设计
专
业:
学
生
姓
名:
班
级:
指
导
教
师:
成
绩:
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、 游戏结束,系统自动复位。
二、硬件电路设计
?AHXTA12RETTALE1OT21.1H2BC121J1??141j61.?raxvAoa K1VA01 FO2TA0Z R”D3 MWA04RSDGBfAD?mm二FZUf3FZVAf ^3^fAia RZJfAH FZ.WA12 F2^A13 FZ^AU F21/A1IF3OMXDFxwnraL i
?AH
XTA12
RETT
ALE
1OT2
1.1H2BC
12
1J
1??
14
1j6
1.?
raxvAoa K1VA01 FO2TA0Z R”D3 MWA04
RSDG
BfAD?
mm
二
FZUf3
FZVAf ^3^fAia RZJfAH FZ.WA12 F2^A13 FZ^AU F21/A1I
F3OMXD
Fxwnra
L i
R1
‘ o 0
LEFT “ RIGHT
I 1 ? :TR | ] 0
—O O i O O—
:.r _—
UP
—O O
本系统以STC89C52RC为核心,设置12MHz的晶振,使得单片机有合理的运行速度。LED 点阵屏通过LED(发光二极管)组成,以灯珠亮灭来显示程序的运行情况,是模块化的显示组 件,本设计采用8粋共阳红色点阵显示屏,用来显示贪吃蛇的游戏画而。五个独立按键控制 蛇的游走方向(上下左右)和加速减速的功能。贪吃蛇是一款经典的小游戏,玩家通过按键操 控贪吃蛇不断地吃食物,蛇身逐渐伸长,当蛇碰到蛇身和墙壁时游戏结束。
需要注意的是实际元件中,点阵的封装不尽相同,因此需要测试出每个引脚的功能,以便正 确连线。注意,每个像素点的额定电压在3v左右,电压过大将会彻底损坏。
三、系统软件设计
软件方面釆用了 C51编写代码,代码编写模块如下图:
核心代码主要为游戏处理、信息处理和按键处理。编写游戏的功能代码,先定义游戏的数据 结构和常量。其中食物的数据结构采用结构体定义,两个unsigned char变量分别定义为食 物的横纵坐标;蛇的身体定义为长度最大值为20的数组,游戏中贪吃蛇长度达到39,游戏 通关结束。
游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况,主要实现的功能包括以 下四个方僧,即移动、食物、死亡和加速。
1、移动
蛇头节点横坐标对应加减蛇头节点纵坐标
蛇头节点横坐标
对应加减
蛇头节点纵坐标
对应加减
结束
游戏开始后,贪吃蛇在固定的周期内会向前移动一格,此时“贪吃蛇”身体从尾巴至头部 每一个后序节点会向前序节点移动,后序节点移动完毕后,头部会根据此时按键的方向对相 应的横纵坐标进行加减。
2、食物放置
贪吃蛇向前移动后,此时耍判断蛇头是否与食物的横纵坐标一一对应,如果不是则退出该模 块,进入下一模块;如果是,则贪吃蛇的节数增加一。随后将进入创建新的食物模块,为了 避免食物与贪吃蛇的节点坐标重复,食物在创建后要与贪吃蛇的每个节点的坐标一一比较, 如果重合则重新创建食物的坐标,直到创建成功为止。
3、加速处理
在游戏过程中,贪吃蛇的初始速度很慢,为了提高游戏娱乐性,设置独立按键加速键,当按 下加速键,则贪吃蛇的移动速度即时间间隔变短,使游戏更具有挑战性,当再按下则恢复原 来的速度。
4、结束
贪吃蛇在向前移动后,有可能撞到墙壁或自己的身体,也有可能吃到食物,或者只是向前移 动一格,移动完毕后如果吃到了食物,如果贪吃蛇的节数达到了最大值,那么玩家将会通关 游戏,并且游戏退出,此时需要判断游戏是否结束,一共有三种判别,前两种为失败结局, 即撞到了墙壁或自己的身体,最后一种为通关结局,游戏将初始化。
源代码如下:
#include reg51 .h
#define uchar unsigned char
您可能关注的文档
- 单片机的中断与定时器系统.docx
- 单片机的中断与定时系统.docx
- 单片机电子密码锁论文.docx
- 单片机电子时钟论文.docx
- 单片机电子时钟设计.docx
- 单片机多功能秒表课程设计报告.docx
- 单片机工学结合实训指导书.docx
- 单片机汇编指令系统练习.docx
- 单片机基础及应用题库.docx
- 单片机基础资料.docx
- 2025-2026学年教科版(新教材)小学音乐一年级第二学期教学计划及进度表.docx
- 2025-2026学年冀少版小学音乐四年级下册教学计划及进度表.docx
- 2025-2026学年辽海版(新教材)小学音乐一年级第二学期教学计划及进度表.docx
- 2025-2026学年人教版(新教材)小学数学二年级第二学期教学计划及进度表.docx
- 2025-2026学年人教版(新教材)小学数学三年级第二学期教学计划及进度表.docx
- 2025-2026学年人教版小学数学五年级下册教学计划及进度表.docx
- 【图片】25-26学年1月27日八上南京联合体【栖霞、雨花、江宁、浦口、溧水区】期末卷【含评分标准】.doc
- 1.1细胞生活的环境 课件 高二上学期选择性必修1生物人教版(2019).pptx
- 【图片】25-26学年1月27日九上南京联合体【栖霞、雨花、江宁、浦口、溧水区】期末卷【含评分标准与学生A3答题卡】.pdf
- 3.1《认识晶体》课件-高二上学期化学鲁科版选择性必修2.pptx
原创力文档

文档评论(0)