当前位置: 首页 > news >正文

数字电子技术基础(三十七)——利用Multisim软件实现16线-4线编码器和4线-16线译码器

1 利用Multisim软件来实现16线-4线编码器

在之前的博客中完成了利用Multisim软件实现8线-3线优先编码器,现在使用Multisim软件来实现16线-4线编码器,其原理图如下所示:

使用字发生器来实现16线-4线编码器,器件选择:

  • 芯片选择:组选项栏中选择TTL,系列选项栏中选择74LS,在元器件选项栏中选择74LS138N,然后逆时针旋转90°放置;复制粘贴该芯片,将另一个并行放置。
  • LED选择:组选项栏中选择Diodes,系列选项栏中选择LED,在元器件中选择LED_BLUE_FOUR。鼠标左键点击LED灯,将值项下面的通态电流5mA设置为10mA。
  • 电阻选择:组选项栏中选择Basic,系列选项栏中选择RESISTOR,阻值选择300Ω,选择合适位置放置之后,复制粘贴电阻并行放置4个。
  • 门电路选择:在组选项栏中选择TTL,在系列项中选择74LS,在元器件选项栏中选择74LS00N的与非门,选择在芯片和LED灯中间的位置放置后顺时针旋转90°,复制粘贴并排放置三个。然后在相同系列选项栏中,选择74LS04N的反相器放置和与非门并排放置。
  • 电源选择:组选项栏中选择Sources,系列选项栏中选择POWER_SOURCES,在元器件选项栏中选择GROUND作为接地,将元器件放置在电阻下面。复制粘贴GROUND另一个放置在第二个芯片旁边。
  • 字发生器选择:将字发生器放置在第一个芯片的旁边,将字发生器引脚0的一端靠近第一个芯片。

选择合适的位置放置如下所示:

将电阻一端全部接地,另一端全部接LED灯,分别与LED灯一端的引脚相对应,LED灯的另一端接与非门和非门的输出端;字发生器的引脚0~7接芯片U1的引脚D0~D7,字发生器的引脚8~15接芯片U2的D0~D7;芯片U1和芯片U2的引脚A、B、C分别接3与非门的一端,其中两个芯片的引脚A接同一个与非门,引脚B接同一个与非门,引脚C接同一个与非门;芯片U2的引脚GS接非门的输入端,芯片U2的引脚EI接地;芯片U2的EO端接芯片U1的EI端;子发生器的输入范围为1111111111111110~0111111111111111,子发生器有16个,每个数都有一位为0,并且16个数中0的位置都不同。

最终的电路如下所示:

运行该电路,当输入0的引脚是第一个芯片从右向左数第4个,则低8位芯片的引脚D4是有效输入,运行示意图如下所示:

可以看到,LED灯显示的是11,D4所对应的数为3,则符合运行结果。

当输入0的引脚为高8位芯片从左向右数第6个,即全部输入从右向左数的第11位,即高8位芯片的引脚D3为有效输入,如下图所示:

可以看到LED灯输出的是1010,即十进制的10,通过验证输出正确。

2 利用Multisim软件来实现4线-16线译码器

在上一篇的博客中完成了利用Multisim软件实现对于3线-8线译码器,现在同样使用Multisim软件实现4线-16线译码器,其原理图如下所示:

如下所示即为4线-16线译码器的原理图,下面尝试使用Multisim软件进行输入。

2.1 使用手动输入方式实现4线-16线译码器

器件选择:

  • 芯片选择:组选项栏中选择TTL,系列选项栏选择74LS,在元器件项选择74LS138N。然后将其顺时针旋转90°,然后复制粘贴,为了便于观察将两个芯片并排放置。
  • LED选择:组选项栏中选择Diodes,系列选项栏中选择LED,在元器件中选择BAR_LED_RED。鼠标左键点击LED灯,将值项下面的通态电流的5mA设置为10mA。然后复制粘贴将连个LED灯并排放置。
  • 电源选择:组选项栏中选择Sources,系列选项栏中选择POWER_SOURCES,在元器件中选择VCC作为电源;同时在相同的系列选项栏中,在元器件中选择GROUND作为接地,同时将接地复制,在第二块74LS138N芯片旁边放置第二节接地装置。
  • 电阻选择:组选项栏中选择Basic,系列选项栏中选择RESISTOR,阻值选择300Ω,选择合适位置放置之后,复制粘贴电阻并行放置16个。
  • 开关选择:组选项栏中选择Basic,系列选项栏中选择SWITCH,在元器中选择SPDT。选择合适的位置后进行水平翻转,复制粘贴开关并列放4个。

放置好调整位置如下所示:

电阻的一端全部接地,另一端接LED的一端,LED的另一端接芯片U1和U2的输出端;四个开关右侧上端全部接电源,下端全部接地,S1、S2、S3个开关的左端接芯片U1和芯片U2的输入端,其中开关S1接芯片U1和芯片U2的引脚A,开关S2接芯片U1和芯片U2的引脚B,开关S3接芯片U1和芯片U2的引脚C,开关S4接芯片U1的引脚~G2A和引脚~G2B、芯片U2的引脚G1;芯片U1的引脚G1接高电平,芯片U2的引脚~G2A、引脚~G2B接地。

最终连接电路如下所示:

在上图中四个开关S4、S3、S2、S1所对应的原理图中的电路为D_3D_2D_1D_0,下面开始运行该电路。

(1)当D_3=0D_2=0D_1=1D_0=1时,即开关S4和S3接低电平,开关S1和S2接高电平,此时运行结果如下所示:

通过运行结果可以看到,LED1灯从右向左第四个灯是灭的,对应输出的二进制为0011,对应的十进制数为3,运行结果正确。

(2)当D_3=0D_2=1D_1=1D_0=0时,即开关S4和S1接低电平,开关S2和S3接高电平,此时运行结果如下所示:

通过结果可以看到,LED1从右向左数的第7个灯是灭的,对应输出的二进制数为0110,对应的十进制为6,运行结果正确。

(3)当D_3=1D_2=0D_1=0D_0=0,即开关S1、S2、S3接低电平,开关S4接高电平,此时运行结果如下所示:

通过结果可以看到,LED2从右向左数的第1个灯是灭的,对应输出的二进制数为1000,对应的十进制为8,运行结果正确。

(4)当D_3=1D_2=1D_1=0D_0=1,即开关S2接低电平,开关S1、S3、S4接高电平,此时的运行结果如下所示:

通过结果可以看到,LED2从右向左数的第6灯是灭的,对应输出的二进制为1101,对应的十进制为8,运行结果正确。

2.2 使用字发生器实现4线-16线译码器

除了使用手动输入的方式实现了4线-16线译码器,还可以使用字发生器来实现4线-16线译码器。在原来手动输入的电路图的基础上,使用S1~S4几个开关以及连接这几个开关的线路删除,将电源移动到两个74LS138N芯片的中间,然后在软件右侧选择字发生器放置到第一片74LS138N芯片的右边,并且将其水平翻转。如下图所示:

之后开始连线,将字发生器的引脚1连接芯片U1的引脚A和芯片U2的引脚A,将字选择器的引脚2连接芯片U1的引脚B和芯片U2的引脚B,将字选择器的引脚3连接芯片U1的引脚C和芯片U2的引脚C,电源接芯片U1的引脚G1,字发生器的引脚4连接芯片U1的引脚~G2A、引脚~G2B和芯片U2的引脚G1。如下图所示:

左键点击字发生器,控件点击单步,显示点击二进制,将二进制的范围改为0000~1111,将1111设置为最终位置。如下所示:

开始运行:

可以看到,当字发生器输入0011,LED1从右向左数第4个灯灭,说明输出为3,输出正确。

当字发生器输入1001,LED2从右向左数第2个灯灭,说明输出9,输出正确。

通过电路运行结果可知道4线-16线译码器的电路连接正确。

相关文章:

  • LeetCode Hot100 刷题笔记(9)—— 二分查找、技巧
  • SQL Server:触发器
  • 【最后203篇系列】026 FastAPI+Celery(续)
  • 网络原理(详解TCP原理,应答机制三握四挥等)
  • oracle常用sql
  • 2025年渗透测试面试题总结-某 欧科云链-安全开发(题目+回答)
  • 使用 Sales_data 类实现交易合并(三十)
  • Clion刷题攻略-配置Cmake
  • TypeError: __init__() got an unexpected keyword argument ‘device_type‘
  • 模型部署与调用
  • OrbStack 作为 Mac 用户的 Docker 替代方案
  • 数据结构每日一题day9(顺序表)★★★★★
  • Thrust库中,host_vector和device_vector数据之间如何高效传输,有异步传输方式吗?
  • Linux 企业项目服务器组建(附脚本)
  • C++学习笔记(三十二)——priority_queue
  • Java基础 4.1
  • OpenLayers:海量图形渲染之矢量切片
  • 07-01-自考数据结构(20331)- 排序-内部排序知识点
  • 【14】Selenium的基本使用
  • 一道积分_4
  • 这个“超强致癌细菌”,宝宝感染率高达40%,预防却很简单
  • 支持企业增强战略敏捷更好发展,上海市领导密集走访外贸外资企业
  • 2025年上海科技节5月17日启动,56家重点实验室和大科学设施将向公众开放
  • 北京“准80后”干部兰天跨省份调任新疆生态环境厅副厅长
  • 食用城市|食饭识人
  • 人大新闻教育70年丨16759门课程里的时代密码