您的当前位置:首页正文

泰拉瑞亚逻辑电路的详细教程 泰拉瑞亚逻辑电路怎么使用 逻辑门功能简述

2023-05-04 来源:星星旅游

泰拉瑞亚中的电路复杂多样,其中的逻辑电路许多萌新或许都没接触过,那么小编今天就给大家带来了由玩家“Similarv”整理分享的泰拉瑞亚逻辑电路的详细教程,想学习这种高端电路的小伙伴们赶紧过来学习学习吧。

逻辑电路的详细教程

主要介绍1.3.1.1更新版本中的各个逻辑门的使用方法,直到如何制作自动计数器。

详细的教材可参照大学教材《数字电子技术》。

本帖主要是为了给为了使用电路装比的萌新指明前路。

逻辑门功能简述

首先,是逻辑门的功能:

1.关于逻辑开关

我个人习惯把这两个被翻译为“逻辑灯”的东西称为逻辑开关。

逻辑开关是可以相互转化的,不过为了方便连接电路,最好“开”和“关”都准备一些。

逻辑开关可以通过其他开关来控制“开”或者'关"的状态。

2.何为“与”,何为“或”

这里有个巧妙的记法:与(and)是乘法,或(or)是加法。

与是所有开关都打开才会启动。

就像1x1x……=1,只要有一个因子变成0,那就会变成0x1x……=0,都不会启动。

或是只要有一个开关启动就能启动。

就像0+0+0+……=0,一旦有其中一个变成1,那就会变成1+0+……=1.立即启动。

(逻辑中,非0即1,只要不是0就把他当做1来看)。

(在逻辑里,只有是否之分,即1和0)。

至于与非、或非,那就是与的相反、或的相反。

一样的连接方式,如果“与”得到1,那“与非”就得到0;如果“与”得到0,那“与非'就得到1。

(“或”和“或非”的图)。

3.何为“异或”? 何为“同或”?

怎么说好呢,泰拉瑞亚的“异或”似乎和我理解的异或有出入。

泰拉瑞亚里的异或门是:有且仅有一个逻辑开关为1时,启动。

如图:

同或门依然是异或门的相反。

总之,泰拉瑞亚的异或和同或,最好不要接3个或者3个以上的逻辑开关。

正常情况下,使用2个逻辑开关控制异或门和同或门,是完全正常的。

在开始讲解之前,有一个细节需要诸位注意,那就是开关的启动关闭的自定义问题。

比如请对比下图中左右电路的区别:

区别在哪呢?左边的电路定义——向右拨动开灯;而右边的电路定义——向左拨动开灯。

再看下面两幅图:

和上面差不多的问题,是开关的自定义的问题。

有人可能会说,这有什么大不了的,不还是拨动开关控制开关灯嘛!

可是,如果你要做的电路如果复杂起来时,你可能就被你自己坑惨了。

比如我只要稍微这样:

明明上面的连接方式一模一样,可是左边的逻辑开关打开了,右边的逻辑开关却关上了。

这就是没有好好的自定义开关导致的阅读困难。

为了方便大家阅读自己做的组合电路,我建议大家这样做:

1.统一定义开关的方向。

比如这样,在电路里,统一认定左拨为开,右拨为关。(开关开关,左开右关~)

2.上一级逻辑门输出,如果要连接下一级的逻辑开关来作为后者的输入的话。务必要记清楚到底是“上级启动下级开”还是“上级启动下级关”。

如果担心记不清楚,那还是统一按照“上级启动下级开'来设置吧。

比如这样:

(a:上级输出是关,下级输入也是关)

(b:上级输出是开,下级输入也是开)

如果想要上级输出是开(关)时,让下级输入关(开),但自己的理解又不困难,那也有办法:在两者中间,接入一个与非门取反即可~如上图的c和d所示。

上面虽然是很小的问题,但是差之丝毫都有可能毁掉你的电路。

那么下面开始教大家,如何设计任意的组合逻辑电路。

1.何为组合逻辑电路

组合逻辑电路是:任何时刻的输出,仅由此刻的输入来决定的逻辑电路。

比如下面这幅图就是一个组合逻辑电路,a和b是输入,y是输出。

进一步分析可知,y=a·b,即a和b都为1时,y才为1。

上面的“y=a·b”叫逻辑式或者逻辑函数【就像数学的y=f(a,b……)一样】,是表示输出和输入的关系的式子,任何组合逻辑电路都可以用逻辑式来表达。

再看下面这幅图:

可以看到,a开b关时,y才会亮。

这里我们可以记为y=a·b'。注意b’这里的单引号,这是表示“b非”的意思。

【当b=0时,b‘=1;即a=1且b=0时y才等于1】

2.用“与或式”表示任何的组合逻辑电路

假设电路有n个开关控制,每个开关都有0和1两种情况,那么所有可能出现的输入情况有2的n次方种。

比如说,有2个开关,那就有“00,01,10,11”【另一种记法是a’b',a'b,ab',ab】,共4种(2的2次方)可能出现的输入。

如果有3个开关,那就有“000,001,010,011,100,101,110,111”,共8种(2的3次方)可能出现的输入。

然后,输出为1的结果肯定在这里面挑啊!有几个就挑几个出来嘛!然后把他们加(+,or,或)起来不就行了嘛。

比如我希望有个监视交通信号灯有没有正常工作的电路:abc代表红绿黄灯,是输入,y是输出(交通灯正常工作y输出为1,不正常工作y输出为0)。

那么我们分析知道:只有ab'c',a'bc',a'b'c这3种情况是正常的,其他情况都是不正常的。

于是有y=ab'c'+a'bc'+a'b'c的逻辑式。

看不懂上面这段话么?多看几次吧。

类似于y=ab'c'+a'bc'+a'b'c这样的式子,先用“与”将各个输入端并接,再用“或”将这些结果加起来,就叫与或式。

那么,我们还是用上面的例子做讲解,所谓的“与或式”。

如图:这就是所谓的y=ab'c'+a'bc'+a'b'c

左上角是电路的实际连法,右边是对应的电路图。

一定要学会看懂我的电路图啊,不然后面就没法学了。

【打了黑点的交叉处是连在一起的,没打黑点的交叉处是错开的】

现在大家先把目光放到左下角的表格那里:

表格左边,列出了所有的开关的可能的组合情况,因为有3个开关所以有8种组合方式,没错吧?

再回忆题目的要求:3个红绿灯正常使用时输出为1,什么时候算正常使用呢?

肯定只能亮一个灯才对吧!红灯黄灯一起亮肯定是不正常的。

那么正常情况就是001,010,100这3种情况了,这3种情况下y都是1,其他情况下y为0。

把这3种情况加起来就得到了逻辑关系式y=ab'c'+a'bc'+a'b'c了。

加几个2级管,这样希望你们能理解所谓的红绿灯正常使用【啊黄灯变蓝灯了,不要在意细节嘛】。

100【ab'c'】的情况,火把y亮了,其他情况我就不一一列举了。

现在看这个,最重要的部分就是中间3个与门和下面一个或门了,这也是“与或式”的表现形式了。

有人会说,上面这图中还有3个非门啊,可是你的连接图里我没看到。

这个问题问得好啊,来给你们看看完整的正常的图。

给你们看从001到111的剩下7种情况吧。

1:

2:

3:

4:

5:

6:

7:

那么我来解释一下,明明功能一样,可是上面的连线复杂程度却不一样的原因。

在这张图里,我已经默认设定红灯开关打开时,红圈中的逻辑开关会关闭,橙圈中的逻辑开关会打开,所以不需要像上面再加额外的非门了,不过这样连的话务必要有扎实的功底呀。

如果想要设计好电路,应当对自己的电路有清晰的理解。

总结:与非门可以制作任意类型的组合逻辑电路。步骤如下:

1,列输入表:将所有的输入开关的情况列成表格【如上面的表格所示】。

2,确定输出:按照自己的想法或者题目的要求,选择哪些输入情况可以让输出为1【比如上面的100,010,001是符合要求的,应该让y为1】,哪些输入会让输出为0,把表格填好。

3,列出与或式。【比如上面的y=ab'c'+a'bc'+a'b'c】

4,按照与或式,给实际连接打草稿【比如上面的电路图,熟悉之后可以跳过这一步】

5,连接,检查,验收。

组合逻辑电路,编码器和译码器

什么叫编码器什么叫译码器,这里有个表格,大家先看一看吧。

1.编码器

编码器是将其他代码变成二进制代码的逻辑电路。

这里将以2位二进制数编码器作为实例来讲解。

2位的二进制数可以表示00,01,10,11这4个数,这个编码器的功能如下图:

我们还是按照上面的方法,做出相应的输入输出表,打草稿,然后连线,完成电路。

还有写逻辑关系式,这里y1=a2+a3,y0=a1+a3。

这就是最后的结果啦,因为我们的输出只有4种组合,为了保证精确的编码,输入的组合也应该只有4种,其他的输入情况的不允许出现的。

这也是是这个电路的缺点,为了弥补这个缺点我们还有“优先编码器”的方案,不过这个作为课外的知识了,有兴趣的同学可以自己查阅相关资料来学习。

2.译码器-普通译码器

这里用3线-8线译码器做讲解。

所谓3线-8线译码器是一个能够将3位二进制数分解为8钟信号的电路。

相当于编码的逆过程,类似于把二进制代码变成十进制的信号。

真值表和逻辑关系式子如下:

对了!大家不要觉得上面那个表有多复杂,我只是吧所有的输出项写到一起了,如果你们觉得阅读困难,可以像这样,在阅读任何一个输出(比如上面的y5)时,把其他的输出遮住。这样看就变成这样:

一目了然了对不对!

由我们的逻辑关系式子,得到电路图:

连好电路之后,就大功告成了!

3.译码器-7段显示译码器

这就是重点中的重点了!装比的话它是必不可少的!

先来解释一下。什么是7段显示译码器。

大家应该戴过电子手表吧?没戴过也总该见过吧?

电子手表上面显示的数字,是用7段短线来表示的。

这7段短线我们现在来给他编个号,来方便我们的进一步说明,先顺时针画个圈,标上abcdef,最后中间的短线标记g。

现在罗列从0到9的显示分配。因为这里很重要,所以我会讲的很详细的。希望大家要学会哦。

因为可以显示至少10个数字,输入的二进制数至少要有4位,这样才能保证满足要求。

如果只有3位的二进制数,从000到111总共,才8个,是不足以表示从0到9这10个数字的。

输入端有4位二进制数(4个开关)的话,从0000到1111,有16个数字,足以满足要求,那么我们取前10个来进行设置。

那么,老规矩,列表。

表格如下:

下一步是列式,稍微有些麻烦的一步。

计算过程省略,你们不会想看的。

那么,这就是逻辑关系式:

有了关系式,下一步就是接线路了。

那么现在来解释一下电路图。

左边4个按钮是4个开关,也就是输入二进制代码的地方。

在后续的电路中,这4个开关将被其他电线取代,当然这是后话了。

因为依旧是“与或式”的形式,所以电路里依然有很多 与门 、 或门 。

7个或门的输出口就是相对应的abcdefg共7个输出端,把他们按照约定好的形状连接到显示屏上,就得到了我们的“7段显示译码器”。

最后,我们来验证一下电路的准确性与否。

0000:

0001:

0010:

0011:

0100:

0101:

0110:

0111:

1000:

1001:

1010(不亮了,从1010到1111都是全黑的状态,就放一个就行了):

D锁存器

前面所讲的组合逻辑电路有个特点,就是任何时候的输出仅仅只由同一时刻的输入所决定,而我们接下来涉及的时序逻辑电路呢,可不仅仅是那么简单了。

它的输出不但由输入量控制,而且与它在上一个时刻的输出有关。

【至于所谓的“上一个时刻”到底是什么时刻这里我们先不管】。

时序逻辑电路最重要的组成部分是触发器,触发器有很多种,我们就介绍比较普遍的D触发器即可。

为了深入了解触发器,我们从构成触发器的锁存器开始介绍咯。

1:用与非门构成的SR锁存器

锁存器是何许人物也?

锁存器是能保存上一刻的输入的一个小电路。

怎么保存呢?基本思路就是:把输出端口想办法连回输入端口就ok啦。

那么基本思路就是这样:

在此基础上,用与非门构成的SR锁存器横空出世了。

这个电路仅仅由两个与非门构成,是相当的简单的。

如图所示:

至于为什么用SR这个名称,因为这两端各有置一(set)的功能和清零(reset)的功能。

现在来分析这个电路。

为了让说明清楚些,我将上一刻的输出记为Q,此刻的输出记为Q*。

这个电路不外乎以下4种情况:

先看前三种,我们一步步分析。

接下来就是最重要的第四种情况了,Q*=Q的情况,此时Q*=Q。

最后我们有如下的功能表给大家作参考:

2.D锁存器

上面的sr锁存器有个缺陷,就是当s和r同时由0变成1的时候,输出端Q会发生什么,难以预测。

总之,为了以防万一,S和R同时为0的情况还是不要出现了,反正留着没什么用。

D锁存器就是为了阻止S和R同时为0的情况而出现而设立的锁存器。

电路图如下,在SR锁存器的基础上,加了两个与非门。

顺带一题,与非门在电路实际应用里的作用实在是太重要了,给我与非门,我可以连出任何电路。回去把与非门的功能表好好记住吧。

单独分析左边的,情况:

最后,因为S端和R端已经被隐藏在电路里了,已经不是输入端和输出端口了,我们就没必要写出他的表格了

最后的D锁存器功能表如下。

接下来的教程里,凡是用到D锁存器的地方我不会再把各种门电路强出的画出来,而是用左下角的简图代替,希望大家谅解。

这里放个D锁存器的连接图吧:

D触发器

1.波形图

在介绍触发器之前呢,我想先给大家普及一下波形图的概念。

波形图就是表示电路上面某个点的电压随时间改变的坐标图。

如下所示:

同时,现在我们用高电压表示该点在此时为1,低电压表示该点在此时为0。

2.D触发器

用两个D锁存器这样连,就有了D触发器。

D触发器的功能:

D触发器是由D锁存器构成的,D锁存器的功能还记得么?

D锁存器在Clk=1的这段时间里,D输入端怎么变,输出端Q就怎么变。

但是,一般我们更乐意看到,在Clk由0变1又由1变回0的这个周期里,输出Q顶多只能变一次。

一个周期变一次是我们人为的一种要求,D触发器便是为了满足这种要求而诞生的。

在一样的情况下,D触发器的波形图是这样的。

这是上图D触发器的功能表:

D触发器不仅仅只有沿下降沿触发的,还有沿上升沿触发的,两者的区别只在那个非门的位置。

如图:

但是,一样的情况下,上升沿触发的结果和下降沿触发的结果可能会截然不同,这点要注意。

比如看下图:

我们来分析一下为什么触发器每个CLK周期最多只改变一次吧。

分析步骤如下图:

由于上图有一部分不清楚,下图是补充:

计数器入门

1.从状态转换图和状态转换表说起

状态转换图表是用来表示时序逻辑电路的变换方向的图表。

比如某个3进制计数器的转态转换图是这样的:

所谓3进制计数器就是满3进一的计数器,于是我们可以用二进制的00,01,10表示这3位,并给首位取名为Q1,次位取名Q0来表示,Q1Q0经过00,01,10的循环,循环到3位的时候进一。

这里进一就是向外部输出1了,我们把输出用Y表示,把它写在圈圈外面。

【Y的上面有个/,一般/的左边是输入,右边是输出,因为这里没有输入所以/的左边是空的】

那么,Q1Q0的循环图就这样画好了,可是万一电路不小心出现了Q1Q0=11况,循环就无法进行了,为了让它回到正常的状态,我们让11这个情况出现时让它继续转成00或者01或者10这3种之中的任意一种即可。

这是状态转换表,和以前的输入输出表是不是很像。

接下来用D触发器来连接这个3进制计数器吧,我们先从简单的慢慢过度到复杂的。

回忆一下D触发器的功能:

当clk的信号到达时,输出Q*=D

简单来说就是clk信号来了的时候,输入了啥,就输出啥。

那么现在看回上面的信号转换表,我们就可以列出Q1*Q0*的方程了:

Q1*=Q1'Q0

Q0*=Q1'Q0'

至于y的方程我们先不管了,毕竟现在先搞清楚Q1和Q0才是最重要的。

注意这里Q1*表示的是Q1的次态,而Q1‘表示的是Q1=0的意思。

有了状态方程之后,电路也很好连接了。

2.用D触发器表示已知状态方程的计数器

为了表示方便一下,D触发器的图我们现在这样来画:

现在开始展示连接的方式。

第一步:用两个触发器,这样子摆好:

左边就叫D触发器0号,右边是1号。

为了装比我也连个实际的出来:

左边0号,右边1号。

第二步;根据刚才的状态方程,把电路接好:

刚刚我们有Q1*=Q1’Q0,又因为Q1*=D1,所以D1=Q1’Q0

那就接吧:

第3步: 设置好clk端。

你可以用一个踏板来代表clk【踩一次触发一次】。

也可以用开关之类的。

或者用一个1秒3秒5秒定时器【每1/3/5秒触发一次】。

我们用一个开关来代表clk。

最后在放两张图。

十进制的循环表:

然后把电路接好就成,最后是把它接到我之前连好的译码器上面就大功告成了。

到了这里这篇攻略就结束了,想要了解该游戏的更多资讯与玩法可以点击下方的泰拉瑞亚专题了解,那小编就要和大家说再见了,我们下一篇攻略再见哦,拜拜!