数字逻辑实验篇_logisim模拟

zz/2024/3/2 10:57:42

这篇博客记录数字逻辑实验的实验过程,解析自己遇到的知识和细节。
包含器件:JK触发器、74LS00、74LS08、74LS90、74LS390、CD4511、十六进制计数器(无七段数码管)、六十进制计数器(七段数码管显示)
发现一个神仙网站,先推一下。右侧两个文件夹,第一个文件夹是guide,也就是教程,第二个文件夹reference是所有元件的介绍,简单易懂,就是纯英不太友好,建议和翻译器配合使用。
logisim教程网站

触发器

JK触发器

logisim上JK触发器有label,我们可以清楚的看到
在这里插入图片描述
JK触发器左侧三个连接端,J K连接端还有时钟端;
右侧两个连接端,Q 非Q 连接端;
下方三个连接端,置1端,使能控制端,置0端。
logisim上使能控制端默认为1,比较方便。

真值表:

JK输出Q
00不变
010
101
11反转

记清楚真值表哦,后面要用的。

芯片

74LS00

简单来说就是四个与非门,电源和接地端暂时不需要制作。

引脚图

在这里插入图片描述

电路图
在这里插入图片描述

74LS08

74LS08和74LS00类似,简单来说就是四个与门
引脚图
在这里插入图片描述
原理图
在这里插入图片描述

74LS90

从这里开始比较难,74LS90(分频器)在我们的实验中用作十进制计数器,其本质是用JK触发器构成的一个二进制计数器和一个五进制计数器,我们通过外部连接(没错,就是QA和INPUT B),可以把二进制计数器和五进制计数器连接在一起,构成一个十进制计数器,实际上也可以用作其他进制,资料可以自查。
引脚图
引脚图很复杂,但是别被吓到了,下面有解释,先看解释,然后对照着图一点点看,可以的,没那么难,理清结构就好。
在这里插入图片描述
首先从左右两部分看,左侧的长线基本都属于置0端或者置9端,忽略这些之后,我们会发现整个电路从上下还可以分成两个部分从上到下四个JK触发器,第一个触发器为第一部分,后三个触发器为第二部分。我们不妨将其分别称为ABCD触发器。不难看出A触发器并没有直接与其他三个触发器有直接联系,它就是我们的二进制计数器,且其仅被INPUT A控制,也就是说,下方BCD三个触发器构成一个五进制触发器,且其仅由INPUT B控制。

五进制触发器必须表示0~4五个数字,也就是
000,001,010,011,100,
当数字到达101时,必须跳转回000,即清零;
(如果仅仅从这个角度出发,我们完全可以通过一个三输入的与门实现,后面我也的确这么做了。)

但我们的74LS90没有这么做,它选择了使用JK触发器之间的巧妙约束。
这里的理解要有理解JK触发器正常计数做法的基础
五进制这里不同的是,在0~4这五个数字,触发器C的输出Q当且仅当数字为4的时候为1,也就是如果我们把触发器D的输出Q连入触发器D的K,那么在数字0 ~ 3,由于Q恒为0,则K端恒为0当且仅当数字为3时,J端为1,K端为0,JK触发器输出置1,得到数字4
同时,触发器D的K端输入变成1,触发器D的J端为0,当我们再次点积脉冲,就会使得触发器D置零,Q非信号,即0,也会传入触发器B前面的与门,使得触发器B的J端为0,发生置0。至此,清零结束。
当然,这个过程我们也可以通过与门来实现,多连几根线就可以了。

五进制计数器原理图(JK触发器版本)
在这里插入图片描述
五进制计数器原理图(与门控制版本)
在这里插入图片描述
74LS90完整原理图
在这里插入图片描述

最后就是原理图中的R0和R9,分别表示把结果强制表示为0和9,很好理解。

74LS390

其实就是两个74LS90拼接在一起
引脚图
在这里插入图片描述

原理图
在这里插入图片描述
更改一下芯片外观
在这里插入图片描述

组件

CD4511

引脚图(没有内部结构很扎心)
在这里插入图片描述

CD4511 是一片锁存/7 段译码/驱动器芯片,总计十四个端口,四个输入端A0··A3用来BCD码输入,七个输出端YA~YG,以及三个控制端LT,BI,LE。
LT为灯测试端,加高电平时,显示器正常显示,加低电平时,显示器一直显示数码“8”,以检查显示器是否有故障。
BI为消隐功能端,高电平时,显示器正常显示,低电平时使所有笔段均消隐。
LE是锁存控制端,高电平时锁存,外部输入无效,低电平时正常传输数据。
另外 CD4511有拒绝伪码的特点,当输入数据超过十进制数9(1001)时,显示字形也自行消隐。
然后是设计思路, CD4511我自己也确实做了很久,希望都能耐着性子慢慢来吧,其实控制输入应该是非常耗时间的一件事,列出真值表,化简,再设计,但是我们老师直接给出了现成的,十分友好,给老师点赞。
1 首先要完成的就是把BCD码输入转换成七段电子数码管的信号,这一点可以通过列七个电子数码管的某一段亮灭情况与BCD码输入的真值表得到当前段和输入的逻辑表达式实现,然后通过门电路组合完成转换。
2 为了配合灯测试端LT和消隐功能端BI的使用,我把LT和BI的信号也和转换的结果直接相连,方便控制,即七段数码管的某一段亮的条件除了数字本身的要求,再加上BI端和LT端的控制要求。
3 锁存控制端LE则依赖寄存器的使用,LE和寄存器的时钟端相连控制寄存器的使用,如果LE为高电平,使用寄存器存储信号,否则直接传输即可。

原理图(全图有点糊,最后部分放 左右分开高清版本)
左侧是主电路,右侧是将输入的BCD码分别转化为七段数码管的七个控制信号,分别控制七段数码管的a b c d e f g七个灯段亮灭状况。
在这里插入图片描述

右侧一大片都是BCD码的转换部分,取其中a段举例,

在这里插入图片描述
当输入的数字为十进制的0,2,3,5,7,8,9时,输出YA均必须为1,写成真值表可得:

ABCDYA
00001
00101
00111
01000
01011
01100
01111
10001
10011

上图恰好满足真值表中的数据要求,设计很费心思。具体方法就是真值表+卡诺图化简+列出真值表达式,十分繁琐,而且要做七次······
继续讲解输出部分YA输出要受到消隐功能端BI和灯测试端LT的控制,所以YA正常输出时必须有BI端为0。LT端的控制则体现的更早,如果LT输入端为0且不消隐,直接把数字转换为数字8。
BCD码的数值十进制情况下大于10的时候,直接通过消隐功能完成消隐即可。锁存功能主要通过寄存器实现,即把锁存控制器LE端用作寄存器的时钟,如果锁存端从0变1,寄存器接收数字,同时选择器选择输出第二路信号,第一路信号不再输出,保证输出信号不再受输入影响,从而实现寄存功能。(用控制缓冲器也可实现,上图解释一下我是用了什么结构寄存的)
在这里插入图片描述
高清大图
在这里插入图片描述

在这里插入图片描述

十六进制计数器(无七段数码管)

不是很难理解,就直接上原理图了,4个JK触发器,好好看图,你可以的。
在这里插入图片描述

六十进制计数器(七段数码管显示)

当做好了74ls390,这东西就是拿着连一连玩的感觉···
在这里插入图片描述


http://www.ngui.cc/zz/1568771.html

相关文章

74ls160/74ls161中文资料介绍

原文:http://www.dzdlt.com/components/2010082728887.html 74LS160 芯片同步十进制计数器(直接清零) 用于快速计数的内部超前进位 用于n 位级联的进位输出 同步可编程序 有置数控制线 二极管箝位输入 直接清零 同步计数 本电路是由4…

用74ls90组成二十四进制计数器_减法计数器的组成以及原理

异步二进制减法计数器如图1-1所示减法计数器的结构原理1-1减法计数器的结构原理该计数器是一个3位二进制异步减法计数器,它与前面介绍过的3位二进制异步加法计 数器一样,是由3个JK触发器组成,其中J、K端都悬空(相当于J1、K1),两者的不同 之处…

用74ls90组成二十四进制计数器_一个厉害的芯片芯片74LS190同步计数器可以做加法也可以做减法...

74LS190是同步十进制加/减计数器(又称可逆计数器),漂亮的主板它依靠加/减控制端的控制来实 现加法计数和减法计数。CPUCO/BO:进位输出/借位输出端;CP:时钟输入端:CT:计数控制端(低电平有效);Do~…

verilog设置24进制计数器_任意进制计数器 || 反馈复位法 反馈置数法 || 超级重点 || 数电...

任意进制计数器 || 反馈复位法 反馈置数法 || 超级重点 || 数电前面介绍了4位二进制计数器和十进制计数器,但它们的计数长度、计数方式是固定的。例如:十进制计数器74160,其计数的模为10,计数方式为加1计数,从0000开始…

【Multisim仿真】74LS90六十进制计数器

【Multisim仿真】74LS90六十进制计数器Multisim仿真演示 74ls90引脚图及功能 74LS90功能:二-五-十进制异步计数器(2 和5) A. 将输出QA与输入B相接,构成8421BCD码计数器; B&#x…

Fortran解一元四次方程程序

一元四次方程, 沈天珩求根公式, 具体公式 详见百科链接; 程序由main.f90和输入文件abcde.para构成,abcde分别为 程序的结果将给出abcde取值,参数符合天珩求根公式第几定理,四个根,以及将四个根分别带回方…

简单Python小程序:求根公式求一元二次方程式实数域的根

一、算法的构思 一元二次方程的一般式:ax^2bxc 0 我们知道,一元二次方程有解(根)的充要条件是:b^2-4ac>0。如果不满足此关系式,那么方程无解。接着当方程有解的时候又出现了两种情况:1.有两…

一元四次方程c语言程序编写,一元高次方程数值解法C程序实现探讨..doc

一元高次方程数值解法C程序实现探? 一元高次方程作为方程的一部分,对我们后续的学习起着相当重要的作用求解一元高次方程的根在计算数学方面既是难点也是重点。一元三次方程和一元四次方称有一般解法,但是比较复杂,且超过了一般的知识范围5次…

javaScript一元四次、三次方程求根算法

文章目录一、一元四次方程求根算法二、一元三次方程求根算法总结一、一元四次方程求根算法 天珩公式:https://baike.baidu.com/item/%E4%B8%80%E5%85%83%E5%9B%9B%E6%AC%A1%E6%96%B9%E7%A8%8B%E6%B1%82%E6%A0%B9%E5%85%AC%E5%BC%8F/10721996?fraladdin 代码如下&…

用java求解一元四次方程_Java程序设计(十四)----一个求一元二次方程根

* 程序的版权和版本声明部分* Copyright (c) 2012, 烟台大学计算机学院学生* All rights reserved.* 作 者: 刘镇* 完成日期: 2012 年 11 月 23 日* 版 本 号: 2.014* 对任务及求解方法的描述部分* 问题描述:编写一个FontFamily类…