基于单片机的微型游戏机—贪吃的蛇

合集下载

基于单片机的贪吃蛇设计

基于单片机的贪吃蛇设计

基于单片机的贪吃蛇设计本篇论文主要是设计并且着手致力于实现一种基于51单片机的经典的贪吃蛇游戏,主要是研究该游戏的硬件电路和软件编程的设计,同时也简单介绍了应该如何使用Proteus软件进行仿真。

借助仿真软件进行实验测试,可以基本实现游戏一些简单的基本功能。

直至现在,大家都知道且明白了51系列的单片机技术相对而言比较成熟,功能也十分强大,应用较为广泛。

将单片机作为本设计的控制核心,能够使硬件电路大大地简化,用软件来编程控制单片机,来加以实现硬件电路的功能,可以降低能耗,同时也节约成本。

选用C语言编程,比较方便灵活,极大地加快了软件开发的速度,使开发周期缩短了,同时方便移植。

本篇论文比较详细的的介绍了各种硬件的基本特性,贪吃蛇游戏实现的基本功能与详细设计,软件设计的具体说明,每一个模块的细节要求,还有一些功能模块的程序流程图和关键部分代码的详细讲解等。

关键词:Proteus软件仿真;51单片机;Keil;贪吃蛇;LED点阵屏目录1 绪论 (1)1.1研究背景及意义 (1)1.2单片机发展状况 (1)1.3 LED发展状况 (2)1.4 设计特点 (3)2 系统总体设计 (3)2.1设计要求 (3)2.2 系统设计方案 (4)2.2.1硬件设计 (4)2.2.2软件设计 (4)3系统硬件设计 (4)3.18*8LED点阵的原理说明 (4)3.2 LED阵列驱动电路 (4)4系统软件设计 (5)4.1系统主要模块介绍 (5)4.1.1 主函数模块 (6)4.1.2 按键模块 (6)4.1.3 蛇运动控制模块 (6)4.2主程序工作流程 (6)4.3 游戏设计思想 (7)4.4 LED点阵初始化 (8)4.5 贪吃蛇的移动 (9)4.6 食物的随机出现 (9)5联调与测试 (9)5.1软件调试 (9)5.2硬件调试 (10)结论与展望 (13)附录A:系统原理图 (14)附录B:系统PCB图 (15)附录C:系统仿真图 (16)附录D:系统实物图 (16)附录E:系统源程序 (18)1 绪论1.1研究背景及意义时代在不断的进步,人们的生活节奏也因此不断加快,越来越多的人加入了经济化全球化的世界。

基于51单片机贪吃蛇游戏设计资料

基于51单片机贪吃蛇游戏设计资料

中文摘要摘要本文设计了一款新颖的以单片机为控制核心的贪食蛇游戏系统。

所设计的贪食蛇能完成移动、吃食物和摆放游戏自动输出的食物、使之默认出现3节蛇身、吃到每个随机点数而得分等功能。

硬件设计包括LED模块、键盘模块、供电模块驱动模块和下载模块。

软件采用C语言编程,方便灵活,大大加快了软件开发速度,缩短了开发周期,并且便于移植。

为提高开发效率和硬件稳定性,采用了功能强大的硬件仿真软件Proteus,依托该软件提供的仿真环境搭配Keil作为软件开发调试环境进行仿真调试成功。

所设计的贪食蛇游戏系统轻巧便携、老少皆宜,且成本较低,具有一定的市场前景。

关键词:贪吃蛇;单片机;游戏I英文摘要AbstractThis paper designs a novel single-chip microcomputer as the snake game control system. The snake can complete mobile, food and put the game automatically output of food, which appears by default 3 snake, eat each random points and scoring functions. The hardware design includes LED module, keyboard module, power supply module and driving module and download module. The software is programmed with C language, convenient and flexible, greatly accelerate the speed of software development, shorten the development cycle, and easy to transplant. In order to improve the development efficiency and stability of the hardware, the powerful hardware simulation software Proteus, based on the simulation environment of the software provided with Keil as the software development environment for debugging simulation debugging success. Snake game system design of the light and portable, suitable for all ages, and the cost is low, has a certain market prospects.KeyWords:Greedy Snake;51MCU;GameI目录目录第一章绪论 (1)1.1课题设计的背景与意义 (1)1.2 贪食蛇游戏的发展及现状 (2)1.2.1贪食蛇游戏发展历史 (2)1.2.2我国单机游戏的现状 (3)1.3 课题设计的内容与要求 (4)1.3.1课题设计的内容 (4)1.3.2课题设计的要求 (4)1.4设计方案 (4)1.4.1硬件设计 (4)1.4.2软件设计 (5)第二章系统总体设计 (6)2.1 系统基本组成及工作原理 (6)2.2 系统的主要元器件介绍 (8)2.2.1 74HC138 (8)2.2.2 74HC154 (10)2.2.3 74HC595 (12)2.3 主控芯片单片机 (14)2.3.1单片机的介绍 (14)2.3.2单片机的应用 (15)2.4 单片机红外无线 (17)2.4.1红外遥控 (17)2.4.2红外遥控发射 (18)2.4.5红外遥控接收 (19)2.4.6红外编码标准 (19)第三章系统硬件的设计 (21)3.1单片机控制模块的设计 (21)3.1.1 单片机的选择 (21)3.1.2 时钟电路 (24)I目录3.1.3 复位电路 (26)3.1.4 最小系统 (27)3.2 供电电路设计 (27)3.3 显示模块设计 (28)3.3.1 点阵模块 (28)3.3.2 驱动电路设计 (31)3.3.3 行驱动电路 (32)3.3.4 列驱动电路 (33)3.3.5 扫描显示过程 (34)3.3.6 显示模块原理图 (35)3.4下载模块设计 (35)第四章系统软件的设计 (37)4.1软件的整体设计思想 (37)4.2 软件开发环境 (37)4.2.1 keil软件的介绍 (37)4.2.2 软件功能 (38)4.2.3 软件应用流程 (39)4.3系统主函数的设计 (40)4.3.1按键检测模块 (42)4.3.2 显示模块 (43)4.3.3分数模块 (44)第五章系统调试 (46)5.1软件调试 (46)5.2硬件调试 (46)5.3作品展示 (48)总结 (49)参考文献 (50)致谢 (51)附录一:原理图 (I)附录二:原程序 (I)II第一章绪论第一章绪论“贪食蛇”又称为“贪吃蛇”,是一种益智小游戏。

基于51单片机实现的贪吃蛇游戏机开题报告

基于51单片机实现的贪吃蛇游戏机开题报告
以51单片机开发板为核心,通过操控“上”、“下”、 “左”、“右”按键来操控LCD12864显示屏上的贪吃蛇 行进的方向,获取食物,每获得一个食物,贪吃蛇的长 度将增大,达到一定长度时会进行晋级,同时贪吃蛇运 动速度加快。一旦在贪吃蛇的运动过程中碰到屏幕边缘、 障碍物或是蛇身,贪吃蛇死亡,游戏结束。
• 硬
按键开关
方向按键
单片机 扬声器 LCD12864 LCD1602
• 成员分工
软件程序调试: PCB画图与制版: 焊接电路与调试:
• 时间规划(第一周)
谢谢观看
• 预期实现目标
我们希望能够在单片机设计的贪吃蛇的游戏机中设置游 戏等级,通过LCD1604来显示游戏的等级信息以及游戏 得分等信息,在用户进入欢迎界面后,可以进行自由选 择等级,比如:简单,中等,困难。同时,希望能够在 游戏的开始、暂停和结束环节增加一些背景音乐增加趣 味性。
• 初期产品基本效果图
• 设计意义
贪吃蛇是一款简单的益智游戏,我们可以以51单片机为 核心来设计一个简单的贪吃蛇游戏机,这只是单片机应 用的一个点,由点及面,希望可以更好的将理性与感性 相结合,深入了解和应用相关的专业技术,将之前理论 学习的知识运用到实际中,提高实践动手能力,为将来 科研道路打下坚实基础。
• 预期实现目标
电子工艺实习
基于51单片机实现的贪吃蛇游戏机 Greedy Snake Game Based on 51 MCU
• 设想
在课程设计期间,我们学习了以MPS430单片机为核心的 DC/DC降压器的设计,因而想要进一步了解单片机的使 用,而单片机的基础入门必备的就是51单片机,所以我 们就设想通过51单片机来实现一些有意思的功能。于是 我们就想到了用51单片机来实现小时候的益智游戏—— 贪吃蛇。

基于51单片机与点阵的贪食蛇游戏机开发

基于51单片机与点阵的贪食蛇游戏机开发

基于51单片机与8*8点阵的贪吃蛇游戏机开发目录一、硬件设计1、8*8LED点阵的原理说明本设计采用的点阵显示模块是ARK-SZ411288K,其原理结构图如图1所示。

ARK-SZ411288K显示模块是8*8点阵的显示模块,从图1中可以看出,8*8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的图1 8*8LED点阵的原理图二极管就亮。

ARK-SZ411288K可与CPU直接连接,根据引脚说明,将其各个引脚与相应的I/O 口连接。

2、LED阵列驱动电路正向点亮一颗LED,至少也得10~20毫安,若电流不够大,则LED不够亮。

而不管是8051的输入/输出口,还是TTL、CMOS的输出端,其高态输出电流都不是很高,不过1~2毫安而已,因此,很难直接高态驱动LED。

这时候就需要额外的驱动电路,本设计采用的是74HC595,用74HC595芯片驱动LED有以下特点:速度较快,功耗较小,LED的数目多少随意,既可以控制共阴极的LED显示器,也可以控制共阳极的LED显示器,可以软件控制LED的亮度,还可以在必要的时候关断显示(数据保留),以减小功耗,并可随时唤醒显示。

用它设计的电路,不仅软硬件设计简单,而且功耗低,驱动能力强,占用的I/O口线较少,是一种造价低廉,应用灵活的设计方案。

图2 74HC595管脚图74HC595内含8位串入、串/并出移位寄存器和8位三态输出锁存器。

寄存器和锁存器分别有各自的时钟输入(SCLK和SLCK),都是上升沿有效。

当SCLK从低到高电平跳变时,串行输入数据(SDA)移入寄存器;当SLCK从低到高电平跳变时,寄存器的数据置入锁存器。

清除端(CLR) 的低电平只对寄存器复位(QS为低电平),而对锁存器无影响。

当输出允许控制(EN)为高电平时, 并行输出(Q0~Q7)为高阻态,而串行输出(QS)不受影响。

基于单片机的贪吃蛇游戏设计

基于单片机的贪吃蛇游戏设计

基于单片机的贪吃蛇游戏设计学生姓名:学生学号:院(系):电气信息工程学院年级专业:指导教师:二〇一五年五月摘要摘要在21世纪的今天,人们的生活开始变得更加丰富多彩。

在繁忙的工作之余,娱乐成为人们生活不可或缺的一份子,而游戏作为近年来逐渐兴起的一种娱乐方式,已经越来越受到人们的青睐。

在工作学习之余,通过玩游戏来放松、调节紧张的学习工作压力是不错的选择;然而大型的网络游戏玩起来比较耗费时间,且不能随时随地的玩。

那么如果这时候拥有一款简单易携带,并且能够缓解压力的小游戏将是个不错的选择,所以,我就设计了这样一款简单易携带的经典小游戏——贪吃蛇。

具体实现上,硬件系统平台采用STC89C52R单片机,搭载LCD12864显示屏,构成一个轻巧简单的游戏机系统。

软件系统采用C语言编程,Protues软件设计电路并仿真,KEIL软件进行程序的调试。

最终实现贪吃蛇游戏系统。

本次设计的贪吃蛇游戏,实现了传统意义上的贪吃蛇游戏的特点:蛇吃掉豆子后,得分增加并且蛇身变长;分数到达一定数目进行升级以后,蛇运动速度加快。

而玩家只需利用方向按钮“上↑、下↓、左←、右→”来改变蛇的运行方向,就能达到娱乐的目的,操作非常简单。

关键词:贪吃蛇游戏,STC89C52R单片机,LCD12864,C语言ABSTRACTIn the 21st century today, people's life become more colorful, In the outside of busy work, entertainment become an integral part of people's life, And the game as emerging in recent years, a kind of entertainment, already more and more get the popular of people, In the outside of work and study, through the play games to relax, adjust the pressure of learning is a good choice; However large network game play more time-consuming,And can't play anywhere, anytime. So if this time has a simple is easy to carry, and can ease the pressure of small game will be a good choice. So, I would design such a simple and easy to carry small classic game –the snake game.On the concrete implementation, with STC89C52RCSingle chip microcomputer system platform, with a LCD display, constitute a lightweight simple game system. Software use C language programming, use Protues software Circuit design and simulation, KEIL Software program debugging, Finally realizes the snake game system.The design of the snake game, Achieved in the traditional sense of the snake game features: after the snake to eat beans, scores and snake-body variable length; Score to reach a certain number after the upgrade, the snake's movement speed. Players need to use the direction key "↑,up, down, left, right , to change the running direction of snake, and can achieve the purpose of entertainment ,the operation is very simple.Key words:Greedy Snake Game, STC89C52RCSingle chip microcomputer, LCD12864,C language目录摘要 (I)ABSTRACT (2)1绪论 (6)1.1本课题研究的背景及意义 (6)1.2 国内外研究现状、水平 (6)1.3 本课题的发展趋势 (1)1.4本课题的研究内容和达到的要求 (1)2 方案分析与选择 (2)2.1 系统方案设计 (2)2.2显示器模块设计方案 (2)2.3 按键输入模块设计方案 (3)2.4 本课题的技术指标 (3)2.5 本课题的创新 (3)3 系统硬件设计 (4)3.1单片机的选择与其性能分析 (4)3.1.1 单片机概述 (4)3.1.2 单片机STC89C52RC的介绍 (4)3.1.3 单片机最小系统的介绍 (5)3.2 LCD12864简介 (6)3.2.1 LCD12864概述 (6)3.2.2 LCD128*64的基本特性 (6)3.2.3 模块接口说明 (7)3.2.4 指令说明 (9)3.3 键盘电路的设计 (11)3.4 蜂鸣器电路的设计 (11)3.4.1蜂鸣器简介 (11)3.4.2 蜂鸣器的设计 (12)4 软件系统设计 (13)4.1 游戏设计思想 (13)4.2 主要模块介绍及其功能 (14)4.3 编程语言介绍 (15)4.3.1 C语言简介 (15)4.3.2 C源程序结构特点 (15)4.4 程序设计流程图 (16)5 仿真设计与结果分析 (17)5.1 仿真软件的简介 (17)5.1.1 仿真软件Proteus的简介 (17)5.1.2 keiluVision4编程开发工具的简介 (17)5.2本系统的Proteus仿真设计 (18)5.2.1仿真设计的预期目标 (18)6 PCB设计 (19)6.1 PCB设计软件 (19)6.1.1 PCB原理图设计 (19)6.1.2 PCB板制作方法 (19)6.2 PCB的EMC设计 (1)6.2.1 元器件布局的基本原则 (1)6.2.2 布线设计原则 (1)6.3 印制电路板 (1)6.3.1 印制电路板的结构 (1)6.3.2 印制电路板的种类 (1)6.3.3 印制电路板制作流程 (1)7 系统调试 (2)7.1 硬件调试 (2)7.2 软件调试 (3)7.3 硬件软件联合调试 (3)7.4 调试结果 (3)结论 (7)参考文献 (8)附录一:系统PCB原理图 (9)附录二:系统仿真图 (10)附录三:PCB图 (11)附录四:程序主函数 (1)附录五:原器件清单 (6)致谢 ............................................................................................. 错误!未定义书签。

at89c52单片机贪吃蛇代码复制

at89c52单片机贪吃蛇代码复制

AT89C52单片机贪吃蛇代码复制在学习单片机编程的过程中,贪吃蛇游戏是一个非常经典且具有挑战性的项目。

而AT89C52单片机是一款功能强大的微控制器,具有丰富的外设和灵活的编程能力。

将贪吃蛇游戏移植到AT89C52单片机上是一个非常有趣和有益的练习。

在这篇文章中,我们将深入探讨AT89C52单片机贪吃蛇代码的复制过程并进行分析,希望能为大家在学习单片机编程和游戏开发方面提供一些帮助和启发。

一、探索AT89C52单片机AT89C52单片机是由英特尔公司生产的一款经典8位微控制器,具有丰富的外设资源和强大的数据处理能力。

其主要特点包括4KB的Flash程序存储器、128字节的RAM、32个I/O端口、以及定时器/计数器等外设。

AT89C52还支持多种编程语言,如汇编语言和C语言,极大地方便了程序员的开发和编程。

二、贪吃蛇游戏简介贪吃蛇游戏是一个非常经典的休闲游戏,玩家操控一条小蛇在游戏界面上不断吃食物并长大,同时要避开障碍物和边界,直到蛇撞到自己或游戏结束条件触发。

这个游戏具有简单易懂的规则和玩法,同时也能锻炼玩家的反应能力和策略思维。

三、AT89C52单片机贪吃蛇代码复制在复制贪吃蛇游戏代码到AT89C52单片机之前,我们首先需要了解贪吃蛇游戏的逻辑结构和实现方式。

通常来说,贪吃蛇游戏的实现包括游戏界面的绘制、蛇的移动和生长、食物的生成和碰撞检测等部分。

在AT89C52单片机上,由于资源的限制和外设的特点,我们需要对代码进行相应的优化和适配。

我们需要根据AT89C52单片机的硬件特点和外设资源,设计游戏的界面和控制方式。

我们可以利用单片机的GPIO口和定时器/计数器来模拟游戏界面的绘制和更新,并设置按键输入来控制蛇的移动方向。

我们需要设计相应的数据结构和算法,来实现蛇的移动和生长、食物的生成和碰撞检测等功能。

在编写代码的过程中,我们需要充分利用单片机的中断和定时器功能,以保证游戏的流畅性和响应速度。

基于单片机的贪食蛇设计

基于单片机的贪食蛇设计

基于单片机的贪食蛇设计一、引言贪食蛇是一款经典的电子游戏,也是很多人童年的回忆。

在这个项目中,我们将使用单片机设计并实现一个基于单片机的贪食蛇游戏。

通过这个项目,我们可以学习并理解单片机的使用、游戏的逻辑设计和开发过程。

二、设计原理1.单片机选择和引脚配置我们选择使用ATmega16单片机作为主控芯片。

ATmega16是一款8位的RISC微控制器,具有很强的处理能力和丰富的外设资源。

我们将连接LCD显示屏、按键、LED等外设,以实现游戏的显示和交互功能。

2.游戏逻辑设计贪食蛇游戏的逻辑设计包括蛇的移动、食物的生成和判断是否吃到食物等功能。

(1)蛇的移动蛇的移动是游戏的核心逻辑之一、在每一个游戏周期内,蛇的位置将根据用户的输入进行更新。

当蛇吃到食物后,蛇将会增加身体长度,移动的方式则是在蛇头的位置插入新的节点,同时删除蛇尾的节点。

(2)食物的生成食物的生成是贪食蛇游戏的另一个重要功能。

食物的生成应该遵循一定的规则,例如不能生成在蛇身上。

当蛇吃到食物后,游戏分数将增加,并且在一个合适的位置生成新的食物,继续进行游戏。

(3)判断是否吃到食物判断蛇是否吃到食物是游戏进行的关键判断。

当蛇的头部位置与食物位置重合时,就表示蛇吃到了食物,游戏的分数将增加。

3.外设的接口设计我们将使用LCD显示屏、按键和LED等外设与单片机进行交互。

(1)LCD显示屏我们将使用LCD显示屏来显示游戏的界面和分数。

单片机通过并行或者串行接口与LCD进行通讯,将游戏界面和分数进行显示。

(2)按键按键用于控制蛇的移动方向,例如上、下、左、右。

通过检测按键的状态,单片机可以识别用户的输入,并根据输入来更新蛇的位置。

(3)LEDLED用于显示游戏的状态,例如游戏是否开始、是否结束等。

通过控制LED的亮灭,我们可以通过外设来反馈游戏的状态。

三、系统实现1.硬件连接将ATmega16单片机与LCD显示屏、按键和LED进行连接。

根据单片机和外设的引脚映射关系,正确地连接到单片机的对应引脚。

基于51单片机的贪吃蛇游戏设计

基于51单片机的贪吃蛇游戏设计

基于51单⽚机的贪吃蛇游戏设计本科时候做的⼀个课程作业,⾃⼰搭⼀个很简易的电路,⽐较有意思且易上⼿,故将之记录下来。

(全套的仿真及代码,演⽰视频,课程报告以及PPT展⽰上传在。

)⼀. 实验⽬的(1)通过对C51语⾔的理解,编写程序实现对贪吃蛇的有效控制;(2)通过对51单⽚机硬件的学习,学会运⽤⾯包板,独⽴按键、点阵屏等,完成对完整电路的搭建过程;(3)通过对Proteus仿真软件的学习,实现基于STC89C52单⽚机的8*8点阵贪吃蛇的硬件电路仿真。

⼆. 实验介绍贪吃蛇是⼀款经典⼩游戏,其游戏的规则是:玩家通过四个⽅向键来控制蛇的移动,控制其在地图上吃⾖⼦。

吃掉⾖⼦后蛇⾝相应加长,蛇⾝速度加快。

蛇运动过程中撞到墙壁或蛇⾝,则⽴即结束本轮游戏。

三. 实现功能(1)制作⼀个8*8点阵的贪吃蛇游戏;(2)通过LED点阵屏为载体显⽰数据;(3)外接4个独⽴按键作为输⼊端,分别控制蛇的移动⽅向(上、下、左、右);(4)蛇头与墙壁或蛇⾝相撞,随即结束游戏并复位。

四. ⽅案设计在该系统中,硬件部分包括STC89C52单⽚机,8*8点阵屏,4个按键;软件部分是在keil环境下⽤C51语⾔编写,设置蛇的初始段数为2点,并设置有障碍墙壁,游戏结束后⾃动复位。

(1)贪吃蛇的移动在贪吃蛇的移动过程中,每次需要将蛇头要到的下⼀个LED灯点亮,对应蛇尾的LED灯熄灭。

在程序中即是先把蛇尾位置的值传给蛇头的下⼀个位置,然后改变蛇尾的值即可。

蛇头下⼀个位置的确定由蛇头和偏移量来确定,每次通过操作四个独⽴按键来控制蛇步进的偏移量。

因⽽只要将蛇头的位置加上其偏移量的值,即可得到新的蛇头位置。

(2)⾷物的出现在市场上所流⾏的贪吃蛇游戏中,⾷物的出现是⼀种随机⾏为,这在程序中需要做⼀个随机数来⽀撑该过程。

我们组在实验过程中也尝试了该过程,最终选择让⾷物出现在蛇尾的后⼀步,来执⾏整个程序。

与此同时,⾷物出现的位置不能与蛇的位置重合,也不能超出墙外,否则需要重置⾷物。

基于51单片机的贪吃蛇游戏设计(Proteus仿真含完整程序)

基于51单片机的贪吃蛇游戏设计(Proteus仿真含完整程序)

中北大学硬件大型实验说明书学生姓名:学号:学院: 计算机与控制工程学院专业: 计算机科学与技术题目: “贪吃蛇”游戏设计指导教师:职称:2016 年 9 月 14 日目录一、需求分析 (1)二、工具 (1)三、概要设计 (1)四、详细设计(硬件设计和连接部分) (2)1.组件介绍 (2)1)AT89C55单片机 (2)2)Matrix-8X8点阵屏幕 (3)3)74LS154译码器 (3)4)CMOS反相器 (4)5)按键 (4)6)7-SEG BCD (5)2.硬件设计 (5)五、心得体会 (7)附录I(程序) (9)附录II(运行截图) (16)一、需求分析我们的课程设计题目是基于51单片机和一些基础组件设计出一个贪吃蛇游戏。

游戏的实现需要一个16x16的屏幕(由4个8x8的点阵屏组成)和5个按键,其中4个按键控制贪吃蛇的前进方向,另外一个按键可以使游戏重新开始。

另外还需要一个显示BCD码的数字型LED灯组用于记录得分。

贪吃蛇游戏需要实现的功能是:游戏开始时会出现一个长度为init_length的贪吃蛇,和一个随机出现的苹果(必须是贪吃蛇蛇身以外的一个点)。

玩家可以通过按键控制贪吃蛇的前进方向,但是只能转向,而不能向前或者向后,例如:当贪吃蛇向上行走时,只能通过左键和右键来让它左转或者右转,另外两个按键将失灵。

当贪吃蛇吃到苹果后,贪吃蛇尾部将会增加一个点,而屏幕上又会随机出现一个不与贪吃蛇重合的点。

此时积分器加一。

当贪吃蛇马上就要“撞向”屏幕边缘时,会从相反的一边钻出来。

所以“撞墙”并不会导致游戏结束。

而当贪吃蛇吃到自身时则会使游戏结束,并且会自动回到游戏初始化时的状态。

任何时候按下“重新开始”按键都将使游戏回到初始状态。

二、工具51单片机开发板,Keil uVision3,ISIS 7 Professional。

三、概要设计根据我们要实现的功能,我们决定把这次课程设计分成三个部分。

第一个部分为硬件设计和连接部分。

基于单片机的贪吃蛇游戏设计学士学位论文

基于单片机的贪吃蛇游戏设计学士学位论文

基于单片机的贪吃蛇游戏设计学生姓名:学生学号:院(系):电气信息工程学院年级专业:指导教师:二〇一五年五月毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。

尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。

对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。

作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。

作者签名:日期:学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。

除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。

对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。

本人完全意识到本声明的法律后果由本人承担。

作者签名:日期:年月日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。

本人授权大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。

涉密论文按学校规定处理。

作者签名:日期:年月日导师签名:日期:年月日注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。

基于单片机与三维建模的贪吃蛇游戏机的综合设计

基于单片机与三维建模的贪吃蛇游戏机的综合设计

SCM Technology •单片机技术Electronic Technology & Software Engineering 电子技术与软件工程• 245【关键词】单片机 三维建模 贪吃蛇游戏机 电路设计1 引言随着产品的微小化和智能化,单片机的发展越来越重要,它现在是智能化的技术核心;同时智能制造的综合性要求也越来越高。

基于智能制造的背景下,综合设计与制作也是必不可少的。

而贪吃蛇游戏机的研究,以往是基于8x8LED 点阵或者16x16LED 点阵的贪食蛇游基于单片机与三维建模的贪吃蛇游戏机的综合设计文/韦翠华戏设计,能实现的功能一般包括:食物的随机出现,贪吃蛇的移动。

以往的研究缺乏一个作品的系统设计完整性过程,基于这个趋势提出了基于单片机与三维建模的贪吃蛇游戏机的综合设计。

并在原来的功能上增加难度,增加功能,增加音乐,改善显示部分,设计这样一款多功能综合性的贪吃蛇游戏机。

2 硬件电路设计设计的贪吃蛇游戏机由51单片机的AT89系列的控制芯片,最小硬件系统模块,显示屏模块,键盘设计部分,声音模块组成,系统设计框图如图1所示。

2.1 最小硬件系统单片机的最小系统电路如图2所示,复位电路是由RST 引脚进入到51单片机芯片的特有触发器。

若单片机的复位引脚RST 出现2个机器周期以上的高电平时,单片机就执行复位操作。

单片机的复位电路有上电自动复位和按键手动复位两种方式,本设计选用上电自动复位方式。

上电瞬间的情况下,因电容的充电电流很大,电容相当于短路,RST 端就产生高电平, 开始自动复位;当电容的电压达到电源的额定电压值时,电容的充电电流就会变为0,电容就会接近开路,这一刻RST 端变成低电平,程序开始正常稳定运行。

2.2 显示部分通过对比分析以往的研究成果,发现在单片机显示屏的选择上分为LED 点阵屏和液晶显示屏,因为LED 显示屏元器件的显示单一和引脚繁杂导致电路图复杂,容易影响显示的效果,而液晶显示屏显示清晰,功能多样化,可以显示汉字、字符、自定义图形等,控制方便。

基于单片机的贪吃蛇毕业答辩

基于单片机的贪吃蛇毕业答辩

湖州师范学院求真学院 2010年060834班
湖州师范学院求真学院 毕业论文答辩
软 件 Software
系初统始化
➢定时器 ➢12864 ➢游戏界面
湖州师范学院求真学院 2010年060834班
湖州师范学院求真学院 毕业论文答辩
软 件 Software
12864 ➢初始化 ➢清屏
湖州师范学院求真学院 2010年060834班
湖州师范学院求真学院 毕业论文答辩
框 架 Scheme
硬件设计 软件设计
系统初始化 贪吃蛇算法
班 湖州师范学院求真学院 2010年060834
湖州师范学院求真学院 毕业论文答辩
硬 件 Hardware
湖州师范学院求真学院 2010年060834班
11Li
湖州师范学院求真学院 毕业论文答辩
软 件 Software
基于单片机的贪吃蛇游戏设计 毕业论文答辩
简 介 Synopsis
本论文阐述的是一种基于单片机的贪吃蛇游戏设 计方案,由AT89S52单片机控制电路、12864液晶显 示电路等构成。游戏开始后,通过按键控制蛇上下左 右地移动方向,吃掉围墙内随机出现的食物,若蛇撞 到墙壁或通过所有的关,游戏结束。
湖州师范学院求真学院 2010年060834班
湖州师范学院求真学院 毕业论文答辩
软 件 Software
分数和速度处理
游戏失败处理ຫໍສະໝຸດ 游戏成功处理湖州师范学院求真学院 2010年060834班
谢谢!
湖州师范学院求真学院 毕业论文答辩
软 件 Software
游戏界面 ➢字符串的显示 ➢矩形的显示
湖州师范学院求真学院 2010年060834班
贪吃蛇算法

基于单片机的贪吃蛇游戏机设计与实现开题报告

基于单片机的贪吃蛇游戏机设计与实现开题报告

基于单片机的贪吃蛇游戏机设计与实现1设计的背景及目的随着社会的发展,人们生活的步调日益加快,越来越多的人加入了全球化的世界。

人们不再拘泥于一块天地,加班,出差成了现代人不可避免的公务。

而此时一款可以随时随地娱乐的游戏成了必需品。

贪吃蛇这一游戏简单易行,操作方便,娱乐性较强,吸引了不少人。

这一款游戏紧紧地抓住了人们的心理,虽然简单,却其乐无穷,在人们不断追求更多的欲望下,该游戏给人们带来了追逐的快感,以及成功后的满足感,对于一直处于高压下的现代人是很好的放松工具。

如今,游戏机风行的程度,是第一台电子游戏机的研制者诺兰-布什纳尔先生始料不及的。

在全世界最大的城市,直至最小的村庄,从纽约最辉煌的游乐场,到高加索最小的乡镇儿童娱乐点,在千家万户,正在进行着千千万万这样的“战斗”,伴随着无数成功与失败,兴奋与懊丧。

游戏机带来了一个全球性的疯狂症,其他任何娱乐与之相比都望尘莫及。

然而,究竟是什么原因使游戏机如此风行呢?在回顾了游戏机发展简史之后,我们不难悟出,技术进步在游戏机发展过程中起到了极大的促进作用。

当前科学技术飞速发展,特别是微电子技术,计算机软件与应用技术的发展,使得人们的日常生活丰富多彩。

单片微型计算机(简称单片机)作为微型计算机家族的一员,以其独特的结构,良好的稳定性,便宜的价格在嵌入式领域广泛应用。

与传统的PC上设计的贪吃蛇游戏不同,本次作者利用Proteus硬件仿真软件,采用单片机、液晶显示屏、扬声器、按键等搭建硬件平台,C语言编程,实现便携地贪吃蛇游戏。

随着深蓝计算机与人的棋类对决,到现在的PSP游戏机或者是家庭用的X-BOX游戏机,游戏机的技术是日益的发展、进步。

但是,技术进步绝不是游戏机风行的唯一因素。

随着终端设备开发能力的加强,作为娱乐终端的游戏机也得到了很大程度的发展。

只有得到了游戏终端技术的支持,才能做出更新、更高难的游戏。

这也加速了游戏机在全球风行程度,所以对于游戏机的研究和设计具有很重要的意义,这也是本课题研究的来源。

基于单片机的贪吃蛇游戏设计

基于单片机的贪吃蛇游戏设计

基于单片机的贪吃蛇游戏设计学生姓名:学生学号:院(系):电气信息工程学院年级专业:指导教师:二〇一五年五月摘要在21世纪的今天,人们的生活开始变得更加丰富多彩。

在繁忙的工作之余,娱乐成为人们生活不可或缺的一份子,而游戏作为近年来逐渐兴起的一种娱乐方式,已经越来越受到人们的青睐。

在工作学习之余,通过玩游戏来放松、调节紧张的学习工作压力是不错的选择;然而大型的网络游戏玩起来比较耗费时间,且不能随时随地的玩。

那么如果这时候拥有一款简单易携带,并且能够缓解压力的小游戏将是个不错的选择,所以,我就设计了这样一款简单易携带的经典小游戏——贪吃蛇。

具体实现上,硬件系统平台采用STC89C52R单片机,搭载LCD12864显示屏,构成一个轻巧简单的游戏机系统。

软件系统采用C语言编程,Protues软件设计电路并仿真,KEIL软件进行程序的调试。

最终实现贪吃蛇游戏系统。

本次设计的贪吃蛇游戏,实现了传统意义上的贪吃蛇游戏的特点:蛇吃掉豆子后,得分增加并且蛇身变长;分数到达一定数目进行升级以后,蛇运动速度加快。

而玩家只需利用方向按钮“上↑、下↓、左←、右→”来改变蛇的运行方向,就能达到娱乐的目的,操作非常简单。

关键词:贪吃蛇游戏,STC89C52R单片机,LCD12864,C语言ABSTRACTIn the 21st century today, people's life become more colorful, In the outside of busy work, entertainment become an integral part of people's life, And the game as emerging in recent years, a kind of entertainment, already more and more get the popular of people, In the outside of work and study, through the play games to relax, adjust the pressure of learning is a good choice; However large network game play more time-consuming,And can't play anywhere, anytime. So if this time has a simple is easy to carry, and can ease the pressure of small game will be a good choice. So, I would design such a simple and easy to carry small classic game –the snake game.On the concrete implementation, with STC89C52RCSingle chip microcomputer system platform, with a LCD display, constitute a lightweight simple game system. Software use C language programming, use Protues software Circuit design and simulation, KEIL Software program debugging, Finally realizes the snake gamesystem.The design of the snake game, Achieved in the traditional sense of the snake game features: after the snake to eat beans, scores and snake-body variable length; Score to reach a certain number after the upgrade, the snake's movement speed. Players need to use the direction key "↑,up, down, left, right , to change the running direction of snake, and can achieve the purpose of e n t e r t a i n m e n t,t h e o p e r a t i o n i s v e r ysimple.Key words:Greedy Snake Game, STC89C52RCSingle chip microcomputer, LCD12864,C language目录摘要 .......................................................................................................... I I ABSTRACT .. (1)1绪论 (2)1.1本课题研究的背景及意义 (2)1.2 国内外研究现状、水平 (2)1.3 本课题的发展趋势 (3)1.4本课题的研究内容和达到的要求 (3)2 方案分析与选择 (2)2.1 系统方案设计 (2)2.2显示器模块设计方案 (2)2.3 按键输入模块设计方案 (3)2.4 本课题的技术指标 (3)2.5 本课题的创新 (3)3 系统硬件设计 (4)3.1单片机的选择与其性能分析 (4)3.1.1 单片机概述 (4)3.1.2 单片机STC89C52RC的介绍 (5)3.1.3 单片机最小系统的介绍 (6)3.2 LCD12864简介 (7)3.2.1 LCD12864概述 (7)3.2.2 LCD128*64的基本特性 (7)3.2.3 模块接口说明 (8)3.2.4 指令说明 (10)3.3 键盘电路的设计 (13)3.4 蜂鸣器电路的设计 (14)3.4.1蜂鸣器简介 (14)3.4.2 蜂鸣器的设计 (14)4 软件系统设计 (16)4.1 游戏设计思想 (16)4.2 主要模块介绍及其功能 (18)4.3 编程语言介绍 (18)4.3.1 C语言简介 (18)4.3.2 C源程序结构特点 (19)4.4 程序设计流程图 (19)5 仿真设计与结果分析 (20)5.1 仿真软件的简介 (20)5.1.1 仿真软件Proteus的简介 (20)5.1.2 keiluVision4编程开发工具的简介 (2)5.2本系统的Proteus仿真设计 (2)5.2.1仿真设计的预期目标 (2)6 PCB设计 (2)6.1 PCB设计软件 (2)6.1.1 PCB原理图设计 (2)6.1.2 PCB板制作方法 (2)6.2 PCB的EMC设计 (2)6.2.1 元器件布局的基本原则 (2)6.2.2 布线设计原则 (2)6.3 印制电路板 (2)6.3.1 印制电路板的结构 (2)6.3.2 印制电路板的种类 (2)6.3.3 印制电路板制作流程 (2)7 系统调试 (2)7.1 硬件调试 (2)7.2 软件调试 (1)7.3 硬件软件联合调试 (1)7.4 调试结果 (1)结论 (3)参考文献 (4)附录一:系统PCB原理图 (5)附录二:系统仿真图 (2)附录三:PCB图 (1)附录四:程序主函数 (2)附录五:原器件清单 (2)致谢............................................................................... 错误!未定义书签。

基于51单片机的贪吃蛇游戏

基于51单片机的贪吃蛇游戏

基于 51单片机的贪吃蛇游戏063210摘要:本文讲的是基于STC89C51单片机为微处理器的贪吃蛇游戏,实现功能有随机产生果实,初始时为2节蛇身,吃到果实然后变长,然后通过数码管显示吃掉的个数即分数,通过16*16的1588BS显示蛇身和果实。

软件用C语言进行编写,硬件采用键盘,点阵显示单片机最小系统。

事先还通过Proteus进行仿真,仿真成功之后进行硬件搭建。

关键词:单片机;贪吃蛇;仿真引言如今虽然51是8位微处理器,已经落伍了,但是现在各大高校,仍然对51进行开设课程讲解。

51作为一个入门级的单片机,确实比较好理解,对51也将继续应用下去1.游戏实现功能贪吃蛇通过4个8*8点阵组成的16*16点阵显示,然后通过stc89c51单片机作为MCU 进行控制,通过c语言进行编写,通过下载电路将hex文件下载到单片机里面。

此游戏,通道8个键盘,实现上下左右,左上右上左下右下,八个方向进行移动。

然后通过数码管进行显示吃到的果实的个数,也是得到的分数。

用8个键控制蛇运动的方向,设置边缘为墙壁。

当头碰到墙壁或者自己时死亡,死亡之后,恢复到初始状态。

1.1588BS点阵1588BS内部就是一个8*8个发光二极管连接起来。

一排8个二极管,有个共阳极,如果把共阳极置1,剩下8个引脚只有置零就会亮,通过这种方式对某个位置的点阵进行控制。

3.实现贪吃蛇的算法实现贪吃蛇的基本过程为,就是通过点阵点亮蛇身,然后随机产生果实,也点亮,通过键盘控制使得蛇身进行移动,吃到果实,蛇身变长。

当头碰到墙壁或者自己时,游戏结束。

我通过一个一维数组存储蛇身的位置信息和果实的位置信息,当移动时,蛇头根据计算得到移动后的距离,而后面的每一节等于上次上一节的数据。

来实现移动的效果。

当吃到过果实时,将果实的位置赋值为蛇头,依次执行之前的操作,接着再随机产生果实。

移动主要实现代码如下:for(i=n-1;i>1;i--){x[i]=x[i-1];y[i]=y[i-1];}x[1]=x[2]+addx;y[1]=y[2]+addy;判断撞墙或者撞自己代码bit knock(){bit k;k=0;if(x[1]>15||y[1]>15)k=1;for(i=2;ireturn k;}4.系统仿真设计因为stc89c51的引脚过少,所以为了节省引脚,用了74ls138译码器,进行对1588BS进行控制,由于译码器只是一个引脚输出为1其余为0,所以为了和1588BS搭配使用,我又采用了非门进行取反。

基于51单片机的贪吃蛇游戏的开题报告

基于51单片机的贪吃蛇游戏的开题报告

基于51单片机的贪吃蛇游戏的开题报告
一、项目背景
贪吃蛇是一个经典的游戏,深受广大玩家的喜爱。

本项目基于51单片机实现贪吃蛇游戏,旨在通过此项目掌握嵌入式系统设计及单片机编程技术。

二、项目概述
本项目的主要功能是实现贪吃蛇游戏。

通过51单片机实现游戏中的各种功能,包括蛇的移动,食物的产生,得分统计等。

同时,还需要设计合适的硬件电路,包括数码管、按键等,实现游戏的交互。

三、项目计划
1. 硬件设计
设计所需硬件电路,包括数码管、按键等,以实现游戏的交互。

2. 软件设计
(1)初始化
初始化游戏画面,初始化蛇的位置和方向,初始化食物位置,初始化得分等变量。

(2)蛇的移动
实现蛇的移动,根据按键输入确定蛇的方向,并判断是否碰到边界或自己的身体,以及是否吃到食物等。

(3)食物的产生
通过随机函数产生食物的位置,并将其显示在屏幕上。

(4)得分统计
统计蛇吃到的食物数量,每吃一个食物得分加一。

(5)游戏结束
当蛇碰到边界或自己的身体时,游戏结束,显示得分。

3. 调试测试
完成软硬件设计后,进行测试调试,确保游戏功能正常。

四、预期成果
通过本项目,期望掌握51单片机编程技术,熟练掌握嵌入式系统设计,实现一个基于51单片机的贪吃蛇游戏。

五、参考文献
1.《51单片机原理与应用》
2.《嵌入式系统开发技术详解》
3.《C语言程序设计实践》。

贪吃蛇游戏单片机程序

贪吃蛇游戏单片机程序

摘要本文基于单片机设计的贪吃蛇游戏,具有传统意义上的贪吃蛇游戏的特点:吃豆子蛇身增长,得分;分数达到一定等级进行升级以后,蛇运动速度加快等。

为节省存储空间,游戏算法上进行了新的设计,定义一个一维数组,利用位操作存储读取蛇头的运动状态信息。

具体实现上,硬件系统平台采用51系列单片机,搭载LCD,构成了一个轻巧便携的游戏机系统。

文中具体介绍了使用到的各种硬件的特性,游戏的各种功能与详细设计,软件的具体设计思路,各模块的详细介绍,部分模块的程序流程图,状态迁移图,关键部分代码的详细讲解等。

关键词:贪吃蛇游戏;单片机;LCD12864In this paper,the Snake game is such a game based on single chip,with the traditional Snake game features: Snake body grows and scores with eating a bean;Scores reached a certain number to upgrade the level and speed.In order to save the storage space,the algorithms of game makes anew design.By defining a one-dimensional array,snake head's motion states are stored and read in this array with bit operation.The hardware system uses single chip platform with LCD, ultimately forming a compact portable game system.The article introduces the use of a variety of hardware features,the game features and the detailed design,software design of the specific ideas,details of various modules,some modules of the program flow chart,state transition graph,a key part of the code details and so on.Keywords:Greedy Snake Game; single chip; LCD12864摘要 (I)目录 (III)第一章绪论1.1手持游戏介绍 (1)1.2研究背景与意义 (1)1.3手持游戏的发展状况 (1)第二章单片机简介 (4)2.1单片机的定义 (4)2.2单片机的基本结构 (4)2.3单片机执行指令的过程 (5)2.4单片机的特点 (6)第三章 LCD12864原理 (7)3.1 LCD12864概述 (7)3.2 LCD12864主要硬件构成说明 (8)3.3 LCD12864外部接口 (9)3.4 LCD12864指令说明 (10)3.5 LCD12864读写操作时序 (12)3.6 LCD12864的应用说明 (14)第四章系统硬件设计 (14)4.1系统结构框图 (15)4.2系统原理图 (15)4.3主要模块介绍及其功能 (16)第五章系统软件设计 (18)5.1游戏设计思想 (18)5.2系统软件设计流程图 (19)5.3贪吃蛇游戏系统实现主程序 (20)第六章系统运行结果 (26)第七章结束语..................................... ,30参考文献.. (31)致谢 (32)第一章绪论1.1手持游戏介绍手持游戏起源于1976年,由美国Mattel公司开发的Mattel Electronics Handheld Games系列。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

北京理工大学珠海学院毕业论文基于单片机的微型游戏机—贪吃的蛇摘要单片微型机简称单片机,它是在一片芯片上集成了中央处理部件,存储器、定时器/计数器和各种输入输出设备等接口部件。

单片机是微机发展的一个重要的分支,自问世以来,性能不断地改善和提高,加之单片机具有集成度高、功能强、速度快、体积小、功耗小、使用方便、性能可靠、价格便宜等优点,故在工业控制、数据采集和处理、通信系统、家用电器等领域的应用日益广泛。

国内虽然起步较晚,但单片机的潜力越来越被人们所重视,尤其在工业控制、自动化仪器仪表、计算机系统接口、智能化外设等应用领域发展很快。

它的应用对于产品升级换代、机电一体化都具有重要的意义,在工业生产中,电流、电压、温度、压力、流量、流速和开关量都是常用的主要被控参数,被用于各种不同产品的生产。

在通信行业更为广泛利用,手机从只能基本通话,到现在一台手机拥有各种不同的功能,单片机得到了广泛的应用。

手机可以听音乐,听收音机,玩游戏,照相片等等,比较流行的手机游戏贪吃蛇就能用单片机实现。

关键词:51单片机贪吃蛇游戏Based on single chip micro-game - greedy snakeABSTRACTSingle-chip microprocessor referred to as microcontrollers, which is integrated on a chip, a central processing unit, memory, timer / counters and a variety of input and output devices such as Interface Unit. SCM is a microprocessor development, an important branch, since its inception, performance, continuous improvement and increase, coupled with microcontroller with an integrated high, strong function, high speed, small size, power consumption, easy to use, reliable, cheap, etc. advantages, so in the industrial control, data acquisition and processing, communication systems, home appliances and other fields increasingly wide range of applications. Although the domestic late start, but the potential of SCM has been growing attention, especially in industrial control, automation instruments and meters, computer system interface, intelligent peripherals and other applications developed rapidly. Its application for the upgrading of products, mechanical and electrical integration, have important significance in industrial production, current, voltage, temperature, pressure, flow, flow rate and switching capacity are commonly used parameters of the main accused, was used for a variety production of different products. More extensive use of the communications industry, cell phone calls from can only be basic to the present, mobile phones have a variety of functions, single-chip has been widely used. Phone can listen to music, listening to the radio, play games, according to photos, etc., the more popular cell phone game Snake will be able to use SCM.Keyword:51singlechip snake game目录1 第一章绪论 (1)1.1概述 (1)1.2选题背景 (1)1.3课题分析 (1)1.4思路设计 (1)2第二章系统的基本组成和工作原理 (2)2.1系统的基本组成 (2)2.2系统的工作原理 (2)3第三章显示电路的选取和设计 (2)3.1游戏显示的器件选择 (2)3.2显示功能的硬件电路 (3)4第四章键盘扫描的电路设计 (4)4.1键盘扫描思路设计 (4)4.2键盘硬件电路设计 (4)5第五章系统程序设计 (5)5.1编译软件 (5)5.2软件设计工具 (5)5.3C51 优化的 C 语言交叉编译器 (10)5.4系统设计流程图 (11)参考文献 (15)附录 (16)谢辞 (43)1 第一章绪论1.1概述本设计采用80C51核心的单片机最小系统,80C51是MCS—51系列单片机钟CHMOS工艺的一个典型品种。

另外,其他厂商以8051为基核开发出CHMOS工艺单片机产品统称为80C51系列。

贪吃蛇游戏采用ATS892的80C51系列的芯片,AT89S52具有8KB空间ROM,256B的RAW,4个并行接口,1个串行接口,3个定时计数器,6个中断源。

拥有大量的程序存储空间,大大减轻了对程序的编写和算法的要求。

丰富的硬件资源可使外围电路变得更简单。

1.2选题背景贪吃蛇是家喻户晓的益智类小游戏,选择这个题目一是为了将自己的所学知识加以运用,二是一直以来贪吃蛇这个游戏就深深地吸引着我,它的制作方法对于以前的我而言都是很神秘的。

我希望通过自己的所学知识把它剖析开来,真真正正的了解它的本质和精髓。

虽然我的编程能力不是很强,但是我有信心,在这次学习中我将从实践和实际的项目中提高自己的编程能力。

因此我选定了这个题目。

1.3课题分析贪吃蛇游戏设计主要硬件由单片机最小系统,TFT彩屏,4X4矩阵键盘,整个的游戏设计外围电路比较少,主要核心在于游戏的程序设计,本设计的游戏规则也参照现在手机流行的贪吃蛇游戏的规则去设计,当蛇吃到食物时,蛇身就会自动增加一格,食物随机出现在屏幕上,当蛇碰到墙壁时,游戏结束。

本设计需要考虑的问题有以下几个:1.显示彩屏的选择2.保证游戏的流畅性和及时响应性3.游戏的设计应该接近人性化4.电路连接距离应尽量短,避免信号线受外界干扰1.4思路设计游戏的运行由矩阵键盘去控制,显示由TFT彩色屏幕完成。

本设计的键盘扫描电路不同于以往一般的矩阵键盘,而由中断扫描代替,当有按键按下时,才执行扫描键盘,这样就可以节省很多CPU资源,同时也可以及时的反应出按键操作。

2第二章系统的基本组成和工作原理2.1系统的基本组成贪吃蛇游戏设计由三部分组成,屏幕显示,最小系统及矩阵键盘。

最小系统采用Atmel公司的51核的AT89S52芯片,AT89S52芯片具有8K的程序存储器,256B的数据存储器,已经为程序的设计带来了很大的方便,解决了因程序容量庞大而导致硬件选择困难的问题。

同时也节约了设计成本,一块AT89S52只需要5块钱就足够了,对于一般人来讲是可以承受得了的。

加上屏幕的应用比较简单,有相应的配套应用命令子程序,减低了设计者重新编写屏幕应用子程序的麻烦,同时设计者可根据自身设计需要,增添或修改程序,使得程序更完善。

2.2系统的工作原理系统的程序设计分为一个主函数,3个子函数,子函数分别是键盘扫描函数,贪吃蛇运行子程序和TFT屏幕自带的子程序。

在主程序里只对LCD的初始化,中断设备的初始化,然后死循环执行贪吃蛇运行程序。

3第三章显示电路的选取和设计3.1游戏显示的器件选择游戏设计的显示屏可以有很多种的选择,选择不同的屏幕,程序的编写也随之不同。

屏幕可以选择LCD128X64,8X8点阵LED,TFT彩色屏幕等等。

LCD128X64是比较通用,大众化,容易使用的液晶屏,若采用LCD128X64液晶屏,则要用到8位的I/O口作数据传送,6位I/O口作选通位,一共要用到14个I/O口,占用单片机最小系统的资源比较多,另外,LCD128X64每一个显示格由8x8像素组成,若使用每一个显示单元格作为贪吃蛇的蛇身显示,显然有点大,不美观,若利用LCD128X64里可编辑每个单元格的显示图案的功能,将会使得编写程序变得很麻烦,而且CPU要执行的程序显然增加了很多。

8X8点阵LED比LCD128X64结构更简单,不需要任何的指令集,即对I/O口直接输出可以使用。

若选用8X8点阵LED显示屏,首先16位的I/O口已经被占用,8X8的点阵能使用的范围很少,对增强游戏的功能方面加以限制。

TFT彩色屏幕具有很强的显示功能,能显示262k颜色,屏幕由具有丰富的功能子程序,为使用者节省了不少时间,而且占用I/O口少,只用到5个I/O口。

本设计将采用SSD1283A型号的彩屏。

SSD1283A的TFT驱动器是一种智能都在同一个驱动器,集成了电源电路,门驱动器,内存为单芯片驱动器和源。

它可以驱动132号决议的RGB × 132的一个小组26万色为a - TFT。

它也集成了控制器的功能和组成132高达39204个字节(132 ×132 × 18 / 8)图形显示数据RAM(GDDRAM),6800接口,这样它与普通单片机通过8/9/16/18-bits系列/ 8080系列兼容的并行接口或串行接口和存储数据的GDDRAM研究。

辅助18位视频接口(垂直同步,HSYNC,DOTCLK,启用和RR0 - RR5,GG0 - GG5,BB0 - BB5)是SSD1283A纳入图像显示动画。

只有外部电容器9只,它嵌入的DC - DC转换器,振荡器和电压发生器提供一切必要的组件所需的电压由外部的驱动程序最低限度。

相关文档
最新文档