无线电电子与电气工程百科全书 如何扩展操纵杆的功能。 无线电电子电气工程百科全书 许多电脑游戏不仅需要使用操纵杆进行控制,还需要通过键盘输入命令。 然而,在玩游戏时随身携带这两种设备非常不方便。 作者使用可编程逻辑阵列 (PLM) 556RT1,通过将“键盘”命令替换为操纵杆按钮按下的组合来解决该问题。 ZX-Spectrum 计算机的游戏程序通常以这样的方式构建:启动后它们不会自动进入操纵杆控制模式; 为此,您必须按几个键。 游戏过程中有时会需要使用键盘。 例如,要开始新会话、更换游戏,您需要按初始安装按钮。 这意味着玩家不能长时间手持操纵杆离开电脑、坐在椅子上或躺在沙发上。 为了按下一两个键,您需要经常接近计算机。 有些游戏根本不是为操纵杆控制而设计的。 你必须集中使用键盘,这很快就会崩溃。 另外,控制人物移动方向和射击的按键选择不当(例如在键盘上排成一排),往往会影响结果。 在不改变程序的情况下,将此类游戏的控制权转移到操纵杆上是很诱人的。 如今,最常见的是“按钮”操纵杆,它有五个方便放置的按钮,用于指示移动和射击的四个方向。 要执行其他操作(输入游戏控制符号),您可以使用各种按钮组合。 但以传统方式使用中低集成度的微电路解决这个问题会导致设备过于昂贵和复杂。 在迄今为止无线电爱好者鲜为人知的工业设备中,PLA微电路被广泛使用,它们是专门为实现复杂的组合逻辑而设计的。 其中之一 - 556PT1 - 可以同时从 8 个输入变量计算 16 个逻辑函数,后者可以包含在 48 种不同组合的逻辑表达式中。 设计上与556系列的PROM类似,通过编程器烧毁微电路芯片上的熔丝跳线来实现所需的功能。 编程方法、编程器的功能图及其块的原理图可以在[1-8]中找到。 最终确定 ZX-Spectrum 计算机的方案如图所示。 操纵杆(通过DD3芯片的反相器)和键盘以通常的方式保持与计算机的连接,并继续执行其功能。 操纵杆按钮 SB 1-SB5 的触点另外连接到输入 A1-A5。 以及处理器地址总线的 A8-A15 线 - 以及 PLM 7RT14 (556) 的输入 A1-A002。 输入 A6 保持空闲。 0D2芯片(集电极开路)的输出与键盘端口(KL0-KL4)并联连接到键盘端口和初始安装线。 应该记住,在 ZX-Spectrum 计算机的许多变体中,处理器地址总线都过载。 因此,建议通过总线驱动器KR580VA86(DD1)将键盘和附加负载(PLM 输入)连接到其上。 有时它已经存在于计算机中,例如,如果磁盘驱动器连接到计算机。 这样的缓冲器将增加键盘的可靠性。 事实上,为了减少地址总线上的负载,计算机开发人员通过高阻值电阻(15 kOhm)将键盘端口的输入连接到电源。 结果,释放按键后,杂散电容充电太慢,导致键盘状态的错误读数。 在某些游戏中,这种缺陷表现为屏幕上光标的混乱移动和模式的自发切换。 安装总线驱动器并将负载电阻额定值降低至1 kOhm后,这种现象就完全消除了。 当SA1开关打开时,PLA的输出处于高阻态,不影响计算机的运行。 通过关闭SA1,操纵杆按键的组合可以复制某些按键的动作。 发生这种情况的原因是,“硬连线”到 PLM 中的逻辑功能会重复键盘端口相应输入处的地址位之一的状态,从而通过按键的触点模拟这些电路的连接。 PLM 固件程序在表中给出。 一。 在矩阵中可用的 48 个元素 16I 中,使用了 30 个。表中显示了为模拟按下“C”键的元素准备编程代码的示例。 2. 如果按钮为“右”,则需要从数据总线的 A8 线(输入 A14 PLM)向键盘端口的 KL3 线(输出 B4 PLM)发送信号。 “左”和“射击”被按下。 在未编程的PLM中,输入A1-A16中的每一个都通过两个可熔跳线连接到元件16I的相应输入,并且在其中一个的电路中存在反相器。 如果你烧了“反向”跳线,参数将直接进入AND元件的输入,如果是“直接”,它将被反转。 烧掉两个跳线可以从实现的函数中完全排除这个参数。 在编程代码的二进制位中,要删除的跳线由逻辑 1 指定。 在我们的例子中,按下的操纵杆按钮对应于与其连接的 PLM 输入处的逻辑 0。 要实现 AND 功能,必须将它们反转。 通过移除“直”跳线。 在与此组合中未按下的按钮相关的位中,“反向”位被删除。 接下来,设置要使用的地址总线。 由于其上的有效逻辑电平为低,因此相应代码位中的“直接”跳线也被删除,留下“反向”跳线。 剩下的就是通过移除两个跳线来禁用未使用的输入。 OR 矩阵由 48 个(每个输出一个)16OR 元件组成,其输入通过跳线连接到 AND 矩阵的输出。因此,每个 48I 元件的输出处有 1 个跳线,通过烧录即可与相应的 8OR 元件断开,这意味着与 PLM 的输出断开。 输出B4对应编程代码的低位,B0对应编程代码的高位。 要保留我们需要的与输出 B7 的连接,请将代码设置为 0FXNUMXH。 如果编程期间发生错误或需要用一种功能替换另一种功能,则所有跳线都会被烧毁(代码 XNUMXFFH)。 将不必要的元件 AND 与输出完全断开。 相反,对剩余未使用的之一进行编程。 只要存在这样的元素,就可以多次重复操作,完善和补充了摇杆操作算法。 请注意,无论“向上”按钮的状态如何,“向左”按钮都会模拟按下“5”键。 类似地,“向上”按钮模拟按下“7”键,而不管“向左”按钮的状态如何。 因此,对于计算机来说,同时按下这些按钮相当于按下相同的键。 这也适用于模仿“6”和“8”键的“向下”和“向右”按钮。 键组合“0”和“5”需要两个 AND 和 OR 元素。 这是必要的,以便 A0 信号不会进入 KL11 电路,并且 A4 信号不会进入 KL12 电路。 不难看出,当指定的按键被按下时,未指定的按键就空闲了,选择的地址总线出现了逻辑0。在PLA输出端,出现的不是所需的逻辑0,而是1。然而,可以通过烧毁 NOT 矩阵的跳线来反转输出信号。 在我们的例子中,这必须通过将它们全部删除来完成。 以类似的方式,您可以对 PLM 进行编程,使其与具有常闭触点的操纵杆配合使用。 如有必要,它可用于将键盘连接到计算机,其按键之间的内部连接不符合“标准”ZX-Spectrum(例如,键盘“Electronics MS 7007”)。 使用操纵杆的高级功能时,您应该记住,有时,它与所需的键一起模拟按下其他几个键。 这是因为不可能同时按下所有必要的按钮,并且在键入组合的过程中短暂出现的所有中间状态都可以被感知为按下相应的键。 幸运的是,许多游戏程序对此没有响应。 如果无法输入所需的字符,请尝试在 SA1 开关打开的情况下按所需组合中的按钮。 然后,按住它们的同时,关闭开关。 文学
作者:V.Solonin,Konotop,乌克兰 查看其他文章 部分 电视. 读和写 有帮助 对这篇文章的评论. 科技、新电子最新动态: 温啤酒的酒精含量
07.05.2024 赌博成瘾的主要危险因素
07.05.2024 交通噪音会延迟雏鸡的生长
06.05.2024
其他有趣的新闻: ▪ 魔术师的心理健康 ▪ 水上自行车
免费技术图书馆的有趣材料: 本页所有语言 www.diagram.com.ua |