第 6 讲:译码器与逻辑函数实现
译码器把输入代码展开成互斥的输出选择。 位输入共有 个组合,因此完整二进制译码器有 个输出,每个输出对应一个最小项或其反相。
高有效与低有效
高有效 – 译码器中,输入为 时只有 ;低有效器件则只有 。
器件图上的小圆圈、引脚上划线和真值表必须一起看。对低有效输出,某函数的最小项之和可以用 NAND 组合:若
而译码器输出 ,则
使能端
使能端决定译码器是否工作。多个使能引脚可能有高有效和低有效混合,必须满足全部条件。禁止时所有输出进入固定无效状态,而不是保留上次状态。
使能端可用于:
- 片选和地址空间分配;
- 译码器级联扩展;
- 把一个变量接到使能端,以较小译码器实现较大函数;
- 数据选通。
级联扩展
用两个 3–8 译码器构成 4–16:低三位同时接两片地址输入,最高位及其反相分别控制两片使能。最高位选择哪一片工作,低三位选择片内哪一路。
检查时应保证任意输入下只有一片被使能,否则会有重复输出;也不能两片都禁止,除非对应输入本就无效。
实现逻辑函数
译码器已经生成全部最小项,所以多输出函数只需把各自所需最小项组合。步骤:
- 把函数写成 ;
- 输入变量按编号顺序接地址端;
- 按输出有效极性选 OR、NAND 或其他门;
- 使能端接到正确有效电平;
- 未用输出悬空是否允许按器件类型处理。
多个函数可共享同一译码器,体现“先生成全部最小项,再分别组合”。
显示译码器
BCD–七段译码器把 4 位 BCD 转为段信号 到 。要确认:
- 数码管是共阳还是共阴;
- 段输出是高有效还是低有效;
- 灯测试、消隐和级联消隐引脚怎样接;
- 每段需要限流电阻,译码器是否能直接驱动。
BCD 的 10–15 为非法输入,器件对这些组合的显示可能未定义,不能据此设计正常功能。
译码器与存储器
存储器地址译码本质上也是把地址选成一根字线。高位地址常用于片选,低位地址进入片内译码;这正是后续 RAM 字扩展的基础。
常见错误
- 变量顺序接反,导致最小项编号错;
- 低有效输出仍用普通 OR,得到函数反相;
- 忘记使能引脚;
- 两片级联时最高位选择逻辑重叠;
- 七段显示没有区分共阳/共阴;
- 把译码器当存储器,误以为禁止后能保持输出。