3-8 译码器是把3 位二进制数映射成8 个独立输出,但有时又需要把独立输出转换回二进制数,这个功能可以用几个二极管和电阻搭的电路实现。
CD4017 输出转二进制计数
以CD4017 计数器为例,这个芯片有8 个输出端,和3-8 译码器类似,每次选通其中一个输出端,输出高电平。芯片的原理可以自己搜,或者参考 用CD4017 计数器实现单键开关电路。电路设计使CD4017 最大计数值为3,对应两位二进制数:计数0 时,Q0 输出高电平,转换成二进制 00,计数3 时,Q3 输出高电平,二进制输出 11。
电路如下:

左侧按键SW3 每点击一次,CD4017 计数加一。如果初始计数为0,Q0 输出高电平,按一次按键后,计数变为1,输出切换到Q1,Q0 和其他输出引脚输出低电平。由于Q4 连接到CD4017 的复位引脚MR,所以最大计数到3,之后再按一次键就会复位到0。
右侧A0 和A1 代表转换后的二进制电压,二进制01 就对应A0 == 1,A1 == 0。两个下拉电阻使A0 和A1 初始电压均为低电平,即00。由于Q0 输出就对应了00,所以Q0 引脚不必连接转换电路,此时A0 A1 由电阻拉低。
当Q1 输出高电平时,Q1 经过二极管拉高A0,而A1 仍然被电阻拉低,所以输出01,依次类推。当Q3 输出高电平时,输出引脚经过两个二极管,将A0 和A1 都拉高,表示二进制11。当Q3 输出时,Q1 和Q2 还在输出低电平,所以Q0 以外的引脚连接到A0 A1 时,都需要分别串一个二极管,不然输出低电平的引脚会干扰转换结果。
如果将二极管换成一个较小的电阻:

当Q3 输出高电平时,A0 和A1 会被Q1 和Q2 引脚上的1k 电阻下拉到地,导致A0 和A1 实际电压略小于VCC 电压的二分之一,可能无法满足高电平的电压阈值。
CD4017 实现单按键切换模拟开关通道
这样转换的目的是要和采用二进制编码的其他芯片交互,比如3-8 译码器芯片或模拟开关芯片。就像上面说的,可以用单个按键改变CD4017 的计数值,那么后面再接上一个模拟开关芯片,就能用单个按键循环切换模拟开关选通的通道。
电路如下:

CD4052 算是个双刀四掷的开关,就是有两个通道ZA 和ZB,根据二进制信号A0 A1 的值,ZA 从Y0A 至Y3A 这四个输入端选通一个,ZB 也对应从Y0B 到Y3B 中选通一个。如果Y0A 和Y0B 被选通,连接到这两个引脚的信号就能分别连接到ZA 和ZB,两边基本就是直通的,其他引脚同理。
所以能用CD4052 切换左右声道的音频信号。上面图里RCH 代表右声道,LCH 代表左声道,有四路立体声信号源连接到CD4052 上。将上面的CD4017 转换得到的二进制输出连接到CD4052 的A0 A1 引脚,就能用一个按键切换这四路输入。
总结
3-8 译码器可以用74HC138 或CD4051 实现,再拿几个不要钱的二极管实现反过来的8-3 编码器,终于是想怎么转就怎么转自由了。
1050

被折叠的 条评论
为什么被折叠?



