程序员求职经验分享与学习资料整理平台

网站首页 > 文章精选 正文

编码器(数电)(编码器的)

balukai 2025-05-11 14:09:08 文章精选 2 ℃

#挑战30天在头条写日记#

为什么要编码?

在数字信号中,只能用二进制来表示(0 1),所以,需要对输入的各种形式的信号统一用二进制来表示

比如计算器

这样就实现了对任何信息的输入


如何实现编码?

如果单片机数码管的接口只有3个,直接将输入线接入肯定是不行的,接口没有那么多

如果能用3根线表示8根线表达的信息的话,那是不是达到了节省接口的优点

实现的过程

当I0为1时,输出全为0(可以理解这里输出对应的是输入的号数),那数字就表示0(BCD码)

以此类推

当I7为1时,输出全为1(对应输入7号),那数字就表示7

这样就是实现了8根变为3根,本质上是 输出= 2*输入次方

什么是优先编码器?

上面这个编码器,任何时刻输入只能有一个,有效信号为1,如果输入同时出现两个及以上,输出就会出错,所以称为普通编码器

为了解决同时有多个输入,可以把7号设置为最高优先级,0号设置为最低优先级,按号数来设置优先级,如果7号为有效电平,那么后面的号数无论输入什么,编码器不予理会



优先编码器原理

注意:优先编码器的有效电平为0

S端置0,表示释放输入

EX端置0,表示有输入

只要当S端为1,EX端为0,编码器就可以工作了

当7号为0,不管后面的输入是多少,此时输出为0

当0号为0,此时输出为7(注意:如果此时前面的输入为0,那输出就会相应的改变)

这样就避免了同时出现多个输入,造成的错误



拓展

可以用2个8-3优先编码器级联,这样就变长了16-4优先编码器了

最近发表
标签列表