☰
TTL电路搭建半加器:从逻辑门到面包板实操指南
2026/10/7 8:43:50 网站建设 项目流程

1. 为什么还要用TTL电路搭半加器

半加器这个名词,很多人在数字电路课本上见过,但真正拿74系列芯片在面包板上把它搭出来的人并不多。我最初接触这个实验,是因为带新人时发现一个普遍现象:大家能用Verilog写出半加器,也能在仿真软件里跑出波形,但一旦面对真实的芯片、电阻、LED和示波器,就完全不知道从哪下手。TTL电路搭建半加器实验,恰好是打通“逻辑表达式”和“物理实现”之间那堵墙的最佳入口。

这个实验的核心目标很明确:用TTL逻辑门芯片实现两个1位二进制数的加法,输出“和”与“进位”两个结果。说人话就是,你手里有两个开关,分别代表两个加数,拨动开关后,电路自动告诉你相加的结果是0还是1,以及有没有进位。听起来简单,但它涵盖了数字电路最基础的几个能力:真值表到逻辑表达式的转换、逻辑门选型、芯片供电与去耦、信号电平观测、故障排查。

适合谁来参考?如果你是电子类专业的学生,正在做数字电路实验,这篇内容可以直接当操作手册用。如果你是嵌入式开发者,平时只写代码不碰硬件,想补一补底层电路的知识,这个实验成本低、周期短,一个下午就能搞定。如果你只是对逻辑门好奇,想亲手验证一下“异或门到底是不是加法器”,那也完全可以跟着做。

我用的核心芯片是74LS08和74LS86,前者是四路二输入与门,后者是四路二输入异或门。半加器的逻辑很简单:和位用异或,进位用与门。所以理论上只需要这两颗芯片就够了。但实际搭建时,你会遇到供电、去耦、LED限流、开关消抖等一系列课本上不会细讲的问题,这些才是这篇博文真正要分享的东西。

2. 半加器的逻辑拆解与芯片选型思路

2.1 从真值表到逻辑表达式,别跳步

半加器的输入是两个1位二进制数A和B,输出是Sum和Carry。真值表如下:

ABSumCarry
0000
0110
1010
1101

观察Sum列,它在A和B不同时为1,相同时为0,这正是异或逻辑。Carry列只有在A和B同时为1时才为1,这是与逻辑。所以:

  • Sum = A ⊕ B
  • Carry = A · B

这个推导过程看起来简单,但我建议你亲手在纸上写一遍。很多新手直接背结论,结果到了用与非门搭建的时候完全不知道怎么转换。理解“异或就是不进位的加法”这个直觉,比记住公式重要得多。

2.2 为什么选74LS08和74LS86

74系列TTL芯片里,与门和异或门有很多型号。74LS08是四路二输入与门,74LS86是四路二输入异或门,两者都是14脚DIP封装,供电范围4.75V到5.25V,典型工作电压5V。选它们的原因有三个:

第一,功能刚好匹配。半加器需要两个输入信号做异或和与运算,74LS86提供异或,74LS08提供与,各用一路就够了,剩下的门可以留着扩展全加器。

第二,LS系列功耗低。相比74系列标准型,74LS的输入电流更小,功耗更低,适合面包板实验。如果你手头只有74HC系列,也能用,但要注意HC是CMOS工艺,输入不能悬空,否则会乱跳。

第三,价格便宜且容易买到。这两颗芯片在电子市场或者线上平台都是几毛钱到一块多一颗,坏了也不心疼。

注意:74LS08和74LS86的引脚排列不同,插芯片前一定要查数据手册确认VCC和GND的位置。接反电源是烧芯片最快的方式,我见过不止一个新手把芯片插反后通电,结果芯片直接发烫冒烟。

2.3 电源与去耦,最容易被忽略的环节

TTL电路对电源噪声比较敏感,尤其是面包板上的接触电阻和导线电感,容易在开关动作时产生毛刺。我的习惯是在每颗芯片的VCC和GND之间并一颗0.1μF的陶瓷电容,位置尽量靠近芯片电源引脚。这个电容叫去耦电容,作用是给芯片提供瞬态电流,同时滤掉电源上的高频噪声。

面包板的电源轨也要注意,不要只用一根跳线从电源模块引到面包板一端。我通常会在面包板的两侧电源轨都接上电源和地,并且用粗一点的导线。如果电源轨中间有断开,记得用跳线短接。

3. 面包板实操:从零搭出半加器

3.1 物料准备与工具清单

动手之前,先把东西备齐。缺一个元件就要停下来找,很影响节奏。

  • 74LS08 一颗
  • 74LS86 一颗
  • 面包板 一块,建议至少400孔
  • 5V电源模块 一个,或者用USB供电的5V稳压模块
  • LED 两颗,建议红色和绿色各一,分别表示Sum和Carry
  • 限流电阻 两颗,220Ω到1kΩ都可以,我常用470Ω
  • 拨动开关 两个,或者用杜邦线手动接VCC和GND
  • 杜邦线 若干,建议公对公和公对母都准备一些
  • 万用表 一个,用来测电平和通断
  • 逻辑笔 可选,有的话观测更方便

提示:LED限流电阻的计算很简单。TTL输出高电平典型值3.4V左右,LED正向压降约1.8V到2.2V,取2V计算,电流想控制在10mA左右,电阻就是(3.4-2)/0.01=140Ω。用470Ω的话电流约3mA,亮度足够,也更安全。

3.2 芯片插装与电源连接

先把74LS08和74LS86插到面包板上,两颗芯片之间留出至少一排孔的距离,方便走线。芯片的缺口朝左,引脚编号从左上角开始逆时针数。74LS08的14脚是VCC,7脚是GND;74LS86也是14脚VCC,7脚GND。

连接电源时,我习惯先用万用表确认电源模块输出确实是5V,然后再接到面包板电源轨。接好后,用跳线把两颗芯片的14脚接到正电源轨,7脚接到负电源轨。每颗芯片旁边并一颗0.1μF电容,电容一脚接VCC,一脚接GND。

注意:插芯片时不要用力过猛,DIP封装的引脚很容易弯。如果引脚有点歪,先用镊子轻轻掰正再插。拔芯片时用专用起拔器,或者用小一字螺丝刀从两端交替撬起,不要直接用手抠。

3.3 输入开关与信号线布置

两个输入A和B,我用两个拨动开关来实现。开关的一端接VCC,另一端通过一个10kΩ电阻接地,同时引出信号线到芯片输入。这样开关拨到VCC时输入为高电平,拨到地时输入为低电平。10kΩ电阻的作用是确保开关断开时输入不会悬空。

如果你没有拨动开关,也可以用杜邦线直接插到VCC或GND来模拟输入。但这样操作时手会抖,容易碰到其他线,所以我更推荐用开关。

信号线布置有个小技巧:用不同颜色的线区分A和B。比如A用黄色,B用蓝色,Sum用绿色,Carry用红色。这样排查问题时一眼就能看出哪根线对应哪个信号,不用反复查图。

3.4 异或门和与门的接线细节

74LS86内部有四个异或门,我们只用其中一个。以第一个门为例,输入是1脚和2脚,输出是3脚。把A接到1脚,B接到2脚,3脚就是Sum输出。

74LS08内部有四个与门,同样用一个。第一个门输入是1脚和2脚,输出是3脚。把A接到1脚,B接到2脚,3脚就是Carry输出。

接线时注意不要跨芯片乱接。我见过有人把A接到74LS86的1脚后,又用一根很长的线绕到面包板另一头接74LS08的1脚,结果线太长引入干扰,输出不稳定。正确做法是让两颗芯片尽量靠近,A和B的信号线先分别引到两颗芯片附近,再用短跳线连接。

3.5 输出指示与限流电阻

Sum和Carry输出分别接LED。LED正极接芯片输出,负极通过限流电阻接地。这样输出高电平时LED亮,低电平时灭。

这里有个细节:TTL输出高电平时是拉电流能力较弱,低电平时灌电流能力较强。所以用LED从输出到地的方式,高电平亮,是拉电流模式,74LS系列高电平输出电流典型值只有0.4mA左右,可能亮度很暗。更好的做法是LED正极接VCC,负极通过电阻接芯片输出,这样低电平时LED亮,利用的是灌电流能力,74LS灌电流可以到8mA,亮度明显更好。

但这样逻辑就反了:输出低电平时LED亮。如果你不介意反逻辑,可以用这种方式。如果希望高电平亮,可以在输出和LED之间加一个三极管驱动,或者直接用逻辑笔。我为了直观,通常用灌电流方式,然后在标签上写清楚“LED亮表示低电平”。

4. 上电测试与波形观测

4.1 静态测试:拨开关看LED

接好线后,先不要急着上电。用万用表蜂鸣档测一下VCC和GND之间有没有短路,确认没有短路再通电。

通电后,按真值表依次拨动开关:

  • A=0,B=0:Sum灭,Carry灭
  • A=0,B=1:Sum亮,Carry灭
  • A=1,B=0:Sum亮,Carry灭
  • A=1,B=1:Sum灭,Carry亮

如果结果符合,说明逻辑正确。如果不符合,先检查芯片电源是否正常,再检查输入信号是否真的到了芯片引脚。用万用表测芯片输入引脚电压,高电平应该在2.7V以上,低电平在0.8V以下。

4.2 动态测试:用示波器看延迟

静态测试通过后,如果你有示波器,可以进一步观测异或门的传输延迟。把A输入接一个方波信号,频率1kHz左右,B接低电平,观察Sum输出。你会看到Sum跟随A变化,但上升沿和下降沿相对于输入有几十纳秒的延迟。74LS86的典型传输延迟约15ns到20ns,这个延迟在低速电路中无所谓,但在高频电路中必须考虑。

如果没有示波器,也可以用逻辑分析仪,或者用单片机产生方波并读取输出。我最初就是用Arduino产生1kHz方波,然后用数字引脚读Sum,统计高低电平持续时间,间接验证逻辑功能。

4.3 电平兼容性与负载问题

TTL输出接LED时,要注意负载不要超过芯片驱动能力。74LS08和74LS86每个输出最多驱动10个LS系列输入,或者8mA灌电流。两颗LED加电阻的电流在3mA到10mA之间,单路输出驱动一个LED没问题,但不要同时驱动多个大电流负载。

另外,如果你要把这个半加器级联成全加器,下一级的输入会消耗前一级的输出电流。LS系列输入低电平时每个输入约0.4mA,高电平时约20μA。一个输出驱动两个输入完全没问题,但驱动太多就要算扇出。

5. 常见故障与排查速查表

5.1 上电后芯片发烫

这是最危险的情况,立刻断电。原因通常是电源接反、VCC和GND短路、或者芯片已经损坏。用万用表测VCC和GND之间电阻,正常应该在几百欧以上。如果接近0,检查电源轨有没有短路,芯片有没有插反。

5.2 LED不亮或常亮

先测芯片输出引脚电压。如果输出高电平但LED不亮,检查LED极性是否接反,限流电阻是否太大。如果输出低电平但LED常亮,检查是否用了灌电流接法而逻辑搞反了。如果输出引脚电压在1V到2V之间,可能是输出过载或者芯片损坏。

5.3 逻辑结果随机跳变

输入悬空是常见原因。TTL输入不能悬空,悬空时会被当作高电平,但容易受干扰。确保每个输入都有明确的拉高或拉低路径。开关消抖也要考虑,机械开关在拨动瞬间会产生多个脉冲,如果后级有计数器,会误计数。可以在开关两端并一个0.1μF电容,或者用施密特触发器整形。

5.4 排查流程表

现象可能原因排查方法
芯片发烫电源接反或短路断电测VCC-GND电阻
LED不亮极性反、电阻大、输出低测输出引脚电压
逻辑错误输入悬空、接线错对照真值表逐脚测电平
输出跳变电源噪声、开关抖动加去耦电容、加消抖电容
级联失败扇出不够、电平不匹配查数据手册算扇出

提示:排查时不要同时改多个地方。一次只改一个变量,改完测一次,否则你永远不知道是哪个改动起了作用。这是我踩过很多次坑之后养成的习惯。

6. 从半加器到全加器的扩展思路

半加器只能处理两个1位数的加法,没有考虑低位进位。实际加法器需要全加器,输入是A、B和Cin,输出是Sum和Cout。全加器的逻辑是:

  • Sum = A ⊕ B ⊕ Cin
  • Cout = A·B + Cin·(A ⊕ B)

用74LS86和74LS08可以搭出来:两个异或门串联得到Sum,两个与门和一个或门得到Cout。74LS08只有与门,还需要一颗74LS32或门。或者用74LS00与非门和74LS10三输入与非门来等效实现。

我建议你先把这个半加器搭稳,确认每个环节都理解透了,再扩展全加器。半加器是地基,地基不稳,全加器只会让你更迷糊。

7. 我踩过的坑和实测心得

第一个坑是芯片插反。有一次赶时间,74LS86的缺口朝右插进去了,通电后芯片烫得不敢碰,赶紧断电,芯片已经废了。后来我养成习惯,插芯片前先看缺口,再用万用表测VCC和GND引脚确认没有短路。

第二个坑是面包板电源轨中间断开。有些面包板的电源轨不是整条连通的,中间有断点。我一开始不知道,把电源接在一端,芯片接在另一端,结果芯片根本没供电。后来用万用表蜂鸣档测了一下,才发现电源轨中间不通。现在我用面包板之前都会先测电源轨通断。

第三个坑是LED限流电阻用太小。有次手边没有470Ω,用了100Ω,LED特别亮,芯片输出电流超标,用了一会儿芯片就烫了。后来老老实实按计算值选电阻,再也不敢随便拿一个就用。

第四个坑是输入开关没消抖。用拨动开关做输入时,如果后级接计数器,拨一次开关计数器会跳好几个数。后来在开关两端并了0.1μF电容,问题解决。这个电容和开关构成RC低通,把抖动滤掉了。

实测下来,整个半加器从插芯片到验证通过,熟练的话半小时以内能完成。新手第一次做,建议留出两小时,包括查手册、测通断、排查问题的时间。不要追求一次成功,把每次故障当成学习机会,收获比顺顺利利搭完更大。

最后分享一个小技巧:搭完电路后,用手机拍一张清晰的照片,标注好每根线的颜色和对应信号。下次再搭或者给别人讲的时候,直接看照片就能复现,不用重新查图。这个习惯帮我省了很多重复劳动的时间。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询