1. 一句话概括它是什么
74LS138 是一个“3线-8线译码器”。
它的核心功能是:根据你输入的3位二进制地址码,在8个输出通道中,选通唯一的一个。
简单比喻:它就像一个“智能的8路选线开关”。你告诉它一个0到7的编号(比如“3号”),它就只接通3号线路,其他7条线路全部关闭。
2. 它解决了什么问题?(为什么要用它?)
想象一下,单片机(如51系列)只有有限的I/O口(引脚),但你需要控制很多设备(比如8个LED灯、8个数码管、8个继电器):
笨办法:一个设备用一个I/O口控制。控制8个设备就需要8个I/O口。非常浪费资源!
聪明办法(用138):你用仅3个I/O口,输入一个3位二进制码(比如
011代表3),138就能帮你精准地选中第3个设备。你再用很少的公共信号线去操作这个被选中的设备就行了。这样,用3+少量个I/O口,就能控制很多设备,实现了“资源复用”。
核心价值:用最少的输入线,控制最多的输出设备。它是“地址扩展”和“设备选择”的基石。
3. 它的“身体构造”(引脚)和“工作逻辑”
它的16个引脚可以分为三大功能区:
【输入区】—— 你告诉它“选谁”(3个关键引脚)
A0, A1, A2:这是3位二进制地址输入。A0是最低位(LSB),A2是最高位(MSB)。你在这三个脚上输入高(1)低(0)电平,组成一个0~7的二进制数。
例如:
A2=0, A1=1, A0=1就表示二进制的011,也就是十进制3。
【输出区】—— 它执行“选中谁”(8个关键引脚)
Y0, Y1, Y2, Y3, Y4, Y5, Y6, Y7:这就是那8条输出线路。输出规则(牢记!这是核心!):
74LS138是“低电平有效”输出。
这意味着:被选中的那一路输出会变成低电平(0),而其他所有7路输出都保持高电平(1)。接上例:当你输入地址
011(数字3)时,只有Y3这个引脚会输出低电平(0),Y0, Y1, Y2, Y4, Y5, Y6, Y7这7个引脚都输出高电平(1)。
【使能控制区】—— 总开关(3个关键引脚)
就像设备的总电源开关,必须全部满足条件,138才开始工作。这是防止误操作的重要设计。
G1:高电平有效。必须接高电平(1),芯片才可能工作。G2A,G2B:低电平有效。必须都接低电平(0),芯片才可能工作。总结:必须
G1=1且G2A=0且G2B=0,138才根据你的地址输入A0,A1,A2来选择输出。只要有一个条件不满足,所有8个输出Y0-Y7将全部输出高电平(1),相当于芯片被“禁用”了。
4. 一个生动比喻:老式电话总机
想象一个老式电话交换台,有1个接线员和8条外线(代表8个设备)。
你(单片机)= 打电话的客户
74LS138= 电话总机的接线员
A0,A1,A2三个输入= 你告诉接线员的“3位分机号”(比如 101)G1, G2A, G2B= 接线员的“工作状态开关”(只有全打开,接线员才在岗)8个输出
Y0-Y7= 通往8个分机的物理线路
工作流程:
接线员在岗(
G1=1, G2A=0, G2B=0)。你(单片机)说:“请帮我转接101号分机。”(即输入
A2=1, A1=0, A0=1)。接线员(138)听到后,立刻且只拿起通往5号分机(
Y5)的线路,并按下通话键(对应输出低电平0),其他7条线路全部保持挂断状态(高电平1)。于是,你和5号分机建立了独占的、一对一的连接。其他分机完全不受影响。
这个比喻的精髓:接线员(138)用一套统一的呼叫规则(3位地址码),管理了大量线路(8条),而你只需要记住简单的规则,无需关心背后复杂的物理连接。
5. 初学者实验建议(眼见为实)
实验一:体验“一对一”选择
接线:
使能端:
G1接高(+5V),G2A和G2B接地(0)。地址端:
A0, A1, A2分别接3个拨码开关。输出端:
Y0-Y7分别接8个LED的阴极(LED阳极通过电阻接+5V)。因为138是低电平点亮LED(共阳极接法)。
操作与观察:
拨动3个开关,设置一个0-7的二进制数。你会发现,有且只有一个LED会被点亮,而且点亮的LED序号正好等于你输入的二进制数!这就是它最核心的功能。
实验二:体验“使能端”的控制权
在上述电路中,尝试把
G1从高电平(1)改为低电平(0)。观察:所有LED全部熄灭!无论你怎么拨动地址开关
A0-A2都没用。这说明使能端是更高优先级的“总开关”。
经典应用场景构想:
利用138,你可以用单片机(如Arduino)的3个I/O口,控制8个独立的设备(如8个继电器模块)。想控制哪个,就用程序给那3个I/O口发送对应的地址码,138就会自动帮你选中那个设备。
6. 一张图总结(真值表逻辑)
使能条件 (G1, G2A, G2B) | 地址输入 (A2, A1, A0) | 输出状态 (Y0-Y7) |
|---|---|---|
| 不满足(1, X, X) 或 (X, 1, X) 或 (X, X, 1) | 任意(X) | 全部为高 (1)(芯片禁用) |
| 满足(1, 0, 0) | 例如:0 0 0(0) | Y0=0, 其他Y=1 |
| 满足(1, 0, 0) | 0 0 1(1) | Y1=0, 其他Y=1 |
| 满足(1, 0, 0) | 0 1 0(2) | Y2=0, 其他Y=1 |
| ... | ... | ... |
| 满足(1, 0, 0) | 1 1 1(7) | Y7=0, 其他Y=1 |
形象总结
把74LS138想象成一个“智能多路选择开关板”:
它有1个总闸(三个使能端),不开总闸,所有线路都不通。
它有3个拨号盘(
A0,A1,A2),用来输入0-7的号码。它有8个指示灯(
Y0-Y7),每次只有一个灯会亮起(低电平),告诉你哪条线路被接通了。
记住这个口诀:
“三根线,控八口;输地址,低就有;使能不对,全部歇菜。”
三根线,控八口:只用3根地址线,就能控制8个输出。
输地址,低就有:输入一个地址,对应的那个输出就会变成低电平(0)。
使能不对,全部歇菜:使能端条件不满足,所有输出都是高电平(1),芯片不工作。
74LS138是构建微型计算机系统、实现内存/外设地址译码的绝对核心芯片。理解它,你就拿到了通往“数字系统设计”大门的一把关键钥匙。