数电实验-----实现74LS153芯片扩展为8选1数据选择器以及应用(Quartus II )

本文主要是介绍数电实验-----实现74LS153芯片扩展为8选1数据选择器以及应用(Quartus II ),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、74LS153芯片介绍

 管脚图

功能表

二、4选1选择器扩展为8选1选择器

 1.扩展原理

2.电路图连接(Quartus II )

3.仿真结果

三、8选1选择器的应用

1.三变量表决器

2.奇偶校验电路


 

一、74LS153芯片介绍

74ls153芯片是属于四选一选择器的芯片。

74LS153是双4选1数据选择器,有选择输入端B和A,能有四种状态,选中输入4个数据中的其中一个数据,选择输入中L,H分别代表为L为低电平,H为高电平。选通输入可称为使能端,选通输入为高电平时,输出端Y为L低电平,选通为低电平时,输出Y为选择的数据输出。

2ac9492643f4418586b746c5769700ed.png

 管脚图

1G、2G是表示控制开关

A,B是表示地址选择器

1C0~1C3和2C0~2C3是输出口

40f1a47039b541a995c85ca70c1c8dde.png

 内部结构:bc2d612daa874dcd9a184c1b12a1df4c.png 

功能表

 真值表:

7cb6f2a3fe5642f986e0f8998a6f65ae.png

S是控制开关,当S为高电平的时候,表示不工作,反之就正常工作,A1和A0是地址选择器,选择相对应的地址输出。

二、4选1选择器扩展为8选1选择器

 1.扩展原理

8选1选择器真值表:

1744b724cf794a92b0f0aefc903943b5.png

 74ls153芯片有三个输入口,其中一个是选通开关S,其他两个是地址输出选择器A1 A0,这里我们就可以去通过这三个输入口作为8选1选择器的三个输入口。所以我们要用到两个4选1选择器来去实现8选1选择器的功能,通过两个4选1选择器交替工作实现输出的位选,我们让其中一个4选1选择器为高位选择器,另一个低位选择器,低位的选通开关取反接入到高位的开关,开关就作为A2。然后剩下的就是地址选择输出。下面看个示例:

        比如,选通开关S、地址选择器A1、A0分别输入1 0 1,那么我们要输出就应该是高位的第2个,也就是输出D5即2D2这一条数据结果。那此时低位4选1选择器就不工作,所以输出的是0,也就只有高位的选择器在工作。

2.电路图连接(Quartus II )

下面我们打开Quartus II,然后创建一个block文件,按照以下的图示连接,以下就是4选1选择器扩展为8选1选择器的电路图。

084ae1646f6c4a2c8f3804131199d410.png

(注意,这里我的1C0~1C3和2C0到2C3输出口都是接高电平,这个可以根据实际情况去接高电平或者低电平。)

3.仿真结果

88e58a67ae2f43edaea932e5e9446805.png

 由于数据选择器是选择1C0~1C3和2C0到2C3这8个输出口输出的,我这里都是接高电平,那么输出结果要么是高位(OUT2)为1,要么是低位(OUT1)的为1。仿真结果无误。

三、8选1选择器的应用

1.三变量表决器

项目一 : 用指定芯片设计一个三变量表决器(即三个人对于某件事情进行表决,两个和两个以上同意则表决结果为通过,否则为不通过)。也就是说,输入端ABC,只要其中有两个或以上的输入1,那么结果就是通过,输出1。

真值表:

2652476a221e41aa9ef9e08186bc29fb.png

 如下图,我们可以看到74ls153芯片,在不同的输入现在地址下的输出。要想实现三变量表决器的话,我们就需要根据上图的三变量表决器的真值表来去设置1C0~1C3和2C0到2C3这8个输出口输出的电平接口,很显然1C0,1C1,1C2,2C0这四个是接到低电平的,也就是直接接地,而剩下的四个就是接高电平的,直接接电源VCC。

7ccb79347d0b4a68b440994404389c40.png

电路连接图: 

b458832c4b3a46c2bbf220eaef457596.png

仿真结果如下所示:9cb3db16eff74cc9aca7ce8f908a7dc3.png

 仿真无误,实验成功。

实际电路连接图:

254c893a7734442984d9341b5f2ffd4b.png

2.奇偶校验电路

项目二 : 用指定芯片设计一个三位输入一位输出的奇偶校验电路(奇校验电路,当输入有奇数个 1 时, 输出为 1;偶校验电路当输入有偶数个 1 时,输出为 1。这里以奇校验电路为示例:

真值表:

67da1bd06da44cfa9a9e9a485498a861.png

表达式:Y=m1+m2+m4+m7

同样的我们根据表达式,去对C0~1C3和2C0到2C3这8个输出口输出的电平接口设置,很显然,1C0,1C3,2C1,2C3这4个是接低电平的,直接接地,而另外四个就是接高电平。

电路连接图如下:

647a466dc5534b7eb74fbcb4bbdeb340.png

仿真结果:

这里我们可以看到,当A2,A1,A0其中一个输出一个高电平的时候,输出结果就是1,表示奇数,当三个都输入1的时候输出结果也是1,其他情况为0,那就说明仿真无误。

66de295e24184064a8a2782c8079d605.png 

实验连接图忘记拍照了,不好意思哈!!!

以上就是本期的全部内容,喜欢的话给个赞吧!

分享一张壁纸:

c7b398182a434f408ffd489e8adbf011.png

 

这篇关于数电实验-----实现74LS153芯片扩展为8选1数据选择器以及应用(Quartus II )的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/398087

相关文章

windos server2022里的DFS配置的实现

《windosserver2022里的DFS配置的实现》DFS是WindowsServer操作系统提供的一种功能,用于在多台服务器上集中管理共享文件夹和文件的分布式存储解决方案,本文就来介绍一下wi... 目录什么是DFS?优势:应用场景:DFS配置步骤什么是DFS?DFS指的是分布式文件系统(Distr

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

Python MySQL如何通过Binlog获取变更记录恢复数据

《PythonMySQL如何通过Binlog获取变更记录恢复数据》本文介绍了如何使用Python和pymysqlreplication库通过MySQL的二进制日志(Binlog)获取数据库的变更记录... 目录python mysql通过Binlog获取变更记录恢复数据1.安装pymysqlreplicat

Linux使用dd命令来复制和转换数据的操作方法

《Linux使用dd命令来复制和转换数据的操作方法》Linux中的dd命令是一个功能强大的数据复制和转换实用程序,它以较低级别运行,通常用于创建可启动的USB驱动器、克隆磁盘和生成随机数据等任务,本文... 目录简介功能和能力语法常用选项示例用法基础用法创建可启动www.chinasem.cn的 USB 驱动

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

Python实现高效地读写大型文件

《Python实现高效地读写大型文件》Python如何读写的是大型文件,有没有什么方法来提高效率呢,这篇文章就来和大家聊聊如何在Python中高效地读写大型文件,需要的可以了解下... 目录一、逐行读取大型文件二、分块读取大型文件三、使用 mmap 模块进行内存映射文件操作(适用于大文件)四、使用 pand

python实现pdf转word和excel的示例代码

《python实现pdf转word和excel的示例代码》本文主要介绍了python实现pdf转word和excel的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录一、引言二、python编程1,PDF转Word2,PDF转Excel三、前端页面效果展示总结一

Python xmltodict实现简化XML数据处理

《Pythonxmltodict实现简化XML数据处理》Python社区为提供了xmltodict库,它专为简化XML与Python数据结构的转换而设计,本文主要来为大家介绍一下如何使用xmltod... 目录一、引言二、XMLtodict介绍设计理念适用场景三、功能参数与属性1、parse函数2、unpa

C#实现获得某个枚举的所有名称

《C#实现获得某个枚举的所有名称》这篇文章主要为大家详细介绍了C#如何实现获得某个枚举的所有名称,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... C#中获得某个枚举的所有名称using System;using System.Collections.Generic;usi

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英