我第一次用74LS48这颗显示译码器,是给实验室的小型抢答器做计分显示。当时单片机引脚不够,也没想去做软件查表,就用这颗芯片把BCD码直接翻译成七段码,4根数据线进去,7根段线出来,干净利落。虽然现在很多项目直接用单片机IO口扫数码管,但74LS48这种硬件译码方案在电子入门、数字电路教学和老式仪表改造里,依然是绕不开的经典。这篇文章我就从这颗芯片的核心原理说起,配合完整电路图和接线表,手把手带你搭一个能复现的LED数码管显示电路,无论你是刚接触数字电路,还是想快速做一个BCD显示板,都能直接用上。
1. 为什么用显示译码器:74LS48能解决什么问题
1.1 直接用单片机驱动数码管的三个麻烦
我见过不少新手一开始就直接用单片机IO口点亮数码管,做法是把7个段分别接单片机引脚,再写一个查表函数把数字转成段码。这种方式做一两位还行,做到四位以上的时候问题就来了。
第一个麻烦是IO占用太多。一位数码管要占7个引脚,四位就要28个引脚,普通单片机根本扛不住。第二个麻烦是驱动能力不足。单片机IO口直接点亮数码管经常出现亮度不够、数字一多就变暗的情况,原因是IO口拉电流能力有限,一般只有几毫安到二十毫安,再多位数码管动态扫描时电流根本不够分。第三个麻烦是软件查表容易出问题。段码表写错一位,某个数字就会显示成奇怪的样子,排查起来相当痛苦。
如果用74LS48这类显示译码器,这些问题都可以绕开。74LS48只需要4个BCD码输入引脚,输出端自带一定的驱动能力,可以直接推动共阴数码管的段脚。硬件自动完成BCD到七段码的译码,不需要软件维护真值表,对数字电路入门和快速验证场景特别友好。
1.2 74LS48和74LS47到底怎么选
这是新手最容易买错的一步。74LS47和74LS48都是显示译码器,看起来长得几乎一样,但输出极性完全不同。
74LS47是输出低电平有效,和共阳数码管配合使用。共阳数码管的公共端接VCC,段脚接低电平时对应的LED亮起,正好用74LS47的灌电流来点亮。74LS48则是输出高电平有效,和共阴数码管配合使用。共阴数码管的公共端接GND,段脚接高电平时亮起,用的是74LS48的拉电流。
如果你把74LS48接到共阳数码管上,通常的表现是完全不亮,或者只有微弱的光。我遇到过很多次这种情况,最后查来查去发现是极性不匹配。所以下单买芯片之前,务必先确认你手里的数码管是共阴还是共阳。普通红色一位数码管,型号里常见的5611AH是共阴,5611BH是共阳,但不同厂家命名规则不完全统一,最稳妥的办法是拿万用表二极管档测一下。
1.3 74LS48适合什么人、什么场景
从应用场景来说,74LS48适合这几类人:
正在学数字电路的学生,需要理解“编码器—译码器—显示”这条经典链路,74LS48就是最标准的教学样例。手头只有4根空闲IO的单片机开发者,需要显示数字又不想做段码表的人,用74LS48可以把译码工作丢给硬件。还有做老式仪表改造或者教材实验箱的工程师,这类经典TTL芯片在维修和教学中存量巨大,懂它会很有用。
但74LS48也有局限。它只能显示数字和少量字母,不能显示汉字、字母全表。它没有锁存器,输入变化会立即影响输出,做动态扫描显示的时候不如带锁存的芯片方便。如果你的项目只是静态显示0到9,或者让单片机输出BCD码,那74LS48完全够用。如果你需要多位动态扫描、字形更丰富,建议去考虑CD4511或专用数码管驱动芯片。
2. 芯片解剖:74LS48的引脚、功能与真值表
2.1 引脚定义速查表
74LS48是16脚DIP封装,电源电压建议5V,属于TTL器件。面对芯片,缺口朝上,左下角是1脚,按逆时针方向依次为1到16脚。引脚功能如下:
| 引脚号 | 名称 | 方向 | 功能 |
|---|---|---|---|
| 1 | B | 输入 | BCD码输入,权值2 |
| 2 | C | 输入 | BCD码输入,权值4 |
| 3 | LT | 输入 | 灯测试,低电平有效 |
| 4 | BI/RBO | 输入/输出 | 灭灯输入,同时也是灭零输出 |
| 5 | RBI | 输入 | 灭零输入,低电平有效 |
| 6 | A | 输入 | BCD码输入,权值1 |
| 7 | D | 输入 | BCD码输入,权值8 |
| 8 | GND | 电源 | 接地 |
| 9 | d | 输出 | 七段输出,d段 |
| 10 | c | 输出 | 七段输出,c段 |
| 11 | b | 输出 | 七段输出,b段 |
| 12 | a | 输出 | 七段输出,a段 |
| 13 | g | 输出 | 七段输出,g段 |
| 14 | f | 输出 | 七段输出,f段 |
| 15 | e | 输出 | 七段输出,e段 |
| 16 | VCC | 电源 | 接5V电源 |
这里有一个特别容易踩坑的细节:BCD码的权值排列是D为最高位,C次之,B再次,A为最低位,对应8421码。接线的时候如果顺序搞错,显示数字就是乱的。比如输入0001,显示1;如果D和A接反,输入0001实际会显示8。我在搭电路的时候曾经把D和A接反,测试0到9时数字错乱,查了半天才注意到是高位低位顺序问题。
2.2 三个特殊控制端LT、BI、RBI/RBO的含义
74LS48除了基本的7段输出和BCD输入之外,还有三个控制端,初学者经常一头雾水,这里把它们的逻辑讲清楚。
LT是灯测试,低电平有效。接低电平时,无论BCD输入是什么,7个段全部点亮,用来测试数码管的每一段是否完好。正常显示时要把LT接高电平或者悬空处理,悬空在TTL电路里尽量别用,最好接高。
BI/RBO是同一个引脚,双向功能。当作输入用时,BI是灭灯信号,低电平有效,接到低电平时所有段输出为低电平,数码管全灭。当作输出用时,RBO是灭零输出,当本片处于灭零状态时,这个引脚输出低电平,用来通知下一位也执行灭零操作。
RBI是灭零输入,低电平有效。当RBI为低、BCD输入为0000时,数码管显示为空白,而不是0。这个功能在多位数码管显示中特别有用,可以消除前导零。比如显示0123时,我们希望显示“123”而不是“0123”,就可以用RBI把最高位的零熄灭。
如果RBI为高,即使输入为0000也正常显示0。所以如果只是驱动一位数码管,通常把RBI接高或通过上拉电阻接VCC,避免它意外熄灭显示。
2.3 从真值表看懂BCD到七段字的映射
74LS48内部是一个组合逻辑电路,输入DCBA四位BCD码,输出abcdefg七段信号。为了让你有一个直观的印象,我把0到9这十个数字的段状态列出来,1表示该段亮,0表示该段灭。
| BCD输入 DCBA | 显示数字 | a | b | c | d | e | f | g |
|---|---|---|---|---|---|---|---|---|
| 0000 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
| 0001 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
| 0010 | 2 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
| 0011 | 3 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
| 0100 | 4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
| 0101 | 5 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
| 0110 | 6 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
| 0111 | 7 | 1 | 1 | 1 | 0 | 0 | 0 | 0 |
| 1000 | 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1001 | 9 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |
如果你是第一次看这张表,可以这样理解:七段数码管从上到下分别是a、b、c、d、e、f、g,数字0显示时a到f亮,g不亮,所以g标0。这种“硬件查表”正是74LS48存在的最大意义——把这张真值表固化在芯片里,我们就再也不用在软件里维护它了。
当BCD输入大于1001,也就是输入1010到1111时,芯片会输出一些无标准数字意义的字形,有的厂家显示类似字母E、H、L、P的图形,有的直接熄灭,不同批次可能不太一样。在实际计数显示中不建议把这些状态当成固定字形使用,做0到9的显示才是最可靠的用法。
3. 完整电路图详解:从面包板到原理图
3.1 接线总览与材料清单
搭一个单数码管显示电路,本质上就是把电源、BCD输入、数码管、限流电阻和控制引脚按正确的方式连到74LS48上。我建议你在面包板上完成第一个版本,成本低,排查也方便。
需要准备的材料如下:74LS48芯片一片,共阴数码管一位,330Ω电阻7个,0.1μF陶瓷电容1个,10kΩ电阻若干,4位拨码开关一个,5V电源一个,面包板和杜邦线若干。
这里的330Ω电阻是给七段输出用的限流电阻,每个输出端串一个。如果你手里只有470Ω也能用,显示亮度会略低一些。10kΩ电阻用来做控制引脚的上拉,保证LT、BI等引脚处于确定的高电平状态。
3.2 电源与去耦:为什么必须加0.1μF电容
74LS48是TTL器件,典型工作电压5V。VCC接16脚,GND接8脚,注意正负不能接反。很多新手第一次搭电路,芯片不工作,第一反应是芯片坏了,结果一查是VCC和GND接反了,芯片已经烧掉了。动手之前最好用万用表确认一下面包板的电源轨正负极。
在VCC和GND之间,尽量靠近芯片的位置接一个0.1μF的陶瓷电容,这就是去耦电容。它的作用是滤除电源线上的高频噪声,同时为芯片瞬间电流提供就近储能。74LS48本身功耗不太高,但这个电容是数字电路的基本习惯,不加也能工作,但加了一定更稳定。如果电源质量差或者旁边有继电器、电机等干扰源,建议再并联一个10μF的电解电容。
3.3 输入端的接法:拨码开关和单片机两种方式
BCD输入端D、C、B、A是普通的TTL输入端,不能悬空。悬空时输入电平不确定,可能造成显示乱码或闪烁。实际接法有两种。
第一种是拨码开关方式。把四个拨码开关一端分别接D、C、B、A,另一端接VCC,同时每个输入脚加一个10kΩ下拉电阻到GND。开关闭合时输入为高电平,开关断开时输入为低电平,这样逻辑清晰。我在面包板上调试时习惯直接用这种方式,因为不用写程序,拨动开关就能验证每一个数字。
第二种是单片机方式。如果你用5V单片机,直接把4个IO引脚接D、C、B、A即可。如果用的是3.3V单片机,需要注意TTL高电平阈值一般在2.0V左右,3.3V高电平通常可以正常识别,但如果单片机IO口驱动能力弱或者走线太长,建议加一个简单的电平转换或缓冲。
还有一个细节是BCD输入顺序。拨码开关从左到右按D、C、B、A的顺序排列,也就是8421顺序,这样拨码开关的数值才和显示数字直观对应。我见过有人把开关顺序接成A、B、C、D,结果显示数字和开关位置完全对不上。
3.4 输出端到数码管的连接与限流电阻
输出端a到g分别通过330Ω电阻接到共阴数码管对应的段脚上,数码管的公共端接GND。这里有一个关键点:如果你用的是74LS48,公共端必须接GND;如果你误用了74LS47,公共端要接VCC,两者不能混。
限流电阻怎么算?红色LED的正向压降大概1.8V到2.0V,74LS48输出高电平时不是严格5V,在较大负载下输出高电平典型值大概3.4V左右。用欧姆定律估算,流过LED的电流等于输出电压减去LED压降再除以限流电阻。如果限流电阻取330Ω,电流大约在4到5毫安,显示亮度在室内正常情况下够用。想更亮就换成220Ω,想省电就保持330Ω或换成470Ω。
实际操作中我的经验是:先不着急确定电阻值,把电阻插上后观察数码管的亮度,如果数字显示清晰、没有刺眼感和明显发热,这个阻值就合适。如果某个数字的段特别亮或特别暗,优先检查对应段的电阻值和LED是否异常。
3.5 控制引脚的连接:LT、BI、RBI怎么接
控制引脚的处理是很多人的盲区。正常显示时,LT接高电平,BI/RBO接高电平,RBI接高电平。推荐每个控制引脚通过10kΩ电阻上拉到VCC,这样逻辑电平明确,抗干扰能力也更好。
如果你不用灭零功能,RBI直接接VCC,让芯片在任何BCD输入下都正常显示。LT如果悬空,TTL输入端可能会被噪声干扰导致偶发全亮,所以老老实实上拉最稳妥。BI/RBO如果不用灭零级联,也接VCC或上拉。
这里还要提醒一个细节:BI/RBO如果作为输出RBO使用,它是开集电极结构,必须外接上拉电阻才能保证输出高电平正常。这个我们放到多位数码管章节详细说。
3.6 一个可以直接照着接的示意电路
下面这个示意电路是按面包板逻辑画的,不是真正的PCB图,但照着这个思路连线完全没问题。
VCC ──┬──────────────────────────────────────────┐ │ │ [10k] [10k] │ │ ├── 16脚VCC ├── 3脚LT │ │ │ 74LS48 │ │ +──────────────+ │ 拨码开关 ──┤── D ── 7脚 │ D a │──[330Ω]── a段 拨码开关 ──┤── C ── 2脚 │ C b │──[330Ω]── b段 拨码开关 ──┤── B ── 1脚 │ B c │──[330Ω]── c段 拨码开关 ──┤── A ── 6脚 │ A d │──[330Ω]── d段 │ │ e │──[330Ω]── e段 │ │ f │──[330Ω]── f段 │ │ g │──[330Ω]── g段 │ │ │ │ │ LT ← 3脚 │ │ │ BI ← 4脚 │ │ │ RBI ← 5脚 │ │ │ │ │ │ 8脚 GND │ ├── 8脚 GND ─┤ │ │ +──────────────+ │ GND 共阴数码管COM ── GND注意,这个示意图里拨码开关另一端接VCC,输入脚通过下拉电阻接GND,图中为了简洁没有画出所有下拉电阻,实际连线时每个输入脚D、C、B、A都要接一个10kΩ下拉电阻到GND。
如果你的输入来自单片机而不使用拨码开关,直接去掉下拉电阻把单片机GPIO接在对应引脚上即可。
4. 手把手实操:搭一个0到9拨码开关演示器
4.1 第一步:芯片定位与插线准备
先把74LS48放到面包板上,缺口朝上,确定好1脚位置。然后把共阴数码管放在芯片旁边。插芯片的时候注意对准引脚,不要插歪,很多面包板接触不良都是芯片引脚没有完全压进面包板导致的。
插好之后先用万用表确认一下面包板电源轨的正负极,避免后面接错。5V电源的正极接到面包板的一侧电源轨,GND接到另一侧电源轨。如果电源轨上有多个插孔,建议用万用表直接测一下各插孔之间的连通性。
4.2 第二步:按接线顺序完成连接
我习惯按“电源→控制引脚→输入→输出→数码管”的顺序逐步接线,每完成一部分就用万用表或肉眼检查一下,方便定位问题。
先接电源。16脚VCC接5V正极,8脚GND接GND。在VCC和GND之间接0.1μF陶瓷电容,尽量靠近芯片。
再接控制引脚。3脚LT通过10kΩ电阻接VCC。4脚BI/RBO通过10kΩ电阻接VCC。5脚RBI通过10kΩ电阻接VCC。这三个引脚全部上拉,保证芯片处于正常显示状态。
然后接输入。拨码开关的4个公共端分别接VCC,另外4个输出端分别接D、C、B、A。每个输入脚接10kΩ下拉电阻到GND。注意顺序:第一个开关对应D,第二个对应C,第三个对应B,第四个对应A。
最后接输出。12脚a通过330Ω电阻接数码管a段,11脚b通过330Ω电阻接b段,10脚c接c段,9脚d接d段,15脚e接e段,14脚f接f段,13脚g接g段。数码管的公共端COM接GND。
4.3 第三步:上电测试与验证
全部插好后,先不要急着拨开关,检查一遍所有连线,尤其是电源正负极和BCD输入顺序。确认无误后上电。
初始状态四个开关全断开,BCD输入全为0,数码管应该显示0。如果显示不对,第一步看电源指示灯,第二步用手摸芯片温度,第三步检查输入引脚电平。
接下来依次闭合开关,验证显示数字。只闭合A对应开关,显示1。只闭合B对应开关,显示2。同时闭合A和B,显示3。按这个规律继续验证4到9。
如果某个数字显示错误,比如显示2变成了3,多半是BCD输入顺序接错或某根导线插错位置。如果所有数字都不亮,先检查数码管公共端是否接地,再检查330Ω电阻是否真的接通了。
4.4 第四步:扩展成自动计数器或单片机联动
拨码开关验证成功之后,可以把输入从拨码开关换成74LS90十进制计数器,或者直接接单片机GPIO。
用74LS90时,把74LS90的Q0到Q3分别接74LS48的A、B、C、D,给74LS90一个时钟脉冲,数码管就会自动循环显示0到9。时钟可以用555定时器产生,也可以用一个按键手动触发。这样你就拥有一个最简单的数字计数显示系统,非常适合理解“计数→译码→显示”的完整链路。
如果用单片机,则只需4个IO口输出BCD码。想显示几就输出对应的四位二进制。这种方案比直接用单片机七段扫描省了3个IO口,也省了段码表,适合对实时性要求不高的显示场景。
5. 多位数码管显示与灭零功能的正确用法
5.1 多位显示怎么接线
单个数码管只能显示0到9,想显示两位数或更多,就需要多个74LS48并联工作。每一位数码管对应一个74LS48,所有芯片的BCD输入并联到同一组数据线上,但每一位的显示内容由这一位的BCD输入决定。
显示两位数时,把两个74LS48的D、C、B、A都并联到4根数据线上,每一位的数据由这4根线共同控制。这意味着两位显示内容相同,因为它们的输入完全相同。要让两位显示不同的数字,需要分别为每一位提供独立的BCD数据,比如用两个独立的4位输出端口驱动两位数码管。
比较省IO的做法是使用动态扫描,但74LS48没有锁存功能,扫描频率不够高时容易显示闪烁,所以我更推荐在需要多位静态显示时使用带锁存的译码器,或者给74LS48外接锁存器。这只是多位数码管的一种方案,具体取舍要看你的项目需求。
5.2 RBI/RBO级联实现前导零熄灭
多位数码管显示时,如果数值不足位数,比如显示0023,我们一般希望显示成23,前面的零自动熄灭。这就是灭零功能的用途。
灭零级联的接法是:最高位的RBI接低电平,最高位的RBO接次高位的RBI,依次往下。当最高位数码管的BCD输入为0且RBI为低时,它不显示0,同时通过RBO输出低电平,让下一位也允许灭零。如果下一位输入也是0,就继续把灭零信号传给再下一位。遇到第一个非零数字时,RBO输出高电平,后续位就正常显示0。
这样说可能有点绕,我举个三位显示的例子。显示“005”时,最高位输入0且RBI为低,灭零并输出低,第二位输入0且RBI为低,灭零并输出低,第三位输入5且RBI为低,但输入不是0,所以正常显示5。最终看到的是“5”。显示“100”时,最高位输入1,不是0,正常显示1,同时RBO输出高,第二位和第三位的RBI为高,因此即使输入为0也正常显示,最终看到“100”。这两个例子基本把灭零逻辑讲清楚了。
5.3 RBO为什么需要外接上拉电阻
我调试灭零功能时踩过一个坑:RBO信号电平不正常,级联灭零时好时坏。后来查资料才发现,74LS48的RBO是开集电极输出,必须外接上拉电阻才能输出正确的高电平。
如果你把RBO直接接到下一级的RBI,而不加上拉电阻,那么RBO为高电平时实际上是开路状态,下一级RBI的电平由漏电流决定,可能被误判为低电平,导致不该熄灭的位也熄灭了。解决方案很简单,在RBO和VCC之间接一个2.2kΩ到10kΩ的上拉电阻,然后再接到下一级RBI,信号就稳定了。
这里也提醒一下,RBO和BI在同一个引脚上,它是一个输入输出复用的引脚。做正常显示时,把它当输入用,接高电平;做灭零级联时,把它当输出用,接上拉电阻。两种用法不要搞混。
6. 常见问题与排查实录
6.1 数码管完全不亮
数码管一颗段都不亮,优先检查电源、极性、公共端和芯片方向。用万用表测芯片16脚是否有5V,8脚是否接地。如果VCC和GND接反,芯片会发热,这种情况下芯片可能已经损坏,换一片再试。
然后检查数码管公共端是否接GND。共阴数码管的公共端可能有多个引脚,需要把公共端全部接到GND,漏接一个也会导致部分段不亮。再用万用表二极管档直接测试数码管好坏,黑表笔接公共端,红表笔依次碰段脚,对应段应该点亮。如果不亮,说明数码管有问题。
最后检查74LS48的LT引脚。LT接了低电平时,无论输入是什么,所有段都会亮。如果LT悬空,也可能出现偶发全亮或不亮的情况。所以LT必须接高电平或通过上拉电阻接VCC。
6.2 显示乱码、数字顺序错乱
显示乱码最典型的原因是BCD输入顺序接反。D是最高位,A是最低位,如果D和A对调,输入1会显示8,输入2会显示4,整个数字顺序全部打乱。建议用标签把D、C、B、A标在杜邦线上,尤其是多路接线的时候。
另一个原因是输入引脚悬空。TTL输入端悬空时电平不确定,可能被人体或周围导线感应,导致显示随机乱跳。解决方法是确保每个输入引脚都有确定的电平,要么接开关和下拉电阻,要么接单片机GPIO,不要留空。
如果只是某一段一直亮或不亮,先查该段对应的输出引脚和限流电阻,再用万用表二极管档测试数码管该段是否损坏。
6.3 亮度不均匀或偏暗
七段数码管显示亮度不均,先检查限流电阻是否都一致。如果某个段的电阻和其他段不同,该段亮度就会有差异。另外,74LS48输出高电平时内部有上拉结构,实际驱动电流有限,如果数码管本身是低亮款式,整体就会偏暗。
更亮的做法是减小限流电阻阻值,但不要小于100Ω,否则电流过大可能损伤芯片和数码管。也可以换用高亮数码管,或者给输出端加晶体管扩流。我在实际项目中一般会先用220Ω电阻测试,如果亮度合适就用这个值,不够就再调整。
还有一点容易被忽略:74LS48是高电平有效,只能驱动共阴数码管。如果你手里是共阳数码管,接上去几乎不亮,不是电阻问题而是极性错误。换用74LS47或改接共阴数码管才能解决。
6.4 段码微亮、鬼影闪烁
显示数字时,本该熄灭的段有一点点亮,或者整个数码管闪烁,多半是输入电平不稳定。74LS48是TTL器件,输入端悬空或者上拉电阻过大时,引脚电平容易被干扰,导致输出端状态不稳定。
解决方法是把上拉电阻值控制在10kΩ以内,输入信号线尽量短,不要和电源线长距离并行。拨码开关的触点氧化也会导致接触不良,表现为数字偶尔跳变,可以通过快速拨动几次或者更换开关来排查。
如果闪烁发生在多位动态扫描场景,说明扫描刷新率不够。74LS48没有锁存功能,扫描频率最好高于60Hz,而且每一位点亮时间要充足。不过我还是要再次建议,动态扫描主推带锁存的CD4511,74LS48更适合静态显示。
6.5 灭零功能失灵
灭零功能接好后,前导零不熄灭,或者不该灭的零也灭了,先检查RBO上拉电阻。RBO是开集电极输出,不加外部上拉就会出现电平不确定,这是最容易被忽略的坑。
再检查级联方向。灭零信号是从高位向低位传递的,最高位的RBI接低电平,高位RBO接低位RBI,接反了功能肯定不对。如果RBI悬空或者意外接低,即使不是前导零,也会出现0不显示的情况。
6.6 快速排查表
| 现象 | 优先检查点 | 常见原因 |
|---|---|---|
| 全不亮 | 电源、GND、公共端 | VCC/GND接反、公共端未接地 |
| 全亮不变 | LT引脚 | LT接了低电平,处于灯测试状态 |
| 数字错乱 | BCD输入顺序 | D与A接反、输入引脚悬空 |
| 某段不亮 | 对应段输出电阻 | 电阻虚焊、数码管段损坏 |
| 亮度偏暗 | 限流电阻阻值 | 电阻太大、驱动电流不足 |
| 闪断 | 输入干扰、电源不稳 | 引脚悬空、去耦电容缺失 |
| 灭零失灵 | RBO上拉电阻 | 开集输出未加上拉、级联方向接反 |
7. 我的几点使用心得与建议
每次搭74LS48电路,我都会在拨码开关上贴好D、C、B、A的小标签,这帮我避免了很多次顺序接反的低级错误。还有一个小技巧:测试数码管之前,先把LT引脚瞬间接一下GND,如果7段全亮,说明数码管和输出端基本正常,后面排查输入逻辑就更有针对性。
如果你打算长期做数字电路实验,可以多备几片74LS48和74LS47,两者引脚兼容,只要注意共阴共阳的区别就能互换使用。限流电阻建议买整包的330Ω或220Ω厚膜电阻,阻值稳定,颜色统一,后期排查也方便。最后再提一句,做之前先用Proteus或Multisim仿真跑通一遍电路,能省掉不少实物调试的时间,尤其是验证灭零级联这类容易出错的逻辑。把这些细节处理好,这颗老芯片用起来依然相当顺手。