【8088】基于8088最小系统板的打地鼠游戏实现【简】
作者:互联网
文章目录
研究目的及意义
- 随着社会的发展进步,电子技术的不断发展创新,为了紧跟快速信息时代的发展,诸多学生选择了计算机相关专业领域进行研究与学习,而在此过程中,周立功实验箱便是目前本科生普遍所使用的硬件方面的主要教学实验器材。它拥有的系统功能强大,但对初次接触相关方面学习的同学而言较为复杂,且因其价格昂贵以致大量的相关基础实验无法进行实践上手应用。这样以来,许多相关专业本科生仅有大量的理论学习资料研究,而并不能突破从理论到实践的屏障,长期以往屏障导致渐渐失去最初的学习研究兴趣。所以我们便想到使用单片机制作一款既能引起初次接触相关方面学习的同学的兴趣,又能进行进一步深入的学习研究,且体积小、价格低廉、稳定可靠的项目——基于8088最小系统板的打地鼠游戏。因为单片微型计算机是具有高性能、高速度、体积小、价格低廉、稳定可靠、应用广泛特点的大规模集成电路技术发展的产物,属于第四代电子计算机。它的应用必定导致传统的控制技术从根本上发生变革,其开发应用也已成为高科技和工程领域的一项重大课题。而与此同时,我们还考虑到游戏显然已经融入到了现代人们的日常生活中,成为许多人生活中进行放松娱乐时不可替代的一部分。那如果可以在游戏娱乐中培养兴趣并获得相关学习能力,岂不乐哉,这便是我们进行此项目研究的初心目的。我们设计的基于
-
8088最小系统板的打地鼠游戏具有以下优势:
- 上位机软件的可视化界面简洁清晰,用户可以轻而易举地进行汇编程序编 译、串口通信、程序固化等相关操作。
- 设计了 8088 最小系统板,使我们的接口板可以脱离实验箱运行。
- 巧妙地利用了 Ready 信号实现了本次设计的一大难点,即总线控制权在 51 单片机和 8088CPU 之间的转换问题。
研究内容和方法
接口板
- 本项目拟有 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 输出方波,码制选用二进制。
- 线路连接中,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)。
- 模块分析
- 主模块:调用整合其余功能模块,将其余模块有机联系在一起,以实现打地 鼠功能。
- 8254 计时模块:使用 8254 芯片,对其进行初始化,使其输出周期为 1s 的时 钟信号,从 8255 的 A 口读入时钟信号,每次比较当前读入的时钟信号和上次的 时钟信号是否一致,若不一致则表示完成 1s 计时,完成 5s 计时后,模块完成。
- 加分模块:若当前用户击打成功,则进入加分模块。先使蜂鸣器发出声响, 然后调用 8254 计时模块,取出当前用户得分,使得分数加 1,模块完成。
- 输出模块:先把当前用户得分的个位数通过8255芯片的C口输出,并点亮 显示个位数的数码管,然后调用8254计时模块,计时完毕后熄灭数码管;接着把当前用户得分的十位数通过 8255 芯片的 C 口输出,并点亮显示十位数的数码管,同样调用8254计时模块,计时完毕后熄灭数码管,模块完成。
上位机软件
- 使用 C#语言编写的上位机软件相当于一个可以用于接收数据、控制数据的系统,即可以对接收到的数据直接发送控制命令,从而操作数据。同时上位机也可以接收控制器,即下位机的信号,通过下位机可以直接控制设备并获取设备状态。此外我们的上位机软件还拥有可视化界面,能够将所有需要手动操作的功能展示出来,方便用户操作。
- 模块分析
- 串口通信。传输数据的串口实际上就是将数据传到计算机的上位机中,供上位机接收信息并处理,从而实现工程技术人员监视、调试串口程序等功能。上位机软件即通 过该串口完成上位机和下位机之间的通信功能。
- 程序固化。首先,上位机发出命令传递给下位机,下位机将此命令解释成时序信号,直接控制到相应设备。接着,下位机通过读取设备状态数据(模拟量),转换成数据信号,反馈给上位机。同时,上位机发出的命令转换成的信息被固化到下位机中。
8080最小系统板
- 简单说明采用8088作为主控芯片,其外接一片存储容量为 128KB 的 SRAM;采用ATMEL公司生产的51系列型号为AT89C52的单片机作为从控芯片;采用 UART 转 USB 串口芯片CP2102完成51单片机主控的调试模式下其和 PC 机之间的数据传输功能,把用户代码存入 SRAM 中。通过总线控制权的切换,转换 51 单片机主控的调 试模式至 8088CPU 主控的运行模式,8088 控制总线,读取 SRAM 并完成运算功能。
试模式至 8088CPU 主控的运行模式,8088 控制总线,读取 SRAM 并完成运算功能。 - 线路连接
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。
- 模块分析
- PC 机与单片机的数据传输:用户通过中介上位机软件写入代码,经过上位机 软件固化后程序即导入单片机。
- 单片机与 SRAM 的数据传输:单片机提供 17 位单向地址信号,8 位双向数据 信号。读模式下,由单片机给出 17 位地址,SRAM 取出该地址中的数据信号并送 到 8 位数据总线中,由单片机 8 位相应端口接收。写模式下,由单片机给出 17 位地址和 8 位数据,SRAM 将地址信号与数据信号读入并将其写入到对应地址中。
- SRAM 与 8088CPU 的数据传输:当总线控制权切换到运行模式时,8088 作为 主控芯片,对 SRAM 进行内存的读写操作,读模式下,8088 对 SRAM 提供 17 位地 址信号,SRAM 通过地址总线读入 17 位地址并将 8 位数据通过 8 位并行 IO 口传 输到数据总线上,由 8088 接收。写模式下,8088 对 SRAM 提供 17 位地址信号和 8 位数据信号,SRAM 通过地址总线读入 17 位地址并通过 8 位并行 IO 口读取数据 总线上的数据,写入内部寄存器。
- 总线控制权切换:从调试模式切换到运行模式,需要 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