毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx

上传人:b****9 文档编号:13092386 上传时间:2022-10-04 格式:DOCX 页数:32 大小:845.59KB
下载 相关 举报
毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx_第1页
第1页 / 共32页
毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx_第2页
第2页 / 共32页
毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx_第3页
第3页 / 共32页
毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx_第4页
第4页 / 共32页
毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx

《毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx(32页珍藏版)》请在冰豆网上搜索。

毕业论文----基于单片机的推箱子游戏设计Word文档下载推荐.docx

完成时间:

2013 年 5

32

基于PROTEUS的推箱子游戏的设计

摘要

本论文主要介绍了基于单片机的推箱子游戏的规则、硬件结构、软件代码的编写及工作原理、基于T6963C内核的液晶模块PG160128A的详细介绍以及指令集。

模拟出Windows系统下的推箱子游戏,具有任意关数选择、难度依次加大、游戏步数记录、游戏时间记录、按键发声、系统低功耗、可实现在线调试等特点。

本系统是以单片机为其控制核心,以有源晶振构成的电路作为时钟信号,通过方向键的选择向单片机控制系统发出人物移动控制命令,控制系统接收命令后做出一系列必要的判断后,控制人物及箱子的移动。

本设计已通过了实验仿真,运行稳定,基本上没有规则方面的错误。

论文主要分为两大块:

一块为游戏的硬件电路组成部分,一块为软件程序设计部分。

在硬件电路里主要包括有源晶振部分、方向控制部分及液晶显示部分等与单片机的接线设计;

软件编程方面主要是子程序和主程序的编写,包括:

初始化代码、液晶驱动代码、方向按键代码、过关判断代码、步数记录代码、时间记录代码、按键发声代码、关数选择代码及表格数据代码等等。

所有这些在文中都有详细说明。

关键词:

单片机;

推箱子;

PG160128A;

T6963C内核;

指令集

DesignOfPROTEUSSokobanGameBasedOn[1]

Abstract

Thispaperintroducesthesingle-chipbasedontherulesofthegameSokoban,thestructureofhardware,softwarecodewritingandworkingprinciple,basedonthecoreT6963CLCDmodulePG160128A,aswellasdetailsoftheinstructionset.SimulatethesystemunderWindowsSokobangame,anarbitrarynumberofrelatedoptions,inturnincreasethedifficultyofthegameafewstep-by-steprecordtimeofthegamerecord,soundbutton,low-powersystemcanachieveon-linedebuggingandsoon.Thesystemisbasedonitssingle-chipcontrolofthecore,consistingofactivecrystalclockcircuitclocksignalsentthroughthearrowkeystoselectthesingle-chipcontrolsystemtocontrolmobilecommandcharacters,thecontrolsystemafterreceivinganordertomakeaSeriestodeterminethenecessary,tocontrolthemovementofpeopleandboxes.Thisdesignhasbeenadoptedbythesimulationexperiments,stable,rulesvirtuallynomistakes.

Themainthesisisdividedintotwoblocks:

oneforthegame'

shardwarecomponentsofthecircuit,asapartofthesoftwareprogramming.Inthehardwarecircuitry,includingthemainactivepartofthecrystal,thedirectionandcontrolofsomeoftheliquidcrystaldisplayandotherpartsofthesingle-chipwiringdesign;

softwareprogrammingsideofthemainsubroutineisthemainprogramandthepreparation,including:

initializationcode,LCDDrivercode,thedirectionofkeycode,customscodetodetermine,step-by-steprecordofthenumberofcode,recordtimecode,voicebuttoncode,customscodeandselectanumberofformsofdatacodeandsoon.Alloftheseareinthetextindetail.

Keywords:

MCU;

Sokoban;

PG160128A;

T6963Ccore;

instructionset

目录

1推箱子游戏编译介绍 7

2推箱子游戏的硬件部分设计 7

2.1PG160128A液晶屏介绍 7

2.2T6963C及其指令集介绍 9

2.2.1T6963C 9

2.3晶振、复位电路 10

2.3.1晶振电路 10

2.3.2复位电路 11

2.4液晶显示屏与单片机接口电路 11

3推箱子游戏的软件部分设计 13

3.1液晶屏驱动代码设计 15

3.1.1读状态程序 15

3.1.2是否可读写程序 15

3.1.3是否可自动读写程序 16

3.1.4写单参数程序 16

3.1.5写双参数程序 16

3.1.6写指令程序 17

3.1.7写8字节数据程序 17

3.1.8设置数据显示在屏幕上的坐标程序 17

3.1.9设置数据存储起始地址 17

3.1.10CGRAM偏置地址设置函数 18

3.1.11液晶初始化函数 18

3.1.12显示一个汉字子程序 18

3.1.13清屏程序 18

3.1.14自定义字符写入CGROM函数 19

3.1.15设置点显示在屏幕上的坐标(以位为单位) 19

3.1.16画圆子程序,其中x0,y0表示圆心,R表示半径 19

3.2初始化代码设计 20

3.3游戏时间代码设计 20

3.4游戏选关代码设计 20

3.5步数、关数更新代码设计 21

3.5.1步数更新代码设计 21

3.5.2关数更新代码设计 21

3.6过关代码设计 21

3.7图形显示子程序 22

3.7.1地图显示子程序 22

3.7.2原来位置显示子程序 22

3.8中断代码设计 23

3.8.1定时器0中断发声程序 23

3.8.2定时器1中断计时程序 23

3.9方向控制代码设计 23

4推箱子游戏的系统仿真 25

4.1建立工程项目流程 25

4.2Proteus中原理图的绘制及文件的加载 29

4.3开机界面显示 31

4.4游戏界面显示 31

4.5仿真结果分析及解决方法 33

5总结 34

参考文献. 34

致谢 35

1推箱子游戏编译介绍

现如今,游戏风靡全球,各种游戏层出不穷,大到网络型的复杂游戏,小到手机游戏、单机游戏、智力游戏等简单游戏。

但是这种简单也是相对于网络游戏等大型游戏而言的,小游戏本身的代码还是相当繁杂,它要执行一系列指令才能正确的完成一个简单的操作,才能按照玩家的意志工作。

所以我们现在见到的游戏多是在基于电脑这种高速执行指令的平台上运行的,脱离了它就什么事都做不了了。

那么推箱子这种小游戏能否在单片机上编出来呢?

答案是肯定的。

首先,这个游戏是一个小型游戏,实现的功能比较简单,不像大型游戏那样功能复杂,它只要控制人物将所有箱子推到正确的位置即可,难度随着箱子的增多而加大,对于实现这样一个功能,程序不是太复杂,用一块单片机足以达到目的。

其次,它的控件也比较少只有4个方向键和2个辅助的功能键,这些控键在Proteus中用弹跳式按键代替即可。

第三,游戏地图相对比较小、画面简单,只有箱子、人物和正确位置箱子等几个图形,这些在一块稍大的液晶屏上就足以显示,用不着电脑显示屏。

第四,就编程语言方面来说,编写这样一个简单的小游戏不需要什么高级的语言,C语言或汇编语言就足以完成,C语言是一种通用型的语言,编程灵活、可读性强、移植性好;

汇编语言是一种直接面向硬件的基础语言,最接近机器语言,执行速度快(本游戏采用C语言编写)。

所以,单片机上运行推箱子游戏在硬件和软件两个方面都是可行的。

2推箱子游戏的硬件部分设计

本部分内容包括介绍PG160128A及其引脚功能;

介绍T6963C指令集;

晶振电路、复位电路的硬件设计;

控件及按键发声电路设计,最后给出游戏仿真的整体硬件电路图,接下来是具体的说明。

2.1PG160128A液晶屏介绍[2]

PG160128A为一个128行160列的点阵液晶屏,他能显示各种字符、图形、汉字,基于T6963C内核控制,自带字符库,同时用户也可以自己建立汉字、图形库,其在Proteus中的元器件图形如下:

图1 PG160128

各引脚的功能描叙如下表:

引脚序列

引脚名称

引脚功能描述

1

FG

信号设计引脚,此引脚为一个输出引脚,在电路连接时悬空

2

VDD

电源引脚,外接5V工作电压

3

VSS

地引脚,接地

4

CON

功能不详,在电路连接时悬空

5

WR

写信号脚,当引脚为低电平时数据写入T6963C中

6

RD

读信号脚,当引脚为低电平时数据从T6963C中读出

7

CE

使能信号脚,正常工作时此脚接地,当为高电平时CPU不能与

T6963C通信

8

C/D

指令、数据信号脚:

当引脚为高电平且WR=L时可以写入指令;

当引脚为高电平且RD=L时可以读T6963C状态;

当引脚为低电平且WR=L时可以写入数据;

当引脚为低电平且RD=L时可以读出数据

11~18

D0~D7

数据引脚,用于液晶屏与单片机之间的数据通信

10

RST

复位引脚,低电平有效,起复位作用,器件内部集成了上拉电阻,

正常工作时此引脚接电源

19

FS1

字形选择引脚FS1,用于选择字形,当为高电平时是5*8点阵字体,

当为低电平时是8*8点阵字体

表一PG160128引脚功能表

2.2T6963C及其指令集介绍

2.2.1T6963C[3]

T69

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1