编码器的结构特点以及以及使用
对于8线到三线的编码器,一定是八线输入,三线输出,有十一条线
但是74HC148是一个16引脚的芯片
有十一线上述的信号,还有电源线以及地线,此时我们就有了13条线
另外的线则是归于控制信号
我们判断低电平信号作为我们的输入
我们称之为片选信号(使能)用来做工作状态的一个控制
这里写成反变量,意思是低电平信号有效,当=0的时候正常工作
在输出部分,我们又看到了两个,一个是
这两个信号的作用主要是为了做扩展,标识电路的状态,也可以用来做扩展,比如我们要做16线——4线的芯片可以有8线——3线扩展过来,在过程中需要使用这两个端口
既然写着反变量意味着低电平输入有效
表示电路是处在工作状态,但是没有编码输入,八路没有信号进来,处于等待状态
另一个表示电路仍然处在工作状态,并且有编码输入
我们可以通过工作状态来看到电路的特点
我们就要去看器件的功能表
我们下面看功能表
功能表
在输入部分,我们看到九路输入信号,输出有两个部分
扩展电路
用两片148来扩展编码器
扩展的时候,需要注意的问题(思考的角度)
我们需要把八线到三线的编码器,扩展到十六线到四线的编码器
我们首先要确定扩展的重点
八条输入信号如果编程十六条输入信号,两片八线,正好就是16条线
所以重点不是在输入的扩展,而是在于输出的扩展
输出有三线,意味着三位二进制代码,变成四线的二进制代码
我们的四位二进制代码,注意一下0000~1111
如果要编码出去,原来的八线到三线,是000~111,这是原来的
我们不能简单的把三位跟三位排在一起,中间的变化不是连续的,我们不能简单的变成3+3得到六位的输出
我们可以把四位的二进制,一分为二,连续的分成两段
0000~1111 分成0000~0111和1000~1111
唯一的差别就是在前面,就是第一位,所以我们扩展的重点就是在输出端,怎么把三位扩展成四位的二进制代码,一个芯片输出高位是0,另一个芯片输出高位是1,我们就可以转换过来
我们首先要分析扩展的重点在什么地方,因为是有两个芯片,所以我们确定轮流工作的方式
两个芯片轮流工作的时候,是需要东西来控制的
所以真正来扩展的时候
我们首先确定要扩展的地方,一般都是分段来做,分段就是轮流来做
若要轮流来做需要用到控制信号,我们有了这个想法之后,本来是
十六路输入线分为两个部分,前一半作为一个芯片的输入,后一半作为另一个芯片的输入
首先我们肯定是要从优先级高的往下走,优先级高的芯片我们保证他先工作
什么时候轮到下一个芯片工作呢
只有第一个芯片没有编码输入,此时去控制第二片的
用第一个芯片的悬空输出端来控制第二个芯片的片选端
需要,如果第一个芯片有编码输入,意味着在下面这一段,如果说前面没有编码信号,就轮到后面的输出
我们就可以最终达到整个四位二进制的代码,分段的高位输出是利用扩展段实现的
输出用的是什么变量形式?
这个变量用的是原变量的形式,意味着就是本来正常的编码,就是一个正常的正逻辑,这里的输出取了反以后,实际是一个高电平有效的
这样子接好以后,就完成了扩展
第一个芯片:,因为无编码输入
第二个芯片,因为,另外两个输出线路此时已经不重要
,所以编码输出为7,通过这个例子,我们就可以直观的看到输出的二进制编码与输入的信号是一个一一对应的关系,这样的电路,就完成了这样的一个扩展
现在这是一个高电平的信号是有效的,如果保持低电平有效,我们如何修改?
我们不要与非,最高位不要取反,直接拉出来就可以了,也可以扩展成低电平有效的,需要我们得到的是哪种电平有效的,这就是我们讲到的扩展方式
上述编码器我们称之为一种二进制编码器,就是输入和输出的关系,呈现出一个二进制的变化关系,但是实际在用的时候,我们还会用到二十进制的编码器
74LS147,十进制的编码,手机上的键盘只有0~9,如果我们对0~9进行二进制进行处理,这个时候就要用到二十进制的编码器,输入我们有十条输入先,输出我们有四路输出结构
功能表我们来简单的看一下,如果从1~9都没有信号进来,我们就要对0进行编码,这样我们就可以完成对十进制的这么一个编码
这是生活中比较常用的,我们看到的是十进制,但是实际上变成了二进制,键盘设计就需要用到这样的编码器
关于编码器的电路我们就学习这么多