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

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

ID:41808844

大小:326.12 KB

页数:11页

时间:2019-09-02

单片机贪吃蛇课程设计报告模板_第1页
单片机贪吃蛇课程设计报告模板_第2页
单片机贪吃蛇课程设计报告模板_第3页
单片机贪吃蛇课程设计报告模板_第4页
单片机贪吃蛇课程设计报告模板_第5页
资源描述:

《单片机贪吃蛇课程设计报告模板》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、电气与信息工程学院单片机课程设计报告设计题目:基于单片机的贪吃蛇设计专业:学生姓名:班级:指导教师:成绩:2016年11月22口一、设计任务及要求基本功能:制作一个8*8点阵的贪吃蛇游戏,系统以单片机的C语言的软件设计,系统通过LED点阵屏为载体显示数据,并用五个输入端表示五个控制键(上下左右及加速)。系统硬件部分由STC89C52RC单片机,8*8点阵屏,5个按键,软件部分在keil环境下用C51语言编写,包括游戏初始化蛇的节数,以及障碍墙壁,游戏结束时自动复位。具体要求:1、用四个按钮控制贪吃蛇的行径,一个按钮控制贪吃蛇的加速,蛇的

2、初始长度为2点,设置墙壁。2、蛇吃到长度为1点的食物时,自身长度增加1点。2、速度按钮带有一次加速,按两下速度按钮蛇的行进速度回到初始值。3、当蛇碰到墙壁或自己的身体时游戏结束。4、用proteus设计,仿真基于STC89C52RC单片机的8x8点阵贪吃蛇的硬件电路。5、游戏结束,系统自动复位。二、硬件电路设计•AHXTA12RETTALE1OT21.1H2BC121J1・・141j61.?raxvAoaK1VA01FO2TA0ZR”D3MWA04RSDGBfAD?mm㊁FZUf>3FZVAf^3^fAiaRZJfAHFZ.WA12F2

3、<^A13FZ^AUF21/A1IF3OMXDFxwnraLiR1‘o0LEFT“RIGHTI1♦:TR

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

5、结束。需要注意的是实际元件中,点阵的封装不尽相同,因此需要测试出每个引脚的功能,以便正确连线。注意,每个像素点的额定电压在3v左右,电压过大将会彻底损坏。三、系统软件设计软件方面釆用了C51编写代码,代码编写模块如下图:核心代码主要为游戏处理、信息处理和按键处理。编写游戏的功能代码,先定义游戏的数据结构和常量。其中食物的数据结构采用结构体定义,两个unsignedchar变量分别定义为食物的横纵坐标;蛇的身体定义为长度最大值为20的数组,游戏中贪吃蛇长度达到39,游戏通关结束。游戏处理模块为贪吃蛇在游玩过程中遇到的需要被处理的情况,主要

6、实现的功能包括以下四个方僧,即移动、食物、死亡和加速。1、移动蛇头节点横坐标对应加减蛇头节点纵坐标对应加减结束游戏开始后,贪吃蛇在固定的周期内会向前移动一格,此时“贪吃蛇”身体从尾巴至头部每一个后序节点会向前序节点移动,后序节点移动完毕后,头部会根据此时按键的方向对相应的横纵坐标进行加减。2、食物放置贪吃蛇向前移动后,此时耍判断蛇头是否与食物的横纵坐标一一对应,如果不是则退出该模块,进入下一模块;如果是,则贪吃蛇的节数增加一。随后将进入创建新的食物模块,为了避免食物与贪吃蛇的节点坐标重复,食物在创建后要与贪吃蛇的每个节点的坐标一一比较,

7、如果重合则重新创建食物的坐标,直到创建成功为止。3、加速处理在游戏过程中,贪吃蛇的初始速度很慢,为了提高游戏娱乐性,设置独立按键加速键,当按下加速键,则贪吃蛇的移动速度即时间间隔变短,使游戏更具有挑战性,当再按下则恢复原来的速度。4、结束贪吃蛇在向前移动后,有可能撞到墙壁或自己的身体,也有可能吃到食物,或者只是向前移动一格,移动完毕后如果吃到了食物,如果贪吃蛇的节数达到了最大值,那么玩家将会通关游戏,并且游戏退出,此时需要判断游戏是否结束,一共有三种判别,前两种为失败结局,即撞到了墙壁或自己的身体,最后一种为通关结局,游戏将初始化。源代

8、码如下:#include#defineucharunsignedchar#defineSNAKE20#defineTIME50#defineSPEED80sbitup=P3A3;sbitdown=P3Al;sbitright=P3A2;sbitleft=P3A4;sbitspeedup=P3A5;sbitLATCH1=P3A6;sbitLATCH2=P3A7;ucharx[SNAKE+l];uchary[SNAKE+l];uchartime,n,i,e;unsignedcharconstseg[]={0x81,0x42

9、,0x24,Ox1&0x1&0x24,0x42,0x81};unsignedcharcodewei[]二{0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe};charaddx,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。