其他分享
首页 > 其他分享> > 【8088】基于8088最小系统板的打地鼠游戏实现【简】

【8088】基于8088最小系统板的打地鼠游戏实现【简】

作者:互联网

文章目录

研究目的及意义

  1. 上位机软件的可视化界面简洁清晰,用户可以轻而易举地进行汇编程序编 译、串口通信、程序固化等相关操作。
  2. 设计了 8088 最小系统板,使我们的接口板可以脱离实验箱运行。
  3. 巧妙地利用了 Ready 信号实现了本次设计的一大难点,即总线控制权在 51 单片机和 8088CPU 之间的转换问题。

研究内容和方法

接口板

  1. 本项目拟有 5 只地鼠,即 5 个灯,以及 1 个蜂鸣器,从 8255 芯片 B 口的 6 个引脚 输出,一只地鼠配有一个开关,另设有 1 个档位开关,总共 6 个开关从 8255 芯 片 A 口的 5 个引脚读入。再使用 1 个双位数码管计分,从 8255 芯片的 C 口输出, 使用 8255 芯片 B 口的 2 个引脚输出选通数码管信号(低电平选通)。用 8254 芯片的计时功能代替软延时,控制地鼠出现的精确时长,以及数码管亮的时长, 得出的时钟输出送到 8255 芯片 A 口的最高位引脚。其中 8255 芯片 A 口选用方式 0 输入,B 口 C 口都是方式 0 输出,8254 芯片选用计数器 0,先读/写低 8 位,再 读/写高 8 位,采用方式 3 输出方波,码制选用二进制。
  2. 线路连接中,8255 芯片的 PA0 到 PA5 连开关 K0 到 K5,PB0 到 PB4 连发光二极管 D0 到 D4,PB5 接蜂鸣器,PC0 到 PC7 连数码管 的 a 到 dp 管脚,PB6 到 PB7 连数码管的 1 和 2 管脚。8254 芯片的 OUT0 连 8255 的 PA7,CLK0 连时钟信号 18.432KHz。D0 到 D7 都连系统总线的 XD0 到 XD7,WR 和 RD 都连系统总线的 IOW#和 IOR#,CS 分别连系统总线的 IOY0(8255)和 IOY1 (8254)。
    接口板所需硬件
  3. 模块分析
    1. 主模块:调用整合其余功能模块,将其余模块有机联系在一起,以实现打地 鼠功能。
    2. 8254 计时模块:使用 8254 芯片,对其进行初始化,使其输出周期为 1s 的时 钟信号,从 8255 的 A 口读入时钟信号,每次比较当前读入的时钟信号和上次的 时钟信号是否一致,若不一致则表示完成 1s 计时,完成 5s 计时后,模块完成。
    3. 加分模块:若当前用户击打成功,则进入加分模块。先使蜂鸣器发出声响, 然后调用 8254 计时模块,取出当前用户得分,使得分数加 1,模块完成。
    4. 输出模块:先把当前用户得分的个位数通过8255芯片的C口输出,并点亮 显示个位数的数码管,然后调用8254计时模块,计时完毕后熄灭数码管;接着把当前用户得分的十位数通过 8255 芯片的 C 口输出,并点亮显示十位数的数码管,同样调用8254计时模块,计时完毕后熄灭数码管,模块完成。

接口原理图
接口板

上位机软件

  1. 使用 C#语言编写的上位机软件相当于一个可以用于接收数据、控制数据的系统,即可以对接收到的数据直接发送控制命令,从而操作数据。同时上位机也可以接收控制器,即下位机的信号,通过下位机可以直接控制设备并获取设备状态。此外我们的上位机软件还拥有可视化界面,能够将所有需要手动操作的功能展示出来,方便用户操作。
  2. 模块分析
    1. 串口通信。传输数据的串口实际上就是将数据传到计算机的上位机中,供上位机接收信息并处理,从而实现工程技术人员监视、调试串口程序等功能。上位机软件即通 过该串口完成上位机和下位机之间的通信功能。
    2. 程序固化。首先,上位机发出命令传递给下位机,下位机将此命令解释成时序信号,直接控制到相应设备。接着,下位机通过读取设备状态数据(模拟量),转换成数据信号,反馈给上位机。同时,上位机发出的命令转换成的信息被固化到下位机中。

8080最小系统板

  1. 简单说明采用8088作为主控芯片,其外接一片存储容量为 128KB 的 SRAM;采用ATMEL公司生产的51系列型号为AT89C52的单片机作为从控芯片;采用 UART 转 USB 串口芯片CP2102完成51单片机主控的调试模式下其和 PC 机之间的数据传输功能,把用户代码存入 SRAM 中。通过总线控制权的切换,转换 51 单片机主控的调 试模式至 8088CPU 主控的运行模式,8088 控制总线,读取 SRAM 并完成运算功能。
    试模式至 8088CPU 主控的运行模式,8088 控制总线,读取 SRAM 并完成运算功能。
  2. 线路连接
    8088 最小系统板主要用到了 1 片 8088 芯片,1 片 AT89C52 芯片,1 片 SRAM 存储器 HM628128,3 片 74HC373 地址锁存器,1 片 74HC245 数据收发器,1 片 UART 转 USB 串口芯片 CP2102,1 片 8284 时钟发生器,1 片 74LS125 三态门缓冲器,1 片 74LS00 与非门,一个 14.7458MHz 晶振给 8284 提供时钟源,1 个 12MHz 晶振给 单片机提供时钟源,直插色环电阻若干,直插退耦电容若干,导线若干。 8088 工作在最小模式,AD0-AD7 通过一片地址锁存器产出地址总线第八位, AD8-AD15 直接作为地址总线的 A8-A15,AD16 用另外一个地址锁存器产生地址总 线的 A16。由于 8088 的 AD0-AD7 是地址与数据的复用端口,所以将这八个端口 与数据收发器相连产生 8 位数据总线。这 17 根地址总线与 8 根数据总线与 HM628128 相连,RD 和 WR 端口通过 74HC125 三态缓冲,产生读写信号,提供给 SRAM,CLK、RESET、READY 信号由 8284 提供给 8088。AT89C52 的时钟源由 12MHZ 的晶振提供,P0、P2 产生 16 位地址总线,其中 P0 是低 8 位地址总线与 8 位数 据总线的复用口,因此 P0 还需要接 1 片 74HC373 锁存器,将 C52 的地址总线、 数据总线与 SRAM 相连,RD 与 WR 口接到 SRAM 的 OE 和 WE 读写信号使能端。C52 8088 最小系统板设计 6 / 36 的 P3.0 与 P3.1 串行数据端口分别与 CP2102 的 TXD 与 RXD 端口相连。整个电路 的电源由 CP2102 提供+5V。

原理图

  1. 模块分析
    1. PC 机与单片机的数据传输:用户通过中介上位机软件写入代码,经过上位机 软件固化后程序即导入单片机。
    2. 单片机与 SRAM 的数据传输:单片机提供 17 位单向地址信号,8 位双向数据 信号。读模式下,由单片机给出 17 位地址,SRAM 取出该地址中的数据信号并送 到 8 位数据总线中,由单片机 8 位相应端口接收。写模式下,由单片机给出 17 位地址和 8 位数据,SRAM 将地址信号与数据信号读入并将其写入到对应地址中。
    3. SRAM 与 8088CPU 的数据传输:当总线控制权切换到运行模式时,8088 作为 主控芯片,对 SRAM 进行内存的读写操作,读模式下,8088 对 SRAM 提供 17 位地 址信号,SRAM 通过地址总线读入 17 位地址并将 8 位数据通过 8 位并行 IO 口传 输到数据总线上,由 8088 接收。写模式下,8088 对 SRAM 提供 17 位地址信号和 8 位数据信号,SRAM 通过地址总线读入 17 位地址并通过 8 位并行 IO 口读取数据 总线上的数据,写入内部寄存器。
    4. 总线控制权切换:从调试模式切换到运行模式,需要 51 单片机撤出控制总 线及数据线和地址线,通过烧写 51 单片机的控制程序将连接单片机的数据总线 和控制总线调整为输入模式。地址总线的释放可通过电路设计撤出地址锁存器的 OE 信号实现。
      8088 的 ready 信号电路设计:复位后的第一个时钟周期,会从 0xFFFF0 地址 读取 1 字节的指令代码,如果此时撤除了 READY 信号,则 8088 微处理器数据总 线会保持高阻态。8088_READY=8284_READY & DEBUG,DEBUG 信号由单片机的 P1. 5 端口提供,DEBUG 为 1 时,电路工作在运行模式下,DEBUG 为 0 时,电路工作 在调试模式下。同时,8088 所用两片地址锁存器的 OE 信号接~8088_READY,单 片机所用一片地址锁存器的 OE 信号接 8088_READY,以运行模式为例,8088_READY 为高电平,8088 所接两片地址锁存器的输出使能端 OE 为低电平,有效,单片机 所接地址锁存器 OE 为高电平,地址总线被撤出。
      除串口通信的功能原理图如下:
      功能原理图
      总原理图如下:
      总原理图

标签:游戏,芯片,SRAM,8088,地址,单片机,地鼠,信号
来源: https://blog.csdn.net/weixin_44321600/article/details/117349842