1.1 广东工业大学华立学院课程设计(论文) 课程名称 微机原理与单片机技术综合设计与实践 职称名称 贪吃蛇游戏机 学生部 机电工程系 专业09班 电气3班 学生号 学生姓名 导师 王云 2012年6月5日 广东工业大学华立学院 课程设计(论文) 任务说明 1. 课程设计(论文)内容 设计一个贪吃蛇游戏机。 主要功能有: (1)玩经典的贪吃蛇游戏; (2)显示玩家当前等级; (3)记录玩家的得分; (4) 暂停比赛并重新开始; (5) 将屏幕倒置以适应左撇子或右手玩家。 2. 课程设计(论文)要求及资料(1)程序演示; (2)系统原理图或功能模块
2、硬件电路原理框图; (三)主程序流程图; (4)系统调试与分析; (5)源程序列表。 职称:贪吃蛇游戏机系机电系专业09班电气3班名称学号3.课程设计(论文)需完成的任务(1)完成程序演示; (2)完成器件选型; (3))给出硬件电路原理图; (4)给出程序流程图; (5) 完成源程序设计和调试; (6)完成课程设计报告的撰写。4. 课程设计(论文)流程安排 序号 设计(论文)各阶段 内容地点 起止日期 1 选择主题,明确设计要求,查看信息。 校内 5.262 方案论证、系统总体设计 校内 6.073 硬件电路原理图设计 校内 6.074 程序流程
3、图形设计、源程序编译与调试。 6.076.105 系统调试与分析。 6.106 撰写课程设计报告。 6.10 五、需收集的资料及主要参考文献 1.孙玉才。 MCS-51系列单片机及其应用 M.东南大学出版社,2004.6 作业函签发日期:2012年5月19日 指导老师签名: 计划完成日期:2012年6月5日 教学单位负责人签名: 1 系统分析.12 系统设计.22.1 系统硬件设计.22.1.1 系统硬件接线图.22.1.2 单片机引脚接线表.22.1.3TFT液晶屏引脚功能.32.1.4微动开关功能.42.2系统软件设计.52。
4. 2.1 系统MAIN程序设计。 52.2.2 系统SNAKE程序设计。 62.2.3 系统KEY程序设计。 72.3.4 主源程序。 72.3.5 SNAKE 源程序。 82.3.6 关键源程序。 133 组件列表。 14 参考.1511 系统分析 本文设计一款贪吃蛇游戏机,采用STC 12C5A60S2芯片作为控制核心,24MHz晶振,2.4英寸TFT彩色显示屏,以ILI9325为控制器,分辨率为320*240,保证了游戏的流畅性。显示效果细腻、流畅。 得益于显示屏内置背光,即使在黑暗中也能清晰显示画面。该作品以一块7cm*9cm的玻璃钢通用片为基础
5、中国制造,体积重量与普通智能手机相当,集成独立移动电源,方便携带。 游戏机外观如图1.1所示。 左边是显示屏,右边是主开关和游戏键盘。 屏幕下方焊接有单片机、晶振和两节3V CR2032纽扣电池。 该作品的主要功能有:(6)玩经典的贪吃蛇游戏(7)显示玩家当前等级(8)记录玩家的分数(9)暂停和重新开始游戏(10)将屏幕倒置以适应左手或右手操作玩家 图 1.1 贪吃蛇游戏主机外观 图 12 系统设计 2.1 硬件设计 本系统的硬件主要由 12C5A60S2 单片机、24MHz 晶振、2.4 英寸 TFT 显示屏和多个微动开关组成。微控制器的作用是运行游戏程序、驱动显示器、识别微动开关。
6、显示屏的作用是显示游戏画面,微动开关的作用是控制蛇的运动方向等设置。 2.1.1 系统硬件接线图 图 2.1 系统硬件接线图 2.1.2 单片机引脚分配 单片机引脚对应元件引脚 P1.0 微动开关 REVERSEP1.7 微动开关 PAUSE/RESARTP3.1 微动开关 DOWNP3.5 微动开关 RIGHTP3.6 微动开关开关 UPP3.7 微动开关 LEFTXTAL2 24MHz 晶振 XTAL1 24MHz 晶振 VSS GNDVCC +5V DC2P0.0 TFT DB0P0.1 TFT DB1P0.2 TFT DB2P0.3 TFT DB3P0.4 TFT DB4P0.5 TFT DB5P
7. 0.6 TFT DB6P0.7 TFT DB7P2.6 TFT RDP2.5 TFT WRP2.4 TFT RSP2.2 TFT CSP2.1 TFT RESET2.1.3TFT 液晶屏引脚功能符号 功能说明 CS – Strobe RESET – Reset DB7 High 4 Bit tristate ,双向数据总线4位 DB6高4位三态,双向数据总线4位 DB5高4位三态,双向数据总线4位 DB4高4位三态,双向数据总线4位 DB3低4位三态,双向数据总线4-位 DB2 低 4 位 三态,双向数据总线 4 位 DB1 低 4 位 三态,双向数据总线 4 位 DB0 低 4 位 三态,双向数据总线 4 位 RD Pass
8. 读数据寄存器从GRAM WR 中读取18 位数据——写RS 进行寄存器选择。 当高电平为1时,选择数据寄存器,当低电平为0时,选择指令寄存器。 3NC被暂停。 VCC +5V DCGND GND2.1.4 微动开关功能 本系统硬件使用了6 个微动开关,分布在显示屏的同一侧。 其功能如下: 微动开关名称 功能说明 UP 使蛇向上 DOWN 使蛇向下 LEFT 使蛇向左 RIGHT 使蛇向右 PAUSE/RESTART 游戏暂停/重新开始 REVERSE 反转屏幕 原理单片机识别微动开关动作的方法是判断该引脚是否置零。将所有微动开关的常开引脚一端接地,另一端接到单片机相应引脚上。 当微动开关触点闭合时,相当于单片机相应引脚接地。
9、当输入“0”信号时,单片机即可识别微动开关闭合,并在程序运行中进行预设变化。 2.2 软件设计 本系统的软件系统主要分为三个模块:MAIN、KEY、SNAKE程序。 2.2.1 系统主程序设计 主程序的任务是系统初始化、清屏、运行SNAKE 和KEY 程序。 程序框图如图2.2所示。 4 开始初始化 ILI 9 3 2 5 清除屏幕并运行 SNAKE。 该进程运行 KEY 并结束。 图2.2 主程序流程图 2.2.2 系统SNAKE程序设计。 SNAKE程序是本系统的核心程序。 这个程序的正常运行直接影响到游戏的进行。 显示及操作效果。其功能为:(1)绘制游戏界面(2)显示死亡
10.死亡界面 (3) 显示过关界面 (4) 控制蛇的移动 (5) 判断蛇是否撞到墙壁 (6) 判断蛇是否咬到自己 (7) 判断蛇是否吃豆子。 程序框图如图2.3所示。 5Y开始绘制游戏界面并根据开关初始化贪吃蛇参数。 控制蛇的移动方向。 结束蛇是否吃豆子。 蛇变得更长。 蛇的长度保持不变。 分数是否达到预设的通关分数。 显示清关界面。 是的。 蛇是否撞到墙壁或碰到自己。 Y 显示。 故障界面 YN 重启 N 图 2.3 SNAKE 程序流程图 2.2.3 系统 KEY 编程 KEY 程序是本系统中唯一的播放器控制程序。 它通过识别玩家对六个独立开关的操作来控制游戏中蛇的方向。 程序框图如图2.4所示。起始位定义了各个开关的名称,标识各个按键代码开关是否按下,并执行变量NY 图2.4 KEY程序流程图