数电基础(组合逻辑电路+Proteus)
1.组合逻辑电路
1.1组合逻辑电路的分析
1.1.1组合逻辑电路的定义
- 组合逻辑电路的定义
(1)对于一个逻辑电路,其输出状态在任何时刻只取决于同一时刻的输入状态,而与电路的原来状态无关,这种电路被定义为组合逻辑电路。
(2)特点:电路中不包含存储单元。输出、输入之间没有反馈延迟通路

(3)逻辑功能函数

- 集成电路的分析
(1)小规模集成电路:各种类型的门电路
(2)中规模集成电路:编码器、译码器、数据选择器、加法器、数值比较器等
(3)大规模集成电路:可编程逻辑器件PLD
1.1.2编码器
- 编码器的定义和功能
(1)数字系统中存储或处理的信息,常常用二进制码表示。用一个二进制代码表示特定含义的信息称为编码。具有编码功能的逻辑电路称为编码器。

- 普通编码器
(1) 普通编码器:任何时刻只允许一个信号有效,否则将产生错误输出。
(2)4线二进制编码器具有4个输入~
为高电平有效,输出是进制代码
任何时刻
~
中只有一个取值为1,并且有一组对应的二进制代码输出。除只有一个输入为1的情况下,其余的输入组合的输出结果均为0。此时的逻辑表达式为
,普通编码器在正常编码的情况下,对输入信号有严格的限制,即任何时刻
~
中只能并且必须有一个取值为1

| 输入 | 输出 | ||||
|---|---|---|---|---|---|
| 1 | 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 0 | 0 | 1 |
| 0 | 0 | 1 | 0 | 1 | 0 |
| 0 | 0 | 0 | 1 | 1 | 1 |
- 优先级编码器
(1)优先编码器:允许多个输入信号同时有效,输出是对优先级别高的输入信号编码。
(2)编码器为8个信号输入端~
,3位二进制码输出端
,输入和输出均为高电平为有效电平。并且从功能表来判断输入
~
的优先级别。例如,当
为1时,无论其他输入是否为有效电平,输出
为111是对
进行编码,说明
的优先级别最高。只有当其
~
均为0时,而
为1时,输出
为000是对
进行编码,说明
的优先级最低。因此8个输入信号的优先级由高到低的顺序依次是
~
。
(3)此外,为了方便多个编码器得级联扩展,还设置了高电平有效的输入使能端EI和输出使能端EO,以及优先级编码工作状态GS
(4)当EI=1时,编码器工作;而当EI=0,禁止编码器工作,此时无论8个输入端为何种状态,3个输出端均为低电平,且GS和EO均为低电平。只有在EI=1,且所有输出端都为0时,EO输出为1,它可与另一个相同编码器的EI连接,以便组成更多输入端的优先级编码器
(5)GS的功能是,当EI为1,且至少有一个输入端有高电平信号输入时,GS为1,表明编码器输出有效编码。否则GS为0.由此可以区分当电路所有输入端均无高电平输入或者只有输入端有高电平时,
均为000的情况


- 优先编码器实例74HC148

(1) 低电平有效,此时与上述的的情况相反。

- 优先编码器实例74HC147
(1)二一十进制编码器定义:将十进制数0~9这10个数编成二进制代码的电路,称为二—十进制编码器。
(2)结构:要对10个信号进行编码,至少需要4位二进制代码(=16),所以二一十进制编码器的输出信号为4位。


(4) 说明:外边的正方形代表低电平有效,NC表示空脚,可空置不接。1~9为输入端,A~D为输出端。输入、输出均为低电平有效,即0表示信号有效,1表示信号无效。
(3)功能表:表中x号表示可取任意值,即该输入的取值不影响输出状态,由此可以判定各输入的优先级别,9最高,1最低。

1.1.3译码器
- 译码器的功能和定义
(1)译码是编码的逆过程,它的功能是将具有特定含义的二进制码转换为对应的输出信号,具有译码功能的逻辑电路称为译码器
(2)译码器可分为两种类型,一种是将一系列代码转换成与之一 一对应的有效信号。这种译码器可称为二进制译码器或唯一地址译码器,常用于存储器中单元地址的译码,即将每一个地址代码转换成一个有效信号,从而选中对应的单元。另一种是将一种代码转换为另一种代码,所以称为代码变换器
(3)二进制译码器具有n个输入端、个输出端和一个使能输入端。在使能输入端为有效电平时,对应每一组输入代码,只有其中一个输出端为有效电平,其余输出端则为相反电平。输出端可以是高电平有效,也可以是低电平有效

- 2线-4线进制译码器
(1)2线-4线译码器有两个输入变量、
,共有4种不同状态组合,因而有4个输出信号,
~.
。
(2)为使能控制端,当
为1时,无论变量
、
为何种状态,输出全为1,译码器处于非工作状态,没有有效信号输出。当为
为0时,对应于
、
的一种输入状态,其中只有一个输出端为0,其余各输出端均为1。
(3)当输出为低电平有效时,其输出的低电平为:


- 3线-8线译码器



两个3线-8线译码器构成4线-16线的译码器(其中一线连接两个译码器)

- 二—十进制译码器
(1)8421BCD码,对应于0~9十进制数,由4位二进制数0000~1001表示。而二—十进制译码器是将输入的BCD码的10个代码译成10个高低电平输出信号。这种译码器应有4个输入端

(2)真值表,输入位BCD码,输出为为电平有效,当输入超过超过BCD码的范围时(即1010~1111),输出均为高电平,即没有有效译码输出

(3)二—十进制译码器的应用电路:电路的输出分别接标有十进制数的泡。当输入一组BCD码时,对应的输出端为低电平,点亮与之相连的灯泡。例如,当输入BCD码时输出
=0,它对应于十进制数6,其余输出为高电平

- 七段显示译码器
(1)在数字测量仪表和各种数字系统中,都需要将数字量直观显示出来,数字显示电路通常由译码驱动器和显示器灯部分组成。数字显示器就是用来显示数字、文字或符号的器件
(2)七段式数字显示器,也称为七段式数码管。常见的七显示器有发光二极管和液晶显示器。发光二极管构成的七段显示器有共阳极和共阴极两种,共阴极电路中,八个发光二极管的阴极连在一起接低电平,需要某一段发光就将相应的二极管的阳极接高电平。共阳极的驱动则刚好相反
(3) 常用的七段显示译码器有两类:一类译码器输出高电平有效信号,用来驱动共阴极显示器;另一类输出低电平有效信号,以驱动共阳极显示器。

(4)七段显示译码器功能的功能图如下。当输入为8421BCD码时,输出高电平有效,驱动共阴极显示器。当输入为1010~1111六种状态时,输出全为低电平,显示器无显示。该显示译码器设有三个辅助控制端LE、
和
,以增强器件的功能


*此时的状态取决于LE由0跳变为1时BCD码的输入
(5)灯测试输入LT:当=0时,无论其他输入端是什么状态,所有输出a~g均为1,显示器显示字形8。该输入端常用于检查译码器本身及显示器各段的好坏
(6) 灭灯输入:当
=0时,并且
=1时,无论其他输入端是什么电平,所有输出a~g均为0,所以字形熄灭。该输入端用于将不必要显示的零熄灭,例如一个6位数字023.050,将首、尾多余的0熄灭,则显示为23.05,使显示结果更加清楚
(7)锁存使能输入LE:在=
=0的条件下,当LE=0时,锁存器不工作,译码器的输出随输入码的变化而变化;当LE由0跳变为1时,输入码被锁存,输出只取决于锁存器的内容,不再随输入的变化而变化

- 数据分配器
(1)数据分配是将公共数据线上的数据根据需要送到不同的通道上去,实现数据分配功能逻辑电路称为分配器。它的作用相当于多个输出的单刀多掷开关

(2)数据分配器可以用带使能端的二进制译码器实现。如用3线-8线译码器可以把1各数据信号分配到个不同的通道上去。用三线—8线译码器作为数据分配器的逻辑原理图,将接低电平,
作为使能端,
作为数据输入,
、
和
作为选择通道地址输入。

- 芯片7448






1.1.4数据选择器
- 数据选择器的定义和功能
(1)数据选择是指经过选择,把多路数据中的某一路数据传送到公共数据线上,实现数据选择功能的逻辑电路称为数据选择器。它的作用相当于多个输入的单刀多掷开关
(2)与门和或门构成的2选1数据选择器电路及逻辑符号,该符号常在大规模电路中使用。数据输入端(又称为地址输入端)S决定输出Y等于还是
。其输出的逻辑函数式为
(3)真值表为
| 数据输入 | 数据输出 |
| S | Y |
| 0 | |
| 1 |

(4) 可以用3个2选1数据选择器构成4选1数据选择器,4选1电路是两级电路,第1级两个数据选择器分别实现和
。第二级实现
,将
和
代入得到
(5)被选数据源越多,所需选择输入端的位数也越多,若选择输入端为n,可选输入通道数为


- 8选1数据选择器74HC151
(1)当时,Y=0,当
=0时,Y=



- 双四选一数据选择器74HC153

1.1.5算术运算电路
-
半加器
(1)半加器和全加器是算术运算电路中的基本单元,它们是完成1位二进制相加的一种组合逻辑电路
(2)只考虑了两个加数本身,而没有考虑低位进位的加法运算,称为半加,实现半加运算的逻辑电路称为半加器。真值表如下,其中A、B是两个加数,S表示和数,C表示进位数。
(3)逻辑表达式为:


- 全加器
(1)完成被加数、加数和来自低位的进位信号相加,并根据求和给出该位进位信号的运算称为全加,实现全加运算电路称为全加器



- 多位数加法器
(1)串行进位加法器:若有多位数相加,则可以采用并行相加串行进位来完成。例如,有两个4位二进制数和
相加,可以采用4位全加器构成4位加法器。将低位的进位输出信号接到高位的进位输入端,因此,任1位的加法运算必须在低1位的运算完成之和才能进行,这种进位方式称为串行进位。这种加法器的逻辑电路比较简单,但它的运算速度不高。设门的延迟时间均为
,一位全加器的延时是3
,4位串行全加器延时是12


(2) 超前进位加法器:通过逻辑电路事先得到每一位的进位输入信号,而无需从最低位开始向高位逐位传递进位信号。

1.1.6数值比较器
- 数值比较器的定义和功能
(1)在数字系统中,特别是在计算机中需要对两个数的大小进行比较。数值比较器就是对两个二进制数A、B进行比较的逻辑比较,比较结果有A>B,A<B以及A=B的三种情况
(2)1位数值比较器是多为比较器的基础。当A和B都是1位二进制数是,它们只能取0或1两种值。下面是真值表
| 输入 | 输出 | |||
| A | B | |||
| 0 | 0 | 0 | 0 | 1 |
| 0 | 1 | 0 | 1 | 0 |
| 1 | 0 | 1 | 0 | 0 |
| 1 | 1 | 0 | 0 | 1 |

(2) 两位数值比较器:两位二进制分别位和
,用
、
和
表示结果。当高位(
、
)不相等时,无须比较低位(
、
),高位比较的结果就是两个数的比较结果。当高位相等时,两数的比较结果由低位比较的结果决定
| 输入 | 输出 | |||||
| x | 1 | 0 | 0 | |||
| x | 0 | 1 | 0 | |||
| 1 | 0 | 0 | ||||
| 0 | 1 | 0 | ||||
| 0 | 0 | 1 | ||||
(3) 由电路的逻辑图所示,电路利用了1位数值比较器的输出作为中间结果。它所依据的原是,如果两位数和
的高位不相等,则高位比较器就是两数比较结果,与低位无关。这时,高位输出
,使与门的G1、G2、G3均封锁,而或门都打开,低位比较结果不能影响或门,高位比较结果则直接从或门直接输出。如果高位相等,即
,使与门的G1、G2、G3均打开,同时由
和
作用,或门也打开,低位的比较结果直接送达输出端,即低位的比较结果决定两数的大、小或者相等

- 74HC85芯片

1.2proteus的仿真
1.2.1编码器的仿真
- 74ls147的仿真

- 74ls148的仿真

1.2.2译码器的仿真
- 总体的仿真(二—十进制译码器)

- 74ls48和47的仿真
(1)74ls47输出后会输出低电平为有效电平,所以接共阳极的数码管
(2)74ls48输出后会输出高电平为有效电平,所以接共阴极的数码管



1.2.3数据选择器的仿真
- 74ls151数据选择器

- 双数据选择器4选1

1.2.4超前进位加法器的仿真

1.2.5数值比较器的仿真

相关文章:
数电基础(组合逻辑电路+Proteus)
1.组合逻辑电路 1.1组合逻辑电路的分析 1.1.1组合逻辑电路的定义 组合逻辑电路的定义 (1)对于一个逻辑电路,其输出状态在任何时刻只取决于同一时刻的输入状态,而与电路的原来状态无关,这种电路被定义为组合逻辑电路…...
自给自足:手搓了一个睡眠监测仪,用着怎么样?
很久不分享手搓党作品拉! 今天分享一个“基于毫米波雷达的睡眠监测仪”作品! 用Air700E开发板毫米波雷达,手搓一个开箱即用的睡眠监测仪,不花冤枉钱! 来仔细瞧瞧! 一、项目原理及硬件制作 毫米波是指频率…...
Miniforge详细安装教程(macOs和Windows)
(注:主要是解决商业应用anaconda收费问题,这是轻量级的代替,个人完全可以使用anaconda和miniconda) Miniforge 是一个轻量级的包管理器,类似于 Anaconda 和 Miniconda。它主要用于安装基于 conda 的 Python 环境,专注于…...
HDFS Shell作业1
1.在HDFS上建立/user/stu/自己学号,和/user/stu/input目录。 命令: hdfs dfs -mkdir -p /user/stu/22 hdfs dfs -mkdir /user/stu/input 2.用两种不同的方法上传albums.csv至HDFS的学号目录和input目录中。 命令: hdfs dfs -put par…...
工业交换机一键重启的好处
在当今高度自动化和智能化的工业环境中,工业交换机作为网络系统中至关重要的一环,其稳定性和可靠性直接影响到整个生产过程的顺利进行。为了更好地维护这些设备的健康运行,一键重启功能应运而生,并呈现出诸多显著的好处。 首先&am…...
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
全文目录: 前言一、PL/SQL基础语法1.1 变量声明变量声明示例: 二、记录类型与集合类型的使用2.1 记录类型记录类型的定义与使用 2.2 集合类型 三、PL/SQL表与关联数组3.1 PL/SQL表(嵌套表)嵌套表的定义与使用 3.2 关联数组关联数组…...
springboot系列--web相关知识探索二
一、映射 指的是与请求处理方法关联的URL路径,通过在Spring MVC的控制器类(使用RestController注解修饰的类)上使用注解(如 RequestMapping、GetMapping)来指定请求映射路径,可以将不同的HTTP请求映射到相应…...
Oracle 12c在Windows环境下安装
适合初学者使用的Oracle 12c在Windows环境下安装步骤、参数配置、常见问题及参数调优的详细补充说明。 一、Oracle 12c安装步骤 1. 准备工作 在安装Oracle 12c之前,确保你的系统满足以下要求: 操作系统:Oracle 12c支持的Windows版本包括Wi…...
Stable Diffusion绘画 | 来训练属于自己的模型:打标处理与优化
上一篇完成的打标工作,是为了获取提示词,让AI认识和学习图片的特征。 因此,合适、恰当、无误的提示词,对最终模型效果是相当重要的。 Tag 如何优化 通过软件自动生成的 Tag 只是起到快速建立大体架构的作用,里面会涉…...
【论文笔记】Visual Instruction Tuning
🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Visual Instruction Tunin…...
ubuntu 设置静态IP
一、 ip addresssudo nano /etc/netplan/50-cloud-init.yaml 修改前: 修改后: # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-inits # ne…...
Java 每日一刊(第19期):泛型
文章目录 前言1. 泛型概述1.1 不使用泛型 vs 使用泛型1.2 泛型的作用 2. 泛型的基本语法2.1 定义带类型参数的泛型类2.2 使用泛型类2.3 泛型方法 3. 泛型类型推断与钻石操作符3.1 类型推断3.2 钻石操作符 4. 通配符的使用4.1 无界通配符 <?>4.2 上界通配符 <? exten…...
windows下安装rabbitMQ并开通管理界面和允许远程访问
如题,在windows下安装一个rabbitMQ server;然后用浏览器访问其管理界面;由于rabbitMQ的默认账号guest默认只能本机访问,因此需要设置允许其他机器远程访问。这跟mysql的思路很像,默认只能本地访问,要远程访…...
深度剖析音频剪辑免费工具的特色与优势
是热爱生活的伙伴或者想要记录美好声音的普通用户,都可能会需要对音频进行剪辑处理。而幸运的是,现在有许多优秀的音频剪辑软件提供了免费版本,让我们能够轻松地施展音频剪辑的魔法。接下来,就让我们一同深入了解这些音频剪辑免费…...
Oracle中TRUNC()函数详解
文章目录 前言一、TRUNC函数的语法二、主要用途三、测试用例总结 前言 在Oracle中,TRUNC函数用于截取或截断日期、时间或数值表达式的部分。它返回一个日期、时间或数值的截断版本,根据提供的格式进行截取。 一、TRUNC函数的语法 TRUNC(date) TRUNC(d…...
【Spring Boot 入门一】构建你的第一个Spring Boot应用
一、引言 在当今的软件开发领域,Java一直占据着重要的地位。而Spring Boot作为Spring框架的延伸,为Java开发者提供了一种更加便捷、高效的开发方式。它简化了Spring应用的搭建和配置过程,让开发者能够专注于业务逻辑的实现。无论是构建小型的…...
PPT 快捷键使用、技巧
前言: 本文操作是以office 2021为基础的,仅供参考;不同版本office 的 ppt 快捷键 以及对应功能会有差异,需要实践出真知。 shift 移动 水平/垂直 移动 ; shift 放大/缩小 等比例放大 缩小 ; 正圆 正…...
Web安全 - 文件上传漏洞(File Upload Vulnerability)
文章目录 OWASP 2023 TOP 10导图定义攻击场景1. 上传恶意脚本2. 目录遍历3. 覆盖现有文件4. 文件上传结合社会工程攻击 防御措施1. 文件类型验证2. 文件名限制3. 文件存储位置4. 文件权限设置5. 文件内容检测6. 访问控制7. 服务器配置 文件类型验证实现Hutool的FileTypeUtil使用…...
vue3中el-input在form表单按下回车刷新页面
摘要: 在input框中点击回车之后不是调用我写的回车事件,而是刷新页面! 如果表单中只有一个input 框则按下回车会直接关闭表单 所以导致刷新页面 再写一个input 表单 ,并设置style“display:none” <ElInput style"display…...
SQL Server中关于个性化需求批量删除表的做法
在实际开发中,我们常常会遇到需要批量删除表,且具有共同特征的情况,例如:找出表名中数字结尾的表之类的,本文我将以3中类似情况为例,来示范并解说此类需求如何完成: 第一种,批量删除…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Cesium1.95中高性能加载1500个点
一、基本方式: 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)
笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
