单片机课设要控制 8 个 LED,引脚不够,老师让加个 74HC138。拿到芯片一看,输入 3 根输出 8 根,旁边还有 3 根使能脚,一时不知道从哪下手。把 38译码器的逻辑捋一遍,接线其实很简单。
核心逻辑:3 进 8 出
3 个地址输入 A2、A1、A0 组成 3 位二进制,8 个输出 Y0 到 Y7 一一对应,可以理解成用输入值当数组下标。注意输出是低电平有效:输入 000 时 Y0 变 0 其余全 1,输入 010 时是 Y2 变 0。很多人默认输出高电平,接上 LED 全亮或全灭,查半天代码,其实手册第一页就写着 active low。
三个使能端怎么接
74HC138 有 G1、G2A、G2B 三个使能脚:G1 接高电平,G2A 和 G2B 接地,芯片才正常工作,否则 8 个输出全为高。使能脚不要悬空,悬空电平不可靠。这三个脚不只是开关,还能当第 4 位地址用:两片级联,高位地址分别接一片的 G1 和另一片的 G2,就扩成了 4 线-16 线译码器。
实际用在哪
最典型的是地址译码和片选:单片机外设多、地址线有限,3 根地址线接译码器,8 个输出分别选通 8 个芯片,选通切换在纳秒级完成。流水灯、数码管位选也常用它省引脚。供电方面,LS 系列是 5V 的 TTL,HC 系列是 CMOS,2 到 6V 都能跑,电平和驱动能力有差别,混用前看一眼手册。
真值表建议自己推一遍,3 输入共 8 行,推完这片芯片就算吃透了。现在做项目引脚紧张,多数人直接换引脚多的 MCU 或用 IO 扩展芯片,38译码器更多出现在课堂、笔试和极致控成本的小板上,但它用 n 位地址选通 2 的 n 次方路之一的思路,在存储器寻址和通信协议里到处都是。