编码器原理详解
编码器
什么是编码器
编码器可以用来将信息编码成为二进制代码,有点类似于取代号,人为的将二进制代码与对应的信息联系起来。
如下图所示:
假设有这三种情况会发生,且每次只发生一种情况

为了给这三种情况做一个区分,做如下规则:
- 天上下雨
- 天上下雪
- 天上下冰雹
这样就算对这些信息做了一个编码,但是这个编码是在计算机的外部进行的,这是一种人为的规定。
但是计算机使用电平的高低来表示内部信息的状态,这代表了计算机内部表示信息的方式是二进制,为了将上述信息转换成计算机能够处理的格式,我们便需要编码器来进行编码了。
不知道你有没有感到奇怪,说是编码器,但其实我们在设计电路的时候就预先考虑了对信息的编码,对每一种信息进行了考虑,每一个信息赋予了特殊含义的编码,然后使用编码器将其进行转换二进制。从这种意义上来说,编码器叫这个名字好怪啊!
编码器的原理
以4-2线编码器做分析,结合上述的三种情况做一个4-2线编码器,上述的情况注意表面上是三种情况但其实隐含了一种默认的状态那就是无输入状态这是一种默认的状态。(注:我在分析时将无输入状态作为了一种状态来考虑了,也可以将无输入状态,不作为一种状态考虑,但是需要考虑使用其他的标志位来进行标志)
此时共有的情况就有以下几种:
0.无输入
1.天上下雨用 I 1 I_1 I1表示
2.天上下雪用 I 2 I_2 I2表示
3.天上下冰雹用 I 3 I_3 I3表示
这样就能列出下面的真值表:
| I 1 I_1 I1 | I 2 I_2 I2 | I 3 I_3 I3 | O 1 O_1 O1 | O 2 O_2 O2 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 1 | 1 |
根据真值表可以得到这样这样的逻辑函数表达式:
O 2 = I 2 + I 3 O 1 = I 1 + I 2 \begin{align}O_2 &= I_2+I_3\\ O_1&= I_1+I_2 \end{align} O2O1=I2+I3=I1+I2
根据此逻辑函数式可以得到下面的电路图:

此电路图分为以下几部分:

接下来进行动态演示操作:

这样最基础的原理部分就解决了,但是现在这一个电路不允许同时有多个输入,如果同时有多个输入就会导致输出的错误,接下来我们就需要解决这个问题。
允许同时有多个输入的编码器——优先编码器
现在我们看一下如果要允许同时有多个输入,但是要对其中的某些输入进行优先编码,比如我们定义下面的优先级 I 3 > I 2 > I 1 I_3>I_2>I_1 I3>I2>I1,当 I 3 I_3 I3输入的时候无论 I 2 I_2 I2是什么状态都不影响输入,其余同理。这样可以得到下面的真值表:
| I 1 I_1 I1 | I 2 I_2 I2 | I 3 I_3 I3 | O 1 O_1 O1 | O 2 O_2 O2 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| ❌ | 1 | 0 | 0 | 1 |
| ❌ | ❌ | 1 | 1 | 1 |
将所有的情况都列出来可以得到下面的真值表:
| I 1 I_1 I1 | I 2 I_2 I2 | I 3 I_3 I3 | O 1 O_1 O1 | O 2 O_2 O2 |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 1 | 0 | 0 | 1 | 0 |
| 0 | 1 | 0 | 0 | 1 |
| 1 | 1 | 0 | 0 | 1 |
| 0 | 0 | 1 | 1 | 1 |
| 0 | 1 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 |
| 1 | 1 | 1 | 1 | 1 |
这样就可以得到下面的表达式
O 1 = I 1 I 2 ′ I 3 ′ + I 1 ′ I 2 ′ I 3 + I 1 ′ I 2 I 3 + I 1 I 2 ′ I 3 + I 1 I 2 I 3 O 2 = I 1 ′ I 2 I 3 ′ + I 1 I 2 I 3 ′ + I 1 ′ I 2 ′ I 3 + I 1 ′ I 2 I 3 + I 1 I 2 ′ I 3 + I 1 I 2 I 3 \begin{align} O_1 &= I_1I_2'I_3'+I_1'I_2'I_3+I_1'I_2I_3+I_1I_2'I_3+I_1I_2I_3\\ O_2 &= I_1'I_2I_3'+I_1I_2I_3'+I_1'I_2'I_3+I_1'I_2I_3+I_1I_2'I_3+I_1I_2I_3 \end{align} O1O2=I1I2′I3′+I1′I2′I3+I1′I2I3+I1I2′I3+I1I2I3=I1′I2I3′+I1I2I3′+I1′I2′I3+I1′I2I3+I1I2′I3+I1I2I3
对逻辑表达式进行简化得到:
O 1 = I 1 I 2 ′ + I 3 O 2 = I 3 + I 2 \begin{align} O_1 &= I_1I_2'+I3\\ O_2 &= I_3+I_2 \end{align} O1O2=I1I2′+I3=I3+I2
搭建出的电路图如图所示:

动态演示效果如图所示:

总结
在本篇文章中,我以4-2线编码器为例,主要演示了编码器的原理和优先编码器的原理,在演示的过程中,我将无输入也当作一种输入状态进行分析,通过proteus进行仿真实验,进行搭建编码器,希望对你能够有所帮助。
仿真电路图可以在我的GitHub账户中找到:编码器proteus仿真电路图
如果有什么地方讲的不好或者讲错的地方欢迎大家指出来,如果我所讲的对你们有帮助不要忘了点赞、收藏、关注哦!
我是你们的好伙伴apprentice_eye
一个致力于让知识变的易懂的博主。
相关文章:
编码器原理详解
编码器 什么是编码器 编码器可以用来将信息编码成为二进制代码,有点类似于取代号,人为的将二进制代码与对应的信息联系起来。 如下图所示: 假设有这三种情况会发生,且每次只发生一种情况 为了给这三种情况做一个区分ÿ…...
linux下docker搭建mysql8
1:环境信息 centos 7,mysql8 安装docker环境 2.创建mysql容器 2.1 拉取镜像 docker pull mysql:8.0.23 2.2 查询镜像拉取成功 docker images 2.3 创建挂载的目录文件 mkdir /usr/mysql8/conf mkdir /usr/mysql8/data ##给data文件赋予操作权限 chmod 777 /…...
书生·浦语大模型实战1
书生浦语大模型全链路开源体系 视频链接:书生浦语大模型全链路开源体系_哔哩哔哩_bilibili 大模型之所以能收到这么高的关注度,一个重要原因是大模型是发展通用人工智能的重要途径 深度信念网络: (1)又被称为贝叶斯网…...
前端JS加密对抗由浅入深-1
前言: 本文主要讲解,针对前端加密数据传输站点,如何进行动态调试以获取加密算法、秘钥,本次实验不涉及漏洞挖掘,仅为学习演示,环境为本地搭建环境 此次站点加密方式为AES加密方式,现如今越来越…...
八股文打卡day17——计算机网络(17)
面试题:拥塞控制是怎么实现的? 我的回答: 1.慢启动 在连接刚建立的时候,会缓慢调大滑动窗口的大小,从而加大网络传输速率,避免速率太快,造成拥塞。 2.拥塞避免 慢启动之后,会进入拥…...
Java-经典算法-logcat获取数据
1 需求 2 语法 3.1 示例:打印本次查询数据 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader;/*** 功能:adb logcat -b main -s PRIVA_LOG -d*/ public class Test {public …...
APache 网页优化
技能目标: 掌握 Apache 网页压缩 掌握 Apache 网页缓存 掌握 Apache 网页防盗链 掌握 Apache 隐藏版本信息 4.1 网页压缩与缓存 在使用 Apache 作为 Web 服务器的过程中,只有对 Apache 服务器进行适当的优化配 置&…...
C语言实现关键字匹配算法(复制即用)
文章目录 前言功能要求运行截图全部代码 前言 无套路,均已上机通过,求个关注求个赞,提供答疑解惑服务。 功能要求 一份C源代码存储在一个文本文件中,请统计该文件中关键字出现的频度,并按此频度对关键字进行排序。要…...
【大数据】安装 Zookeeper 单机版
安装 Zookeeper 单机版 下面安装 Zookeeper,由于它是 Apache 的一个顶级项目,所以域名是 zookeeper.apache.org,所有 Apache 的顶级项目的官网都是以项目名 .apache.org 来命名的。 点击 Download 即可下载,这里我们选择的版本是 …...
Django 快速整合 Swagger:实用步骤和最佳实践
Django ,作为 Python 编写的一个优秀的开源 Web 应用框架,特别适用于快速开发的团队。对于很多场景来说,我们需要一份 API 文档,好处实在太多了: 提高开发效率:开发者可以基于 API 文档 快速学习和尝试 AP…...
C++ cstdio
头文件 <cstdio> 是 C 中的标准输入输出库(C Standard Input and Output Library)头文件,它提供了一系列的输入输出函数。以下是其中一些主要的函数: 输入函数: scanf: 格式化输入函数,用于从标准输入…...
昇腾多卡通信教程【配置网络检测对象IP】
无法通信会出现的错误如下 一、网络健康状态报错 命令原型 hccn_tool [-i %d] -netdetect -s [address %s]命令功能 本功能支持用户执行命令获取网络健康状态(本端与所配置的检测IP之间的连通状态),用户可指定上报的状态信息名称。 状态信…...
PKI 公钥基础设施,公钥私钥,信息摘要,数字签名,数字证书
PKI 公钥基础设施 https 基于 PKI 技术。PKI(Public Key Infrastructure,公钥基础设施)是一种安全体系结构,用于管理数字证书和密钥对,以确保安全的数据传输和身份验证。PKI 采用了公钥加密技术,其中每个实…...
企业Aspera替代方案有哪些推荐
随着企业数据量的不断增加,数据传输和共享成为了一个重要的问题。Aspera是一款高性能、低延迟的数据传输工具,但是它并不是万能的,随着数据量的不断增大,也有一些企业需要寻找Aspera的替代方案。本文将介绍三种常用的企业Aspera替…...
vue3 vuedraggable draggable element must have an item slot
vue3vite 看官网使用这种<template #item“{ element }”> <draggablev-model"myArray"start"onStart"end"onEnd":sort"false"item-key"id"draggable".item"handle".mover" ><template…...
如何缓解BOT攻击?分享灵活准确的防御之道
BOT流量在所有互联网流量中的占比过半,而且存在好坏之分。其中“好”的BOT,比如在互联网上搜索和查找内容的BOT,它们是我们不可或缺的帮手。恶意的BOT进行信息数据爬取、薅羊毛等攻击行为,正损害着企业和用户的利益。专业数据统计…...
了解JavaScript的执行环境及作用域
一、执行环境 执行环境定义了变量或函数有权访问的其他数据,决定了它们的各自行为。每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。虽然我们无法访问这个对象,但是解析器在处理数据时会在后台使用它…...
嵌套调用和链式访问
嵌套调用 嵌套调用就是函数之间的互相调用,每个函数就是⼀个乐高零件,正是因为多个乐高的零件互相无缝的配合才能搭建出精美的乐高玩具,也正是因为函数之间有效的互相调用,最后写出来了相对大型的程序。 假设我们计算某年…...
DBA技术栈(二):MySQL 存储引擎
2.1 MySQL存储引擎概述 上个业余的图: MyISAM 存储引擎是 MySQL 默认的存储引擎,也是目前 MySQL 使用最为广泛的存储引擎之一。他的前身就是我们在 MySQL 发展历程中所提到的 ISAM,是 ISAM 的升级版本。在 MySQL最开始发行的时候是 ISAM 存…...
java发送邮件到qq邮箱
自己的授权码自己记好 引入依赖 <dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version> </dependency> <dependency><groupId>javax.mail</groupId>&…...
Realistic Vision V5.1 虚拟摄影棚:网络编程基础之构建简易图像生成API服务器
Realistic Vision V5.1 虚拟摄影棚:网络编程基础之构建简易图像生成API服务器 你是不是也遇到过这样的情况:本地跑通了Realistic Vision V5.1模型,生成效果很棒,但想分享给同事或者集成到自己的应用里,就得让对方也装…...
Adv Sci(IF=14.1)上海同济大学上海交通大学医学院等团队:HiST:通过多尺度融合深度学习利用组织学图像重建肿瘤空间转录组
01文献学习今天分享的文献是由上海同济大学、上海交通大学医学院等团队于2026年3月在《Advanced Science》(中科院1区top。IF14.1)上发表的研究”HiST: Histological Images Reconstruct Tumor Spatial Transcriptomics via MultiScale Fusion Deep Lear…...
揭秘抖音批量采集神器:从技术内核到实战突破
揭秘抖音批量采集神器:从技术内核到实战突破 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在数字内容创作与研究的浪潮中,抖音作为全球最大的短视频平台,其丰富的内容资…...
Python AI用例生成效率提升300%:从零搭建可复用的Prompt工程流水线
第一章:Python AI用例生成效率提升300%:从零搭建可复用的Prompt工程流水线在AI应用开发中,重复编写、调试和验证Prompt严重拖慢用例迭代速度。本章介绍一种基于Python的轻量级Prompt工程流水线,通过模板化、版本化与自动化执行三重…...
GuwenBERT:古文自然语言处理的技术革新
GuwenBERT:古文自然语言处理的技术革新 【免费下载链接】guwenbert GuwenBERT: 古文预训练语言模型(古文BERT) A Pre-trained Language Model for Classical Chinese (Literary Chinese) 项目地址: https://gitcode.com/gh_mirrors/gu/guwe…...
Windows用户福音:WSL2+Docker快速部署Coze Studio开源版(附常见错误解决方案)
Windows平台高效部署Coze Studio开源版的完整指南 对于Windows开发者而言,在本地环境搭建Coze Studio开源版可能面临诸多挑战。本文将提供一套经过验证的完整解决方案,从WSL2配置到Docker优化,帮助您避开常见陷阱,快速实现Coze St…...
SDXL-Turbo多场景落地教程:覆盖电商、游戏、教育、自媒体的6大用法
SDXL-Turbo多场景落地教程:覆盖电商、游戏、教育、自媒体的6大用法 1. 认识SDXL-Turbo:重新定义AI绘画体验 SDXL-Turbo不是传统的AI绘画工具,而是一个革命性的实时创作伙伴。想象一下,你打字的同时,画面就在眼前实时…...
YOLOFuse镜像亮点解析:环境零配置与多种融合策略详解
YOLOFuse镜像亮点解析:环境零配置与多种融合策略详解 1. 引言:多模态检测的工程挑战 在智能安防和自动驾驶领域,工程师们经常面临一个现实问题:白天表现优秀的目标检测系统,到了夜间或恶劣天气环境下性能急剧下降。传…...
CHORD-X与Matlab仿真联动:战术场景生成与效果评估
CHORD-X与Matlab仿真联动:战术场景生成与效果评估 最近在做一个挺有意思的项目,需要验证一个智能感知系统在复杂动态场景下的表现。这个系统叫CHORD-X,它专门处理视频流,能识别和追踪画面里的多个目标。但问题来了,我…...
SD2.0时钟与时序:从基础模式到高速传输的实战解析
1. SD2.0时钟与时序基础入门 第一次接触SD2.0规范时,我也被那些密密麻麻的时序参数搞得头晕眼花。直到在项目里实际调试SD卡读写失败的问题后,才发现理解时钟和时序的配合有多重要。简单来说,时钟就像两个人对话的节奏,而时序则是…...
