基于单片机实现的俄罗斯方块游戏毕业论文内容摘要:
内容。 在 flash编程和校验时,P2口也接收高 8位地址字节和一些控制信号。 6. P3 口( ~ ): P3 口是一个具有内部上拉电阻的 8 位双向 I/O口, P2 输出缓冲器能驱动 4 个 TTL 逻辑电平。 对 P3 端口写“ 1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。 作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流( IIL)。 P3 口亦作为 AT89S52 第二功能使用,如表 22所示: 表 22 P3口第二功能 引脚号 第二功能 RXD(串行输入) TXD(串行输出) I NT0(外部中断 0) I (外部中断 0) T0(定时器 0 外部输入) T1(定时器 1 外部输入) WR(外部数据存储器写选通 ) RD(外部 数据存储器写选通 ) 在 flash 编程和校验时, P3 口也接收一些控制信号。 RST:复位输入。 晶振工作时, RST 脚持续 2 个机器周期高电平将使单片机复位。 看门狗计时完成后, RST 脚输出 96 个晶振周期的高电平。 特殊寄存器 AUXR(地址 8EH)上的基于单片机实现的俄罗斯方块游戏 7 DISRTO 位可以使此功能无效。 DISRTO 默认状态下,复位高电平有效。 ALE/ PROG:地址锁存控制信号( ALE)是访问外部程序存储器时,锁存低 8位地址的输出脉冲。 在 flash 编程时,此引脚( PROG)也用作编程输 入脉冲。 在一般情况下, ALE 以晶振六分之一的固定频率输出脉冲,可用来作为外部定时器或时钟使用。 然而,特别强调,在每次访问外部数据存储器时, ALE 脉冲将会跳过。 如果需要,通过将地址为 8EH 的 SFR 的第 0 位置“ 1”, ALE 操作将无效。 这一位置“ 1”, ALE 仅在执行 MOVX 或 MOVC 指令时有效。 否则, ALE 将被微弱拉高。 这个 ALE 使能标志位(地址为 8EH 的 SFR 的第 0 位)的设置对微控制器处于外部执行模式下无效。 PSEN:外部程序存储器选通信号( PSEN)是外部程序 存储器选通信号。 当 AT89S52 从外部程序存储器执行外部代码时, PSEN 在每个机器周期被激活两次,而在访问外部数据存储器时, PSEN 将不被激活。 AE /VPP:访问外部程序存储器控制信号。 为使能从 0000H到 FFFFH的外部程序存储器读取指令, EA 必须接 GND。 为了执行内部程序指令, EA 应该接 VCC。 在 flash 编程期间, EA 也接收 12 伏 VPP 电压。 XTAL1:振荡器反相放大器和内部时钟发生电路的输入端。 XTAL2:振荡器反相放大器的输出端。 晶振特性 AT89S52 单片机有一个用于构 成内部振荡器的反相放大器, XTAL1 和 XTAL2分别是放大器的输入、输出端。 石英晶体和陶瓷谐振器都可以用来一起构成自激振荡器。 从外部时钟源驱动器件的话, XTAL2可以不接,而从 XTAL1接入,如图 22 所示。 由于外部时钟信号经过二分频触发后作为外部时钟电路输入的,所以对外部时钟信号的占空比没有其它要求,最长低电平持续时间和最少高电平持续时间等还是要符合要求的。 如图 22 所示: 河南机电高等专科学校毕业 论 文 8 图 22内部振荡电路连接图 LCD12864 液晶屏显示原理 LCD 模块总线选择及时序 MzL02D模块提供了两个 LCM 的引脚( C86 和 PS 引脚)供用户选择模块的接口类型,分别可以选择 6800并行总线、 8080并行总线或者 SPI串行接口。 模块默认情况下 PS为高电平、 C86为高电平,此时为 6800总线接口类型,本设计采用 6800总线模式。 在此种接口模式下, WR 线为读写控制信号线,当 WR 为高电平时为读状态, WR为低电来时为写入状态。 在 6800总线接口模式下 LCD的时序如图 23 所示。 图 23 6800 总线时序 Fig 23 6800 Bus Timing LCD 显示 RAM区映射概况 驱动控制芯片的显示 RAM 区中,每个 byte 的数据对应屏上的点的排列方式为:纵向排列,低位在上高位在下;如图 32 所示。 MzL02D12864 液晶显示模组的显示器上的显示点与驱动控制芯片中的显示缓存 RAM 是一一对应的;共有65( 8Page * 8bit + 1) *132 个位的显示 RAM 区。 而显示器的显示点阵大小为64*128点,所以实际上在液晶显示模块中有用的显示 RAM区为 64*128个位;按byte 为单位划分,共分为 8 个 Page,每个 Page 为 8行,而每一行为 128 个位。 (即 128 列)。 基于单片机实现的俄罗斯方块游戏 9 图 24 字节数据排列情况 Fig 24 Byte date arrangement MzL02D12864 液晶显示模块的显示屏上的每一个点都对应有控制器片内的显示缓存 RAM 中的一个 bit,显示屏上 64*128 个点分别对应着显示 RAM 的 8 个Page,每一个 Page 有 128 个 byte 的空间。 因此可知显示 RAM 区中的一个 Page空间对应 8行的点,而该 Page 中的一个 byte 数据则对应一列( 8个点)。 用户如要点亮 LCD 屏上的某一个点时,实际上就是对该点所对应的显示 RAM区中 的某一个位进行置 1 操作,所以就要确定该点所处的行地址、列地址。 MzL0212864液晶显示模组的行地址实际上就是 Page的信息,每一个 Page应有8 行;而列地址则表示该点的横坐标,在屏上为从左到右排列, Page 中的一个Byte 对应的是一列( 8 行,即 8 个点),达 128 列。 可以根据这样的关系在程序中控制 LCD 显示屏的显示。 LCD 的驱动方法 在很多资料以及书籍当中,通常介绍有两种 LCD 模块的连接方法:直接控制和间接控制;直接控制实际指的是 LCD 模块的总线接口直接与 MCU 端口连接,然后 MCU 通过程序控制端口来模拟 LCD 的总线时序来完成对其的控制操作;而间接控制指的是 MCU本身就有外部总线拉出,与 LCD的总线接口对应的连接上,程序中直接操作总线以控制 LCD。 目前有很多 MCU 都把总线密封起来了,都没有引出外部总线;所以通常在用 MCU控制 LCD模块时,时常会选择直接控制的方式,即利用端口来模拟总线时序;当然了,如果本身就有总线而且也与 LCD 模块的总线配得上的话,肯定会使用总线连接的间控方式。 本设计采用直接控制的方式,将 MzL02D12864 LCD 模块的总配置为 6800 总线,这 与绝大部分引出外部总线的 MCU 的时序是不一样的。 本设计的 LCD12864模块中,用户程序对其进行显示控制时,无非就是通过对 LCD 模块内部的驱动控制器当中的寄存器进行设置操作;最常用的如 LCD 的显示开 /关、操作显存地河南机电高等专科学校毕业 论 文 10 址(行与列地址)的设置等。 这些寄存器一般都在 LCD模块的驱动控制器文档中有详细介绍。 LCD 驱动程序架构 LCD12864驱动程序主要由 LCD底层驱动和 LCD功能函数两部分组成。 用户在应用层直接使用功能函数即可。 具体框架如图 25 所示。 图 25 LCD 驱动程序架构 Fig 25 LCD Driver architectures 基于单片机实现的俄罗斯方块游戏 11 第 3 章 系统程序 流程图 的设计 俄罗斯方块驱动流程图 图 31 驱动流程图 河南机电高等专科学校毕业 论 文 12 俄罗斯方块绘图 和绘色 工作流程图 图 32 工作流程图 输出分数 清除刚才位置的图形 当前图形改 变 Y 绘当前图的现在位置 N 提示图形改变真。 Y 绘提示图 N 消行动作为真。 N Y 从消行的那一行的第一列开始 为空数据 N Y 绘白色;相当于清除色彩 表格中对应的色彩 行 +1 到移动数据最后一行 N 结束 Y 开始 基于单片机实现的俄罗斯方块游戏 13 俄罗斯方块 中按下键的流程图 图 33 按下键流程图 记下下降图形时的位 置 () 按下键 结束 直接把图形下降到底 行满 N 表格满 Y 消除行并把上面的行数据下移并置清 行为 true、当前图改变为 false Y N 游戏结束 清所有数据 绘图 (清屏 ) 绘图 提示图形变量给当前图形 随机生成一个图形交给提示图形变量 河南机电高等专科学校毕业 论 文 14 俄罗斯方块 所有绘图工作流程图 图 34 按下键流程图 开始 输出分数 清除刚才位置的图形 ,包括清除提示图和当前图 当前图形改变 绘当前图的现在位置 N 提示图形改变真。 Y 绘提示图 N 消行动作为真。 N Y 重绘表格 游戏结束 结束 Y N Y 清除所有数据并清屏 基于单片机实现的俄罗斯方块游戏 15 第 4 章 系统仿真 Proteus 软件介绍 Proteus 软件是来自英国 Labcenter electronics 公司的 EDA 工具软件。 Proteus软件有十多年的历史,在全球广泛使用,除了 其具有和其它 EDA工具一样的原理布图、 PCB 自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等,不需要别的, Proteus 建立了完备的电子设计开发环境。 Proteus组合了高级原理布图、混合模式 SPICE仿真 ,PCB设计以及自动布线来实现一个完整的电子设计系统。 此系统受益于 15 年来的持续开发 ,被《电子世界 》在其对 PCB 设计系统的比较文章中评为最好产品 — “ The Route to PCB CAD”。 Proteus 产品系列也包含了革命性的 VSM 技术 ,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。 用户甚至可以实时采用诸如LED/LCD、键盘、 RS232 终端等动态外设模型来对设计进行交互仿真。 其功能模块: — 个易用而又功能强大的 ISIS 原理布图工具; Proteus 混合模型 SPICE 仿真; ARES PCB 设计。 Proteus 仿真器的一个扩展 Proteus VSM:便于包括所有相关的器件的基于微处 理器设计的协同仿真。 此外,还可以结合微控制器软件使用动态的键盘,开关,按钮, LEDs 甚至 LCD 显示 CPU 模型。 ,如 PIC,AVR,HC11 以及 8051; : LED 和 LCD显示 ,RS232 终端 ,通用键盘; ,包括寄存器和存储器 ,断点和单步模式; CSPY 和 Keil uVision3 等开发工具的源层调试; DLL 界面 提供有关元件库的全部文件。 Keil 软件介绍 Keil C51 181。 Vision4集成开发环境是 Keil Software, Inc/Keil Elektronik GmbH 开发的基于 80C51 内核的微处理器软件开发平台,内嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程尤其是 C 编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。 Keil C51 集成开发环境的主要功能有以下几点: for Windows:是一个集成开发环境,它将项目管理、 源代码编辑和程序调试等组合在一个功能强大的环境中; 国际际准化 C交叉编译器:从 C源代码产生可重定位的目标模块; 宏汇编器:从 80C51 汇编源代码产生可。基于单片机实现的俄罗斯方块游戏毕业论文
相关推荐
度可达 250KHZ/S。 使用单片机自带 AD 的 好处,就是可以节约成本,使电路简单化,抗干扰能力争闽西职业技术学院 12 强。 A/D 转换器使用的使的时钟是外部时钟,这样的好处是可以提高 A/D转换速度。 自带 A/D 的按键 绘制 PCB 图 15 总电路的 PCB 闽西职业技术学院 13 总电路 软件实现 流程图 图 16 总流程图 程序见后面附录。 开始 初始化 AD
76。 范围内的波形。 ( 3)相位为 180176。 ~ 270176。 时,于 0176。 ~ 90176。 的图形上下对称,对应数据绝对值相等,符号相反。 读数据表的方向与 0176。 ~ 90176。 相同,每次读出的数据符号取反再加 C,经 DA转换后可产生该函数在 180176。 到 270176。 范围内的波形。 ( 4)相位为 270176。 ~ 360176。 时,于
GND419TEST_A23FILT_Q20FILT_Q21GND422CE24S L E25S D A T A26S RE A D27S CL K28GND229A D CI N30CR E G 231VDD232S W D33T X RX _ D A T A34T X RX _ CL K35CL K O U
晶显示器件大多应用在便携、袖珍设备上。 由于达些设备体积小,所以尽可能不将显示部分设计成单独的部件,即使一些应用领域需要单独的显示组件,那么也应该使其除具有显示功能外,还应具有一些信息接收、处理、存储传递等功能,由于它们具有某种通用的、特定的功能而受市场的欢迎。 常见的的数显液晶显示模块有以下几种。 1.计数模块 这是一种由不同位数的七段型液晶显示器件与译码驱动器
到位后切断电源的要求。 第一章 设计方案 本例介绍一款采用集成运放电路制作的光控自 动窗帘电路,它是利用环境光线的照射来实现窗帘的自动开合(窗帘在清晨能自动拉开,在傍晚能自动关闭)。 其基本设计框架图如下 图 简易窗帘自动开闭电路的总体框图 电 加深对单片机的全面认识,熟练掌握单片机的功能 机正转电路 电机反转电路 自动停转电路 光感应电路 电源电路 光控自动窗帘的电路工作原理 如图 2 所示
1. 主要内容 本设计的内容主要是: 信号发生器硬件部分的设计 ( 其它设计均在硬件的基础上进行 )。 根据毕业设计的要求,硬件 要实现 的主要功能 是 : 1)单片机将信号的采样值或信号值写入到存储器( RAM)中。 2)在信号值写入后,发出控制信号,使地址发生器有效。 3)地址发生器产生周期性的地址信号,对存储器进行读操作 , 并将数据输出到数模转换器中。 4)数模转换 器