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

合集下载

基于单片机的贪吃蛇设计

基于单片机的贪吃蛇设计

基于单片机的贪吃蛇设计本篇论文主要是设计并且着手致力于实现一种基于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)⾷物的出现在市场上所流⾏的贪吃蛇游戏中,⾷物的出现是⼀种随机⾏为,这在程序中需要做⼀个随机数来⽀撑该过程。

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

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

  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转换器,振荡器和电压发生器提供一切必要的组件所需的电压由外部的驱动程序最低限度。

相关文档
最新文档