基于at89c51和160128的模拟射击游戏内容摘要:
选的节电工作模式。 空闲方式停止 CPU的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。 掉电方式保存 RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个 硬件复位 [4]。 南京师范大学泰州学院本科毕业论文 设计 11 / 66 Vcc:电源电压 GND:地 P0 : P0 口是一组 8 位漏极开路型双向 I/ O 口,也即地址/数据总线复用口。 作为输出口用时,每位能吸收电流的方式驱动 8个 TTL逻辑门电路,对端口写“ 1”可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低 8位)和数据总线复用,在访问期间激活内部上拉电阻。 在 FIash编程时, P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 : P1是一个带内部上拉电阻的 8位双向 I/ O口, P1的输出 缓冲级可驱动(吸收或输出电流) 4个 TTL逻辑门电路。 对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。 作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流( IIL)。 Flash编程和程序校验期间, P1接收低 8位地址。 P2 : P2是一个带有内部上拉电阻的 8位双向 I/ O口, P2的输出缓冲级可驱动(吸收或输出电流) 4个 TTL逻辑门电路。 对端口写“ 1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出 一个电流( IIL)。 在访问外部程序存储器或 16位地址的外部数据存储器(例如执行 MOVX@DPTR指令)时, P2口送出高 8位地址数据。 在访问 8 位地址的外部数据存储器(如执行 MOVX@RI 指令)时, P2 口线上的内容(也即特殊功能寄存器( SFR)区中 R2寄存器的内容),在整个访问期间不改变。 Flash编程或校验时, P2亦接收高位地址和其它控制信号。 P3: P3口是一组带有内部上拉电阻的 8 位双向 I/ O 口。 P3 口输出缓冲级可驱动(吸收或输出电流) 4 个 TTL逻辑门电路。 对 P3 口写入“ 1”时,它们被内部上拉电阻拉高并可作为输入端口。 作输入端时,被外部拉低的 P3 口将用上拉电阻输出电流( IIL)。 P3口除了作为一般的 I/ O口线外,更重要的用途是它的第二功能,如下表所示: RXD(串行输入口) TXD(串行输出口) 南京师范大学泰州学院本科毕业论文 设计 12 / 66 /INT0(外部中断 0) /INT1(外部中断 1) T0(记时器 0外部输入) T1(记时器 1外部输入) /WR(外部数据存储器写选通) /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收 一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 在 FLASH 编程期间,此引脚用于输入编程脉冲。 在平时, ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的 1/6。 因此它可用作对外部输出的脉冲或用于定时目的。 然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。 如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。 此时, ALE只有在执行 MOVX, MOVC 指令是 ALE才起作用。 另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 /PSEN:外部程序存储器的选通信号。 在由外部程序存储器取指期间,每个机器周期两次 /PSEN 有效。 但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 /EA/VPP:当 /EA 保持低电平时,则在此期间外部程序存储器( 0000HFFFFH),不管是否有内部程序存储器。 注意加密方式 1 时, /EA 将内部锁定为 RESET;当 /EA 端保持高电平时,此间内部程序存储器。 在 FLASH编程期间,此引脚也用于施加 12V 编程电源 ( VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 AT89C5l 中有一个用于构成内部振荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是该放大器的输入端和输出端。 这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路 [11]. 南京师范大学泰州学院本科毕业论文 设计 13 / 66 PG12864LCD 简介 PG160128LCD是像素可寻址的 图形液晶显示屏模块 1. 芯片特性 160 X 128 字符显示点阵 ; 并行 8 线数据通信 ; 黑色点阵, 黄色背景,独立 LED 背光电源 ; 工作温度宽, 工业级 LCM, 超薄外型设计。 2. 引脚说明 各个引脚参数及说明如图 33所示 标号 名称 参数 说明 1 Vdd +5V 模块电源 +5V DC 2 Vss GND 0V 模块电源 地 3 VO 0V ~ 10V 外部液晶偏置电压(负压)输入端 4 DB0 H/L 数据线 0( H表示高电平, L表示低电平) 5 DB1 H/L 数据线 1 6 DB2 H/L 数据线 2 7 DB3 H/L 数据线 3 8 DB4 H/L 数据线 4 9 DB5 H/L 数据线 5 10 DB6 H/L 数据线 6 11 DB7 H/L 数据线 7 12 CS1 H/L 左半屏使能(低电平有效) 13 CS2 H/L 右半屏使能(低电平有效) 14 RST H/L LCM复位 (低电平有效) 15 R/W H/L H: LCM读数据 L: LCM写数据 16 D/1 H/L H:数据 L:指令 17 E H/L LCM使能 18 Vss GND 0V 模块电源 地 19 LEDA +5V LED背光电源 +5V DC 20 LEDK GND 0V LED背光电源 地 图 33 南京师范大学泰州学院本科毕业论文 设计 14 / 66 在背光电路中需要串接 5欧姆电阻,直接将背光接入电源可能造成损坏。 在 DB0~ DB7 数据线中加入 10k上拉电阻,特别是使用单片机中的三态 I/O 口时。 VO 需要一个外部的 VO~ 10V 负压输入,使液晶显示,可串入电位器调整液晶灰度。 外围电路设计 显示电路设计 系统的显示模块原理图:这里包括 PG160128 液晶 74HC04 非门。 PG160128 的1, 2引脚也就是 FG VSS 端接地, 3 号引脚 VDD 端接 +5V 高电平, 4号引脚 COM 悬空, 5号引脚 WR, 6号引脚 RD, 8号引脚 CD通过总线与单片机的 ,相连, 7 号引脚 CE 端通过反相器 74HC04 与单片机的 相连, 11~19 号引脚也就是单片机的数据口 D0~D7 通过总线分别与单片机的 ~ 相连 [9]。 如图 34所示。 图 34 南京师范大学泰州学院本科毕业论文 设计 15 / 66 按键控制电路设计 图 35 按键控制电路如图 35 所示。 K1,K2,K3,K4 四个按键的左触点分别与四输入与门 74LS 的输入端相连, 右触点并联接地,同时从 74LS 的输入端引 出四根阴线 1, 2, 3, 4 分别与单片机的 , 相连,当有按键按下时, 74LS 输出为低电平,进入外部中断 0 的服务子程序,在子程序中具体判断是 1, 2, 3,4的哪个线为低电平从而判断哪个键按下并进行相应响应。 南京师范大学泰州学院本科毕业论文 设计 16 / 66 时钟电路设计 本系统采用内部时钟方式来为系统提供时钟信号。 单片机内部有一个用于构成振荡器的高增益反向放大器,该放大器的输入输出引脚为 XTAL1 和 XTAL2,它们跨接在晶体振荡器和用于微调的电容,便构成了一个自激励振荡器。 如 图 36所示。 图 36 本 设计的时钟电路图如下 图 37 所示 图 37 图 MCS5l 系列单片机时钟电路 (a)内部时钟电路 (b)外部振荡源 南京师范大学泰州学院本科毕业论文 设计 17 / 66 晶振、复位电路设计 当 5l 系列单片机的复位引脚 RST(全称 RESET)出现 2 个机器周期以上的高电平时,单片机就执行复位操作。 上电后,电容电 压不能突变, VCC 通过复位电容( 10μF 电解)给单片机复位脚施加高电平 5V,同时,通过 10KΩ 电阻向电容器反向充电,使复位脚电压逐渐降低。 经一定时间后(约 10 毫秒)复位脚变为 0V,单片机开始工作。 如果 RST 持续为高电平,单片机就处于循环复位状态。 具体电路如图 38所示: 图 38 通过本章的介绍,让我对此系统有了更深层次的了解,这部分主要是对整个系统的硬件系统部分进行说明和介绍,并对每部分进行了详细介绍。 整个系统的运作主要以 AT89C51单片机 与 PG160128液晶显示屏 为核心,在设计中有电源电路,显示电路,按键控制电路,时钟电路,晶振、复位电路 等组成。 南京师范大学泰州学院本科毕业论文 设计 18 / 66 四 系统软件设计 软件整体流程图: 图 41 软件整体流程图如图 41 所示。 按键自上而下分别对应调整上移枪支,下移枪支,发射和重新开始。 系统运行时即显示开始界面 ,通过按键开始进行游戏,调整枪支位置和发射弹药用完以后按下 K4 重新启动。 游戏规则:初始弹药量为 20发,每次发射后减少一发,击中得一分,未击中不得分,右下角显示剩余子弹数,20 发子弹用完后游戏结束,左下角 直接显示得分,游戏结束后需按下 K4 键重新开始。 开始 LCD 初始化 LCD 清屏 绘制初始界面 清屏 绘制枪支 绘制边框 打开中断 打开按键中断 进入中断子程序 按键为 K1 或 K2 按键为 K4 按键为 K3 剩余弹药减 1 绘线 判断是否击中 击中 得分加 1 进入中断 开始 南京师范大学泰州学院本科毕业论文 设计 19 / 66 整体框架 流程图: 图 42 系统启动后 LCD 首先初始化,接着从左上角开始清屏,接着显示预置好的游戏界面 图 43 延迟五秒再次清屏,在第一行显示“★★射击训练游戏★★”,中间显示游戏主图像,最下面调用 Show_Score_and_Bullet()函数显示游戏得分和剩余子弹数目。 接着打开定时器 T0,定时器 T1和外部中断 INT0,定时器 T0控制屏幕每秒通过随机函数刷新应该被击中的目标位置, 定时器 T1模拟命中后的枪声,并将剩余子弹数目和得分在液晶上同步显示。 枪支绘制流 单片机复位晶振电路 蜂鸣器 AT89C51 单片机 PG160128LCD 液晶显示模块 按键中断 南京师范大学泰州学院本科毕业论文 设计 20 / 66 图 44 系统启动后 LCD 首先初始化,接着从左上角开始清屏,接着显示预置好的游戏界面。 开始绘制枪支图像。 绘制好以后显示,通过延迟程序实现保留画面,等待中断程序,实施中断。 其绘制流程图如图 44所示。 按键子程序流程图 图 45 声音显示区域 调用图像显示 绘制枪支 等待中断 开始 是否 有键按下 延伸去抖 是否 有键按下 键值加 1 键值送累加器 返回 Y Y N N 南京师范大学泰州学院本科毕业论文 设计 21 / 66 按键流程图如图 45 所示 ,采用按键为它的控制输入,通过按键来实现它的数值得分等功能实现。 当有按键按下时 , 74LS。基于at89c51和160128的模拟射击游戏
相关推荐
+125 0000 0111 1101 0000 07D0H +85 0000 0101 0101 0000 0550H + 0000 0001 1001 0001 0191H + 0000 0000 1010 0010 00A2H + 0000 0000 0000 1000 0008H 0 0000 0000 0000 0000 0000H 1111 1111 1111 1000 FFF8H
湖北师范学院机电与控制工程学院 2020届学士学位论文(设计) 10 ( 3) 振荡器特性 : XTAL1和 XTAL2分别为反向放大器的输入和输出。 该反向放大器可以配置为片内振荡器。 石晶 振荡和陶瓷振荡均可采用。 如采用外部时钟源驱动器件, XTAL2应不接。 有余输入至内部 时钟信号 要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 触发器
器ULN2803 驱动风扇 电机的转动。 同时使系统检测到得环境温度以及系统预设的温度动态的显示在 LED 数码管上。 根据系统检测到得环境温度与系统预设温度的比较,实现风扇电机的自动启停以及转速的自动调节。 系统整体设计 本设计的整体思路是:利用温度传感器 DS18B20 检测环境温度并直接输出数字温度信号给单片机 AT89C52 进行处 理,在 LED
RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R
xxxxxxx 届专科毕业设计论文 第 6 页 共 23 页 3 应用系统开发工具 3. 1 对软件和硬件的要求 服务器 硬件 处理器: Intel PII 450 或更好 内 存: 512M 或更大 硬 盘: 20G 或更大 软件 Microsoft WindowsNT Server 或更高版本 Microsoft Access 或更高版本 Microsoft IIS 或更高版本
7 不符合 符 合 图 系统工作流程图 温湿度数据 LED 液晶显示 温湿度 控制系统 报警 不报警 51单片机 判断 河南师范大学本科毕业 论文 8 3 系统硬件 AT89C51 单片机 AT89C51 单片机介绍 作为设计系统的核心,单片机的挑选尤其重要。 其性能的好坏直接关 系到整个系统的好坏,对系统的功能实现和扩展都有着很大的影响。 在众多单片机的种类中, 51系列的单片机