迅维网

电子史 · 在井字棋中找寻最初的逻辑编程器件

xzq11111111 2019-7-1 20:47

电子史 · 在井字棋中找寻最初的逻辑编程器件

笔者的目光被一款奇怪的井字棋吸引了。井字棋并不复杂,甚至还有些简陋。对于学习编程的人来说,井字棋已经成为了入门级的游戏项目,而对于电子爱好者来说……

电子史 · 在井字棋中找寻最初的逻辑编程器件

当然,如果你是运用单片机或是其他的控制器来实现的话,那么井字棋也没有什么难的。而今天笔者想要介绍的却是一款“没有用到处理器的井字棋”。它不运用控制器,而是运用分立的触发器记录输入状态,并运用ROM来记录走棋规则。没有单片机,ROM是怎么记录并判断走棋规则的呢?

电子史 · 在井字棋中找寻最初的逻辑编程器件

ROM(Read Only Memory)是一种能够永久性地储存一些信息的器件,老式的器件在生产时确定内容,一经确定后便不能改写。而后期产生了可以由用户自行写入内容的PROM(可编程只读储存器)、EPROM(可擦除可编程只读储存器)和EEPROM(电可擦除可编程只读储存器)。

最简单的并行ROM对外引脚由地址线、控制线和输出线组成,在这样的ROM拥有一个有趣的特点,即其输出端可被视为由输入端状态所组成的逻辑函数,比如下面这个例子:

如果我们想实现下面的两个函数表达式的话

F0=A, F1=A'B'+AB

我们就可以预先在ROM中存入下列的数据,注意左侧的为地址线,而右侧的为输出端,也就是说,相当于是在左侧的地址存入右侧的数据:

电子史 · 在井字棋中找寻最初的逻辑编程器件

然后,我们需要简单的整理我们所需的表达式,将所需的表达式换成由每一项输出项所表示的内容:

F0=AB+AB', F1=A'B'+AB

电子史 · 在井字棋中找寻最初的逻辑编程器件

在这之后,我们就可以将存有对应数据的输出端运用与门连接在一起,形成输出函数了。这就是运用ROM形成逻辑关系的最简单例子了。

电子史 · 在井字棋中找寻最初的逻辑编程器件

在Warren Toomey制作的ROM井字棋中,由于井字棋的走法,或者说局面是有限种的,因此将任意一种局面都储存在ROM中是可能的。这个规划也基于此理论,将所有的局面以逻辑关系式的形式储存在ROM中,输入端是当前的棋局,而输出端则是下一步的走法,于是你只需要走出一步,下一步局面则由ROM输出。(当然,在胜利、失败或是平局的时候,控制这个状态的LED也由ROM输出)。在GitHub中可以找到这个规划的所有内容,供你参考。:

https://github.com/DoctorWkt/TTL_TicTacToe

运用ROM来产生逻辑是一种非常有趣的技巧,这也是代替复杂的分立逻辑电路的第一步,还记得我们的继电器逻辑电路吗?


雷人

握手

鲜花

鸡蛋

路过
收藏
返回顶部
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图


芯片搜索