参考基于51单片机模拟射击类游戏毕业论文内容摘要:

构造,液晶显示屏主要分为 TN、 STN、 TFT 等三大类,然而根据目前的 技术原理又可以将它们分为 TN、 STN、 FSTN、 DSTN、 TFT 等诸多类别。 我们经常用到的 LCD 液晶显示屏主要包括: AMPIRE128*64, LGM12641BSIR, LM016L,LM020L, LM017L 等。 前面两种是 64行 128 列不带字库的汉字、图形点阵液晶屏,它们能显示 4行 8列 32个 16*16 点阵汉字或 4行 16列 64 个 16*8 点阵字符,还有一种最大 128*64 的点阵图形。 也有市面上最常见的带字库的 12864,功能都是一样的。 后几种则是带字库的字符点阵,不能显示图形。 由以上介绍可知 :后 3种液晶不能显示图形,最先排除;前 2 种液晶虽然可以显示图形,但屏幕较小不能完整的显示所有的游戏界面的内容,单单是地图显示就需要128*144 点阵的屏幕,而这两种都是液晶屏的分辨率都只是 128*64,所以我们需要一种更大的液晶显示屏。 因此本课题我们选择 PG160128A 液晶屏。 这块液晶屏是 160*128 点阵的屏幕,不仅可以满足基本的图像显示,还可以显示其他的记录信息,如游戏机常见的步数显示(推箱子游戏)、时间显示、关数显示等,完全满足设计要求。 本章小结 本章主要介绍了系统的工作原理,系统的组成部分,由单片机最小系统外接蜂鸣器,显示部分与按键部分构成。 在完成本设计所需要用到的单片机以及 LCD 的选择。 重庆 11 第三章 射击训练游戏器件介绍 AT89S52 单片机 由于市面上的 AT89S51 单片机近乎淘汰了,更多的是采用 AT89S52 代替。 AT89S52是一种功耗低但是性能高的 8位单片机,单片机内带有一个 4KB 的 Flash 可反复擦写的只读存储器,它采用了 CMOS 工艺以及 ATMEL 公司的高密度非易失性存储器技术,兼容标准 MCS51 指令系统。 片内的存储器允许用常规的非易失性存储器编程器来编程或者也可以在线编程,同时还具有三级程序存储器保密的性能。 在市面上众多的52系列单片机中我们选择了 ATMEL 公司的 AT89S52,因为它不仅指令、管脚和 MCU51系列单片机能够完全兼容,而且它还将在线可编程 Flash 和通用 CPU 集成在一个芯片上。 这种单片机对 于我们开发设备的要求并不高,也会大大的缩短开发时间。 图 AT89S52引脚图 主要性能参数: 的工作电压范围 4k 字节在线系统编程 (ISP)Flash 闪速存储器 1000 次反复擦写周期 重庆 12 全静态工作模式: 0Hz33MHz 128 8 字节内部 RAM 三级程序加密锁 2个 16 位定时 /计数器和 6 个中断源 全双工串行 UART 通道 低功耗空闲与掉电模式 看门狗 (WDT)及双数据指针 中断可从空闲模式唤醒系统 灵活的在线系统编程 (ISP 一字节或页写模式 ) 掉电标识和快速编程特性 AT89S52 功能特性概述: AT89S52 单片机的标准功能:字节内部 RAM 和字节 Flash 闪速存储器, 4k字节在线系统编程 Flash 闪速存储器, 32 个 I/O 口线,看门狗( WDT),两个数据指针,一个全双工串行通信口,一个 5 向量两级中断结构,两个 16 位定时(计数)器,片内振荡器和时钟电路。 同时, AT89S52 可降至 0Hz 的全静态工作模式操作,并且还支持两种软件可选的节电工作的模式。 空闲的时候停止 CPU 的工作,但允许定时(计数)器,中断系统, RAM 以及定串行通信口继续工作。 掉电方式下会保存 RAM 中的内容,但是振荡器会停止工作并且禁 止其它所有部件的工作,直至下一个硬件复位。 AT89S52 引脚功能说明: P0 口( ~ ): P0 口是由一组 8 位漏极开路型双向 I/O 口组成,从 32脚~ 39脚,作为地址和数据总线复用口。 当 P0 作为输出口用的时候,每位可以驱动8 个 TTL 逻辑门电路,对端口写‘ 1’即作为高阻抗输入端使用。 当访问外部程序和数据存储器时, P0 口也被作为低 8 位地址 /数据复用 , 并且会激活内部上拉电阻。 在程序校验得时候,其输出指令字节,并且会外接上拉电阻,而在 Flash 编程时 P0口就会接收指令字节。 P1口 (~ ): P1 口是由一个带内部上拉电阻的 8 位双向 I/O 口组成,从1脚~ 8脚,由输出缓冲级 P1P1 驱动的 4个 TTL 逻辑门电路。 作为输入口用时,对端口写‘ 1’, 上拉电阻端口通过内部的时候会被拉到高电平,因为此时内部存在上拉电阻,某个引脚被外部信号拉低,会输出一个电流 (In)。 程序校验和 Flash 编程的时重庆 13 候 P1 将接收低 8位地址。 P2口 (~ ): P2口是由一个带有内部上拉电阻的 8位双向 I/O口组成的,从 21 脚~ 28脚, P2 输出缓冲器可驱动 (吸收或输出电流 )4个 TTL 逻辑门电 路。 当对端口写‘ 1’时, P2 口将通过内部的上拉电阻把端口拉至高电平,此时可作输入口,当 P2 口作为输入口使用的时候,因为内部上拉电阻的存在,某个引脚会被外部信号拉低,此时便输出一个电流 (In)。 在访问外部 程序存储器或者 16 位地址的外部数据存储器 (例如执行 MOVX @DPTR 指令 )时, P2 口将输出高 8位的地址数据。 P2在执行例如 MOVX @Ri 指令时就会访问 8位地址的外部数据存储器, P2口输出 P2 锁存器的内容。 在 Flash 编程和校验时, P2 口也接收高 8位地址字节和一些控制信号。 P3 口( ~ ): P3口是由一组包含内部上拉电阻的 8 位双向 I/O 口组成的,从 10 脚~ 17脚,其输出缓冲器能驱动 (吸收或输出电流 )4 个 TTL 逻辑门电路。 当对 P3 口写入“ 1”的时候,端口会被内部上拉电阻拉高并且可作为输入。 当 P3 口作为输入端时,被外部拉低的端口将用上拉电阻输出电流( In)。 P3口除了作为一般的 I/O 口外还有更重要的用途就是它的第二功能。 P3 口还接收一些程序校验以及Flash 闪速存储器编程的控制信号。 RST:复位输入。 引脚为第 9 脚, 在晶振工作时, RST 脚持续两个机器周期高电平将使单片机复位。 看门狗 计时完成后, RST 脚输出 96 个晶振周期的高电平。 特殊寄存器 AUXR(地址 8EH)上的 DISRTO 位可以使此功能无效。 在 DISRTO 默认状态下,复位高电平有效。 PG160128A PG160128A 是一个由 128 行 160 列的点阵组成的液晶屏。 它可以显示各种图形、字符、 也可以显示 10 8个 (16 16点阵 )汉字。 由于 T6963C 内核的控制,并且自带字符库,同时也可以自己建立汉字、图形库。 主要技术参数和性能:因为模块内自带 15 负压,所以可以用于 LCD 的驱动电压 VDD: +5V; : 160(列 ) 128(行 )点 重庆 14 CPU 接口采用 8位数据总线并行输入输出 1/128 : 10℃∽ +55℃,存储温度: 20℃∽ +70℃ PG160128A 在 Proteus 中的元器件的图形如图所示: 图 PG160128A元件图 各种引脚的功能描述如下表所示: 表 PG160128A 引脚功能表 重庆 15 T6963C 与其指令集: T6963C 是一个 LCD 控制器,是一个数据显示和 LCD 控制驱动芯片的存取器。 该控制器有一个 8 位并行数据总线,可以通过微控制器接口来对控制线实现读取和写入,它也可以直接连接至 TMPZ80 微处理器中。 T6963C 控制器有一个 128 字节的字符发生器 ,可作为外部显示 RAM 中数据的控制,达到 64K 字节。 图形与配置的文字以及外部字符发生器 RAM 数据都能很容易地控制其在窗口中显示,也能够自由移动、分配内存范围。 该器件支持的字符格式很广泛 , LCD 显示器允许通过编程设置选择不同的组合。 它可以用于文字与图形结合的文本模式及其他属性的功能。 T6963C 控制器总共分为十大类,有 26 条指令,详细信息如下表: 表 T6963C 指令集 74LS20与非门 74ls20 是常见的双 4输入与非门集成电路,是功能很简单的芯片,其包含两个 4重庆 16 输入与非门。 第一组: 1,2,4,5 引脚为输入, 6 脚为输出。 第 2组: 9,10,12,13 引脚为输入, 8脚为输出。 引脚图如下所示: 图 74LS20引脚图 功能表如下: 表 74LS20功能表 74HC04 74HC04是一种高速的硅栅 CMOS器件,并且能够兼容低功耗肖特基的 TTL( LSTTL) 非门(逆变器)。 74HC04 的功能作用: 74HC04 是六 反相器 ,既一个 集成块 上有六个 反相器 ,即 1A输入高电平, 1Y 输出低电平。 其驱动电流要比 74LS04 的大。 其引脚图如下所示: 图 74HC04引脚图 重庆 17 第四章 射击训练游戏硬件电路设计 晶振和复位电路 晶振电路:片内振荡电路的输入端与输出端分别为 XTAL1 和 XTAL2,电容一般取20~ 47pF。 当电路工作时,其产生的振荡脉冲在经过 内部触发器时进行二分频,而后作为单片机的时钟脉冲信号,提供单片机的一个基本时钟信号。 本系统采用的晶体的振荡频率为 12MHz。 复位电路:由电阻与电容的串联构成 ,根据 电容电压不能突变 的性质和电路图可知 ,系统一旦供电 ,复位脚将会出现高电平 ,并且高电平持续的时间是由电路中的RC值来决定 .一般来说, 51单片机中当 RST 脚的高电平持续两个机器周期以上就将复位。 因此,可靠的复位就需要组合适当的 RC值。 下图即为晶振、复位电路: 图 晶振、复位电路 按键与单片机接口电路 控键与单片机接口电路: 74LS20 的四输入与门输入端分别与 K1,K2,K3,K4 四个按键的左触点连接,同时按键的右触点需要并联接地。 从 74LS20 的输入端引出四根引线 4 分别与单片机的 ~ 口相连,当有按键按下时, 74LS20 输出为低电平同时进入外部中断 0 的服务子程序,在子程序中具体判断 4 引线中的哪根线为低电平,从而判断出哪个键按下并做出相应的响应。 重庆 18 下图为单片机与按键接口电路: 图 按键与单片机接口电路 单片机与 LCD显示屏接口电路 即 160*128LCD 液晶屏与 74HC04 非门的接口电路。 160128LCD 的 2引脚即 FG、 VSS端接地,引脚 3 即 VDD 端接 +5V 的高电平,引脚 4级 COM 悬空,引脚 5 即 WR、引脚 6 即 RD, 8 号引脚 C/D 通过总线分别与单片机的 , 相连, 7 号引脚CE端通过反相器 74HC04 后与单片机的 相连, 11~19 号引脚也就是单片机的 D0 数据端通过总线分别与单片机的 ~ 相连。 , 图 液晶显示屏与单片机接口电路 到此,游戏的硬件电路结构及连线全部完成,其整体电路 图如下图所示: 重庆 19 图 系统整体电路 第五章 射击训练游戏系统软件设计与仿真 系统的软件控制流程 利用 AT89S51 单片机和 PF160128A 液晶显示屏以及按键控制模块相连,当有按键按下时, 74LS20 输出为低电平,进入外部中断 0( INTO)服务子程序,在子程序中具体判断是 1, 2, 3, 4的哪个引线为低电平从而判断 K K K K4哪个键按下并进行相应的响应。 并在 PF160128A 液晶显示屏中显示出来。 整个过程中应用了液晶显示屏的图像、文字、字符显示和其清屏及初始化功能。 软件控制整体流程图如下: 系统的软件设计 重庆 20 图 软件整体流程图 主要功能模块软件设计 开机游戏封面图像 开机界面图像绘制流程图如下图所示: 图 开始。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。