74HC138是数字电路里最常用的译码器芯片,基本上学数字电路都会遇到它。它的功能很简单:3个输入脚,8个输出脚,输入一个3位二进制数,对应的那个输出脚就变低电平。说白了就是三根线控制八个输出,在IO口不够用的时候特别实用。
先看引脚。74HC138是16脚芯片,A0、A1、A2是三个地址输入脚,Y0到Y7是八个输出脚,G1、G2A、G2B是三个使能脚。使能的条件是G1接高电平,G2A和G2B接低电平,三个条件同时满足芯片才工作。输出是低电平有效,也就是选中的那个输出脚变低,其他脚保持高电平。
举个例子,A2A1A0输入000,Y0输出低电平,其他输出高;输入001,Y1输出低;以此类推,输入111,Y7输出低。这样三个IO口就能控制8个输出,相当于IO口扩展了。如果要控制更多,可以级联,用两片138加上一个IO口做片选,就能控制16个输出。
最常见的应用是数码管驱动。多位数码管如果直接驱动需要很多IO口,用138做位选,三个IO口就能选通8位数码管中的某一位,再配合段选信号,就能实现多位数码管的动态扫描显示。这种用法在数字时钟、计数器、电压表这些项目里到处都是。
另一个常见应用是存储器地址译码。在单片机扩展外部RAM或ROM的时候,地址线很多,需要用译码器把高位地址译码成片选信号。比如用138把A15、A14、A13三根地址线译码成8个片选信号,分别选通不同的存储器芯片。不过现在单片机片上资源越来越多,外部扩展存储器的场景少了,但原理还是要懂的。
使用的时候注意几个点。第一,使能脚一定要接对,G1接VCC,G2A和G2B接GND,不然芯片不工作。第二,输出是低电平有效,驱动LED的时候要把LED的阳极接VCC,阴极通过电阻接到138的输出脚,这样选中的时候LED才亮。第三,138的输出电流不大,驱动大电流负载要加三极管或驱动器。
上一篇:PIC单片机入门教程:跟51和STM32比到底有啥不一样
下一篇:没有了