学习 › 第 13 讲
从逻辑图到面包板:用 74HC 芯片搭电路
阅读约 8 分钟 · bitGateLab 团队
在电路图上能工作的电路,到了面包板上可能因为图中看不到的细节而失败:电源轨中间断开、芯片插反、输入悬空,或者 LED 没接电阻。本文将介绍面包板内部是怎样连接的,如何读 14 引脚 DIP 封装 74HC 芯片的引脚排列,如何计算 LED 的电阻,以及如何有条理地调试。
面包板内部是怎样连接的
插孔下面有金属条,把成组的孔连在一起。典型的布局是:
- 接线区:行有编号(1、2、3…),列有字母(a 到 j)。在每一行中,a、b、c、d、e 五个孔彼此相连,f、g、h、i、j 五个孔也彼此相连,但这两组之间是断开的。
- 中央凹槽:e 列和 f 列之间的槽。DIP 芯片要跨在它上面插入,这样每个引脚各占一行,并且还有四个空孔可以接导线。
- 电源轨:两侧标有 + 和 − 的长条,沿面包板的长度方向延伸。在许多较长的面包板上,它们在中间是断开的;如果你看到印刷的线条上有缺口,就用一根导线把两半连起来。
14 引脚 DIP 芯片的引脚排列
从上方看芯片,让缺口(或圆点)朝上或朝左。引脚 1 紧挨着缺口,编号按逆时针方向继续:1 到 7 沿一侧向下,8 到 14 沿另一侧向上。引脚 14 正对着引脚 1。
大多数 14 引脚逻辑芯片的电源引脚位于对角:引脚 14 = VCC,引脚 7 = GND。内含四个 2 输入门的芯片都采用相同的引脚排列:
| 芯片 | 功能 | 门 1 | 门 2 | 门 3 | 门 4 |
|---|---|---|---|---|---|
| 74HC00 | NAND | A=1, B=2, Y=3 | A=4, B=5, Y=6 | A=9, B=10, Y=8 | A=12, B=13, Y=11 |
| 74HC08 | AND | ||||
| 74HC32 | OR | ||||
| 74HC86 | XOR |
注意例外情况。74HC02(四个 NOR 门)的输出在引脚 1、4、10 和 13;74HC04(六个反相器)使用的输入/输出引脚对是 1→2、3→4、5→6、9→8、11→10 和 13→12。给任何芯片接线之前,都要先在数据手册中确认它的引脚排列。
LED 的限流电阻
LED 如果直接接到输出端,会汲取该输出所能提供的全部电流,从而损坏 LED 或芯片。串联电阻可以把电流限定下来:
R = (V输出 − Vf) / I
其中 Vf 是 LED 的正向压降(普通的红色、黄色和绿色 LED 约为 2 V;蓝色和白色约为 3 V)。74HC 的输出在保持有效逻辑电平的前提下,规定可提供约 4 mA 的电流;索取更大的电流会使输出电压偏离 VCC 或 GND。
例:红色 LED(Vf = 2 V)接在 5 V 供电的 74HC 输出端,目标电流为 4 mA。
- R = (5 − 2) / 0.004 = 750 Ω。
- 选取紧邻的更大的标称值,820 Ω。
- 实际电流:I = 3 / 820 ≈ 3.7 mA,在限值之内,也足以让 LED 清晰可见。
如果用 330 Ω,电流将是 3 / 330 ≈ 9.1 mA,比保持有效电平所规定的值高出一倍还多。
对于用逻辑 1 点亮的 LED:输出 → 电阻 → 阳极(长脚)→ 阴极(短脚,有平边的一侧)→ GND。
未连接的输入
CMOS 输入的阻抗极高。如果让它悬空,它读到的既不是“0”也不是“1”:它会因噪声或积累的电荷而处于任意电压,可能停在中间电平,使门电路振荡或消耗比正常情况更多的电流。因此:
- 对于开关,用一个 10 kΩ 电阻接到 GND(下拉,pull-down),开关接到 VCC;或者电阻接到 VCC(上拉,pull-up),开关接到 GND。没有这个电阻,开关断开时输入就悬空了。
- 不用的门,其输入应接到 GND 或 VCC;其输出则空着不接,绝不要接到 GND 或 VCC。
去耦电容
逻辑门在翻转时会汲取一个短暂的电流脉冲,而导线的电感使电源来不及及时提供这个电流,芯片上的电压会瞬间下降。对策是在 VCC 和 GND 之间接一个 100 nF 的陶瓷电容,尽可能靠近每一片芯片的引脚 14 和引脚 7,由它就近提供这一电流。此外,最好在面包板的电源入口处再接一个 10 到 100 µF 的电解电容,并注意它的极性。
从电路图到接线
例:用一片 74HC08 和一片 74HC32 实现 F = A·B + C。
- 把 74HC08 跨在凹槽上,缺口朝向行号较小的一端。如果引脚 1 位于第 10 行,那么引脚 7 位于第 16 行,引脚 14 位于凹槽另一侧的第 10 行。
- 把引脚 14 接到 + 电源轨,引脚 7 接到 − 电源轨。对 74HC32 做同样的连接。在每片芯片旁边放一个 100 nF 的电容。
- A 接 74HC08 的引脚 1,B 接引脚 2。它的引脚 3(A·B)接到 74HC32 的引脚 1。
- C 接 74HC32 的引脚 2。74HC32 的引脚 3 就是 F:把它接到一个 820 Ω 的电阻,再经一个 LED 接到 GND。
- 在两片芯片上,把多余的门的输入接到 GND:引脚 4、5、9、10、12 和 13。
分步调试
- 电源:用万用表直接在每片芯片的引脚 14 和引脚 7 之间测量电压,而不是在电源轨上测量。这样可以发现断开的电源轨或没插好的芯片。
- 方向:检查每片芯片的缺口。插反的芯片会在错误的引脚上得到供电并发热;如果发现芯片发烫,立即断开电源。
- 输入:确认每个输入都处于你预期的电平,包括未使用的门的输入。
- 逐门检查:从输入开始,朝输出方向推进,把每个节点与真值表对照。第一个对不上的节点就告诉你问题出在哪里。
- 机械问题:找一找芯片下面有没有弯折的引脚、插到相邻一行的导线,或者松动的跳线。
常见错误
- 想当然地认为电源轨贯通整块面包板,而实际上它们在中间是断开的。
- 放置芯片时没有跨过中央凹槽,结果相对的引脚在同一行里连在了一起。
- 让断开的开关所接的输入或未使用的门的输入悬空。
在模拟器中试一试
虚拟面包板可以让你在接触真实元件之前先练习布局和接线。
- 在电路编辑器中搭出 F = A·B + C,并验证它的真值表。
- 切换到虚拟面包板,把一片 74HC08 和一片 74HC32 跨放在中央凹槽上。
- 把 VCC 接到每片芯片的引脚 14,GND 接到引脚 7。
- 按照例子中的清单,连接各输入、芯片之间的连线以及通往 LED 的输出。
- 改变 A、B 和 C,观察 LED 是否符合真值表。
练习
- 在 74HC86 中,门 3 使用哪些引脚?它实现什么功能?
答案
输入在引脚 9 和 10,输出在引脚 8。它是 XOR 门。
- 计算绿色 LED(Vf = 2.1 V)在 5 V 下、电流为 3 mA 时所需的电阻,并选一个标称值。
答案
R = (5 − 2.1) / 0.003 ≈ 967 Ω。选用 1 kΩ,此时 I = 2.9 / 1000 = 2.9 mA。
- 一个用了三片 74HC 芯片的电路时好时坏,并且在多个门同时翻转时出错。你会先检查什么?
答案
去耦电容:每片芯片的引脚 14 和引脚 7 之间、紧靠芯片处接一个 100 nF 的电容。还要检查在每片芯片引脚上测得的电源电压。
- 一片芯片的引脚 1 插在第 20 行的 e 侧。引脚 8 位于哪一行、哪一侧?
答案
引脚 7 位于第 26 行的 e 侧,引脚 8 在它正对面:第 26 行,f 侧。