编码器的电路介绍

news2024/9/21 16:20:19

编码器的结构特点以及以及使用

对于8线到三线的编码器,一定是八线输入,三线输出,有十一条线

但是74HC148是一个16引脚的芯片

有十一线上述的信号,还有电源线以及地线,此时我们就有了13条线

另外的线则是归于控制信号

我们判断低电平信号作为我们的输入

 S^{\prime}我们称之为片选信号(使能)用来做工作状态的一个控制

这里写成反变量,意思是低电平信号有效,当S^{`}  =0的时候正常工作

在输出部分,我们又看到了两个,一个是Y_{S}^{\prime},Y_{EX}^{\prime}

这两个信号的作用主要是为了做扩展,标识电路的状态,也可以用来做扩展,比如我们要做16线——4线的芯片可以有8线——3线扩展过来,在过程中需要使用这两个端口

既然写着反变量意味着低电平输入有效

Y_{S}^{\prime}表示电路是处在工作状态,但是没有编码输入,八路没有信号进来,处于等待状态

Y_{EX}^{\prime}另一个表示电路仍然处在工作状态,并且有编码输入

我们可以通过工作状态来看到电路的特点

我们就要去看器件的功能表


我们下面看功能表

功能表

在输入部分,我们看到九路输入信号,输出有两个部分


扩展电路

用两片148来扩展编码器

扩展的时候,需要注意的问题(思考的角度)

我们需要把八线到三线的编码器,扩展到十六线到四线的编码器

我们首先要确定扩展的重点

八条输入信号如果编程十六条输入信号,两片八线,正好就是16条线

所以重点不是在输入的扩展,而是在于输出的扩展

输出有三线,意味着三位二进制代码,变成四线的二进制代码

我们的四位二进制代码,注意一下0000~1111

如果要编码出去,原来的八线到三线,是000~111,这是原来的

我们不能简单的把三位跟三位排在一起,中间的变化不是连续的,我们不能简单的变成3+3得到六位的输出

我们可以把四位的二进制,一分为二,连续的分成两段

0000~1111 分成0000~0111和1000~1111

唯一的差别就是在前面,就是第一位,所以我们扩展的重点就是在输出端,怎么把三位扩展成四位的二进制代码,一个芯片输出高位是0,另一个芯片输出高位是1,我们就可以转换过来

我们首先要分析扩展的重点在什么地方,因为是有两个芯片,所以我们确定轮流工作的方式

两个芯片轮流工作的时候,是需要东西来控制的

所以真正来扩展的时候

我们首先确定要扩展的地方,一般都是分段来做,分段就是轮流来做

若要轮流来做需要用到控制信号,我们有了这个想法之后,本来是I_{0}^{\prime}-I_{7}^{\prime}

十六路输入线分为两个部分,前一半作为一个芯片的输入,后一半作为另一个芯片的输入

首先我们肯定是要从优先级高的往下走,优先级高的芯片我们保证他先工作

什么时候轮到下一个芯片工作呢

只有第一个芯片没有编码输入,此时Y_{S}^{\prime}=0去控制第二片的S^{\prime}

用第一个芯片的悬空输出端来控制第二个芯片的片选端

需要Y_{EX}^{\prime},如果第一个芯片有编码输入,意味着在下面这一段,如果说前面没有编码信号,就轮到后面的输出

我们就可以最终达到整个四位二进制的代码,分段的高位输出是利用扩展段实现的

 输出用的是什么变量形式?

这个变量用的是原变量的形式,意味着就是本来正常的编码,就是一个正常的正逻辑,这里的输出取了反以后,实际是一个高电平有效的

这样子接好以后,就完成了扩展

A_{7}^{\prime}=0

第一个芯片:S^{\prime}=0,因为无编码输入Y_{2}^{\prime}Y_{1}^{\prime}Y_{0}^{\prime}=111,Y_{S}^{\prime}=0,Y_{EX}^{\prime}=1

第二个芯片,因为Y_{S}^{\prime}=0 -- >S^{\prime}=0 -->Y_{2}^{\prime}Y_{1}^{\prime}Y_{0}^{\prime}=000,另外两个输出线路此时已经不重要

Z_{1}Z_{2}Z_{3}=111,所以编码输出为7,通过这个例子,我们就可以直观的看到输出的二进制编码与输入的信号是一个一一对应的关系,这样的电路,就完成了这样的一个扩展

现在这是一个高电平的信号是有效的,如果保持低电平有效,我们如何修改?

我们不要与非,最高位不要取反,直接拉出来就可以了,也可以扩展成低电平有效的,需要我们得到的是哪种电平有效的,这就是我们讲到的扩展方式


上述编码器我们称之为一种二进制编码器,就是输入和输出的关系,呈现出一个二进制的变化关系,但是实际在用的时候,我们还会用到二十进制的编码器

 

 74LS147,十进制的编码,手机上的键盘只有0~9,如果我们对0~9进行二进制进行处理,这个时候就要用到二十进制的编码器,输入我们有十条输入先,输出我们有四路输出结构

功能表我们来简单的看一下,如果从1~9都没有信号进来,我们就要对0进行编码,这样我们就可以完成对十进制的这么一个编码

这是生活中比较常用的,我们看到的是十进制,但是实际上变成了二进制,键盘设计就需要用到这样的编码器

关于编码器的电路我们就学习这么多

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/58105.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

kubernetes深入理解之Service

版权声明:本文为CSDN博主「开着拖拉机回家」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 主页地址:开着拖拉机回家的博客_CSDN博客-Linux,Java基础学习,MySql数据库领域博主 目录 一、概述 1.1 Serv…

【salesforce平台基础】-想到啥写点啥

【salesforce基础】-想到啥写点啥1.salesforce架构2.学习过程中常见的几个“公司”🤭3.术语4.平台的用途(举例说明)5.AppExchange(软件应用商店)6.sandbox7.平台入门1.salesforce架构 salesforce是一家云公司&#xf…

7.关于线性回归模型的QA

为什么使用平方损失而不是绝对差值呢? 答: 二者区别不大,但是绝对差值是一个不可导的函数,在零点的时候,绝对差值的导数会有点难求。 损失为什么要求平均? 答:求平均的话,梯度是在…

原语科技宣布完成千万级天使+轮融资,致力于打造隐私计算标准化产品

原语科技 开放隐私计算 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播,愿成为中国 “隐私计算最后一公里的服务区”。 180篇…

【基础算法】多项式三大运算 C++实现

●多项式计算 一维多项式就是包含一个变量的多项式,一个一维多项式示例如下: 一维多项式求值就是对于上述多项式,计算在指定的x处的函数值。一个通用的计算多项式值的算法可以采用递推的方式,可以将上述多项式变为如下的等价形式…

位运算 离散化 区间和算法

目录一、位运算1.1 思路1.1 例题:二进制中1的个数二、离散化2.1 概念2.2 例题:区间和三、合并区间3.1 概念3.2 例题:合并区间一、位运算 1.1 思路 首先知道一个概念:一个正整数的负数等于其按位取反后1 -x ~x 1 举个例子&…

干货——生产型企业的供应商管理系统模板

供应商管理主要是是通过提高供货产品和服务质量及交付能力,缩短企业采购周期和生产成本,从而提升产品核心竞争力。随着如今信息技术的发展,采用先进的信息化手段更能够提升供应商管控能力,实现资源的有效整合,从而加强…

[附源码]计算机毕业设计疫苗药品批量扫码识别追溯系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

测试服务器的udping值

测试服务器的udping值参考下载工具步骤一:在服务器上启动UDP Echo服务(必须)启动**UDP Echo服务**步骤二:在客户端下载UDPing工具步骤三:在客户端测试UDPing值参考 https://help.aliyun.com/document_detail/158771.html UDPing项目地址: h…

阿里资深架构师整理分享的分布式系统架构:技术栈详解与进阶文档

前言 有人调侃我们说: 程序员不如送外卖。送外卖是搬运食物,自己是搬运代码,都不产出新的东西……透支体力,又消耗健康,可替代性极强,30岁之后就要面临被优化的危险……想跳槽,但是更高的平台…

PyTorch 2.0 重磅发布:一行代码提速 30%

在今天的 PyTorch 2022 开发者大会上,PyTorch 团队发布了一个新特性torch.compile,这个新特性将 PyTorch 的性能推向了新高度,并开始将 PyTorch 的部分实现从 C 中迁移到 Python 中。他们相信这是 PyTorch 一个实质性的新方向--因此称之为 **…

(最优化理论与方法)第六章无约束优化算法-第一节:线搜索方法

文章目录一:无约束优化问题概述二:线搜索方法(1)概述(2)线搜索准则A:Armijo准则①:概述②:Armjio准则缺陷③:回退法④:代码B:Goldstei…

从固定管线到可编程管线:十段代码入门OpenGL

文章目录1. 最简单的OpenGL应用程序2. 视点系统和投影矩阵3. 深度缓冲区和深度测试4. 模型的旋转和平移5. VBO和顶点混合数组6. 纹理映射和纹理坐标7. 光照和法向量计算8. 最简单的着色器程序9. 着色器中的MVP矩阵10. 着色器中的漫反射、镜面反射和高光计算1. 最简单的OpenGL应…

【什么是区块链】

区块链技术简介前言一、区块链技术简介二、区块链的特点1.去中心化2.去信任3.不可篡改和伪造4.可溯源5.匿名性三、区块链用到的技术1.非对称密码算法2.哈希函数3.P2P网络4.安全多方计算前言 比特币与区块链的关系: 2008年中本聪(Satoshi Nakamoto&…

Python中logging日志模块详解

用Python写代码的时候,在想看的地方写个print xx 就能在控制台上显示打印信息,这样子就能知道它是什么了,但是当我需要看大量的地方或者在一个文件中查看的时候,这时候print就不大方便了,所以Python引入了logging模块来…

104.二叉树的最大深度 | 111.二叉树的最小深度

文章目录二叉树的深度104.二叉树的最大深度题目题解111.二叉树的最小深度题目题解二叉树的深度 104.二叉树的最大深度 题目 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。…

Mac终端常用命令

1、打开窗口命令 快速打开:command空格(打开查询),输入ter回车 打开多个窗口:commandN(光标在终端执行此操作) 2、目录操作 命令名 命令功能 备注 cd 打开当前目录 cd dirname pwd 显示…

Java 调用 Cpp 代码简单示例

Java 调用 Cpp 代码 前言:首先说明一下,本篇文章是干嘛的,简单来说就是在 Java 代码里调用 C 代码。但是呢,这里只做一个简单的示例,调用最简单的 C 代码,起到一个抛砖引玉的作用。如有不对之处&#xff0…

选择编码节点的最佳数量和位置研究(Matlab代码实现)

👨‍🎓个人主页:研学社的博客 💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜…

[附源码]计算机毕业设计校园招聘微信小程序Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…