从简单的逻辑到计数器电路.
本帖主要介绍1.3.1.1更新版本中的各个逻辑门的使用方法,直到如何制作自动计数器。详细的教材可参照大学教材《数字电子技术》。
本帖转自百度贴吧,原贴地址:http://tieba.baidu.com/p/4622663665
教学大纲如下————
第一天:各个逻辑门的功能简述
第二天:组合逻辑电路(1)——简单的组合逻辑电路
第三天:组合逻辑电路(2)——编码器和译码器
第四天:锁存器(D锁存器)
第五天:触发器(D触发器)
第六天:时序逻辑电路(1)——入门
第七天:时序逻辑电路(2)——计数器
第1天:逻辑门功能简述
1.关于逻辑开关。
我个人习惯把http://imgsrc.baidu.com/forum/w%3D580/sign=5c2febceb43eb13544c7b7b3961ea8cb/bbb3d51373f08202868a561943fbfbedaa641bf0.jpg这两个被翻译为“逻辑灯”的东西称为逻辑开关。
逻辑开关是可以相互转化的,不过为了方便连接电路,最好“开”和“关”都准备一些。
逻辑开关可以通过其他开关来控制“开”或者'关"的状态。
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个非门啊,可是你的连接图里我没看到。
这个问题问得好啊,来给你们看看完整的正常的图。
http://tb2.bdstatic.com/tb/editor/images/face/i_f25.png?t=20140803啊,反正也连好了,不放出来怎么行,上面是000的情况,给你们看从001到111的剩下7种情况吧~
那么我来解释一下,明明功能一样,可是上面的连线复杂程度却不一样的原因。
还记得昨天说过的开关初始化问题么?
在这张图里,我已经默认设定红灯开关打开时,红圈中的逻辑开关会关闭,橙圈中的逻辑开关会打开,所以不需要像上面再加额外的非门了,不过这样连的话务必要有扎实的功底呀~【咳咳咳扯远了】
如果想要设计好电路,应当对自己的电路有清晰的理解。
总结:与非门可以制作任意类型的组合逻辑电路。步骤如下。
1,列输入表:将所有的输入开关的情况列成表格【如上面的表格所示】。
2,确定输出:按照自己的想法或者题目的要求,选择哪些输入情况可以让输出为1【比如上面的100,010,001是符合要求的,应该让y为1】,哪些输入会让输出为0,把表格填好。
3,列出与或式。【比如上面的y=ab'c'+a'bc'+a'b'c】
4,按照与或式,给实际连接打草稿【比如上面的电路图,熟悉之后可以跳过这一步】
5,连接,检查,验收。
第三天:组合逻辑电路,编码器和译码器
什么叫编码器什么叫译码器,这里有个表格,大家先看一看吧
今天的重点就是译码器了,尤其是7段显示译码器,在经过2天的学习之后,我们的组合逻辑电路可以向实际应用方面过渡了。
理论上译码是编码的逆过程,所以我们还是从编码器开始。
1.编码器:将其他代码变成二进制代码的逻辑电路。
这里将以2位二进制数编码器作为实例来讲解。
2位的二进制数可以表示00,01,10,11这4个数,这个编码器的功能如下图
那么,我们还是按照上节课的方法,做出相应的输入输出表
打草稿,然后连线,完成电路。
这就是最后的结果啦,因为我们的输出只有4种组合,为了保证精确的编码,输入的组合也应该只有4种,其他的输入情况的不允许出现的。
这也是是这个电路的缺点,为了弥补这个缺点我们还有“优先编码器”的方案,不过这个作为课外的知识了,有兴趣的同学可以自己查阅相关资料来学习。
2.译码器-普通译码器
这里用3线-8线译码器做讲解
所谓3线-8线译码器是一个能够将3位二进制数分解为8钟信号的电路。
相当于编码的逆过程,类似于把二进制代码变成十进制的信号。
真值表和逻辑关系式子如下
对了!大家不要觉得上面那个表有多复杂,我只是吧所有的输出项写到一起了,如果你们觉得阅读困难,可以像这样,在阅读任何一个输出(比如上面的y5)时,把其他的输出遮住。这样看就变成这样
一目了然了对不对!
由我们的逻辑关系式子,得到电路图
连好电路之后,就大功告成了
页:
[1]
2