news 2026/10/6 1:18:48

基于74HC74和74HC86的同步模4可逆计数器设计与实现

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
基于74HC74和74HC86的同步模4可逆计数器设计与实现

做数字电路实验,计数器是绕不开的一课。今天聊一套非常经典的组合:用一片74HC74双D触发器和一片74HC86四异或门,手搭一个同步模4可逆计数器。这题目乍一看有点“课本气”,但实际搭起来之后你会发现,它就是理解时序逻辑、状态机、以及“同步”这两个字背后意义的最佳练手项目。搭完不仅能跑,还能直接扩展成模8、模16,甚至配合按键做方向切换,拿来当课程设计、电子大赛热身、或者单纯想焊一块小板子玩,都特别合适。这篇文章我会从逻辑推导讲到引脚接线,再讲到仿真和实物调试的坑,争取让你看完就能直接复现。

先说清楚这套方案解决什么问题:模4可逆计数器,说白了就是两位二进制数,会加1也会减1。正常往上数(加计数)00、01、10、11、00循环;切换方向后往下数(减计数)00、11、10、01、00循环。同步指的是两个触发器共用同一个时钟信号,每个时钟边沿到来时同时判断要不要翻转,而不是像异步计数器那样一级一级“滚”过去。用74HC74提供两个D触发器,用74HC86提供四个异或门,刚好把D触发器的驱动方程全部搞定,一片不多一片不少。适合正在学数字电路、准备做实验报告,或者想从“看懂原理图”进阶到“自己设计时序电路”的朋友。

下面我按实际推进的顺序来写:先讲设计思路和芯片选型,再讲状态表推导和异或门怎么接,最后是完整接线、仿真验证、常见问题排查。整篇内容基于我多次搭这套电路的实操经验,提到的引脚和逻辑都已经验证过,可以直接抄作业。

1. 项目概述与设计思路

1.1 模4可逆计数器到底是个什么玩意儿

模4,意思就是计数范围只有4个状态,对应两位二进制:00、01、10、11。可逆,就是说有一个方向控制引脚,拨到一边是加计数,拨到另一边是减计数。计数器本身是非常典型的时序逻辑电路,也是状态机最简单的一种形式:没有输入条件的时候,它就按固定顺序跳;有了方向控制信号,跳转路径就分叉。理解清楚这套东西,后面学更复杂的序列检测器、状态控制器、数字频率计都会顺畅很多。

为什么选模4作为实验对象?因为模4只需要两个触发器,状态数少,真值表一眼能看穿,逻辑化简也不复杂。如果用模8或者模10,触发器多、化简复杂,初学者容易在卡诺图里绕晕,反而忽略了“同步”和“可逆”这两个核心点。所以我的建议是:先用模4把原理吃透,后面扩展完全是水到渠成的事。

1.2 为什么偏偏是74HC74和74HC86

74HC74和74HC86都是74系列里非常常见的芯片,去电子市场或者网上一抓一大把,价格也便宜,几毛钱一片。74HC74是双D触发器,每片里面有两个独立的D触发器,带异步置位端和异步清零端。我们正好需要两个触发器,用一片74HC74就够。74HC86是四异或门,一片里面有四个独立的两输入异或门,刚好够用来做逻辑门电路。

选74HC系列还有个原因:它是CMOS工艺,功耗低,供电范围宽(2V到6V),输入阻抗高,和TTL的74LS系列相比,带LED或者接单片机都更方便。而且74HC系列的输出可以直接驱动一个74LS系列的输入,在混合使用的时候兼容性也不错。我做实物的时候用5V供电,搭配面包板、LED和按键,完全没问题。

1.3 同步计数器为什么要强调“同步”两个字

同步是这套电路的核心卖点。异步计数器(纹波计数器)的低位触发器的输出当作高位的时钟,这样信号一级一级传递,高位触发器总会比低位晚一点点翻转,位数一多,总延迟就滚雪球。如果后续还要再接译码器或者显示器,尖峰毛刺很容易出来;在高速场合,可能直接导致逻辑误判。

同步计数器让所有触发器共用同一个时钟输入,每个触发器是否翻转,取决于它自己D输入端的电平。只要D输入在时钟边沿到来之前已经稳定,所有触发器就在同一个时钟沿同时更新状态。这样输出变化几乎是同时的,避免了纹波延迟的问题。用74HC74搭建同步计数器,时钟线直接并在一起,就能从根本上消除这个隐患,也符合数字系统设计的通用思路。

2. 逻辑设计:从状态表到D触发器驱动方程

2.1 状态转移表与方向控制约定

这个环节是整个项目的灵魂。别看最后电路好像就是几根线一接,如果驱动方程推错了,接出来的电路一定是乱跳的。我们规定两个D触发器的输出分别叫Q1(高位)和Q0(低位),方向控制信号叫U/D,我这里的约定是:U/D = 1时加计数,U/D = 0时减计数。你也完全可以反过来定义,只需要把异或门的接法对调一下,不过下面的推导我统一按这个约定来。

加计数时,状态转移是: 00 → 01 → 10 → 11 → 00 减计数时,状态转移是: 00 → 11 → 10 → 01 → 00

把这些状态转移整理成表格,就是下面这样:

U/D当前状态 Q1 Q0下一状态 Q1⁺ Q0⁺Q1⁺Q0⁺
1000101
1011010
1101111
1110000
0001111
0010000
0100101
0111010

从表里能看出两个很关键的规律。第一个规律:Q0(最低位)不管在加计数还是减计数,每个时钟来了都翻转一次。所以Q0⁺ = /Q0,也就是说D触发器的D0输入,直接接Q0的非就完事。第二个规律:Q1什么时候翻转,要看Q0和方向控制信号。加计数的时候,Q0是1就翻转;减计数的时候,Q0是0就翻转。既然Q1的翻转条件是Q1本身为1,或者满足条件时Q1翻过去,那么我们需要的其实是“翻转使能信号”。

2.2 用异或门实现方向控制

D触发器的特性方程是Q⁺ = D。如果我想让触发器翻转,就往D端送当前Q值的非;如果想让触发器保持,就往D端送当前Q值。用异或门可以很巧妙地把这个“翻转使能”做出来:当T = 0时,D = Q ⊕ 0 = Q,保持;当T = 1时,D = Q ⊕ 1 = /Q,翻转。这个T就是翻转使能信号,是不是很像T触发器的概念?

现在决定T1的逻辑。根据状态表,加计数时T1的翻转条件是Q0 = 1;减计数时T1的翻转条件是Q0 = 0。综合起来,T1 = Q0 ⊕ /U/D。怎么理解呢?U/D = 1时,/U/D = 0,T1 = Q0;Q0为1翻转,为0保持;U/D = 0时,/U/D = 1,T1 = /Q0;Q0为0时T1为1翻转,Q0为1时T1为0保持。这和我们观察到的规律完全一致。

所以两个触发器的驱动方程就是: D0 = /Q0 D1 = Q1 ⊕ T1 = Q1 ⊕ Q0 ⊕ /U/D

在74HC86里正好有四个异或门,我把它们分配如下: G1:D0 = Q0 ⊕ 1(把异或门一个输入接高电平,等效成非门) G2:/U/D = U/D ⊕ 1(同理,把U/D反相) G3:T1 = Q0 ⊕ /U/D G4:D1 = Q1 ⊕ T1

2.3 驱动方程的通俗验证

可能有人看到异或门有点晕,我换一种说法。异或门的作用就是“判断两个输入是不是不同”:不同输出1,相同输出0。在数字电路里,非门也可以看成异或的一个输入固定为1。我们的电路就是反复用这个“相同/不同”的判断,来决定触发器要不要翻转。

你自己按一下状态表推一遍就懂了。比如U/D = 1、当前是01状态:Q0 = 1,/U/D = 0,所以T1 = 1 ⊕ 0 = 1,Q1要翻转,从0变1;同时D0 = /Q0 = 0,所以Q0从1变0。下一个状态就是10。再看U/D = 0、当前是01状态:Q0 = 1,/U/D = 1,T1 = 1 ⊕ 1 = 0,Q1保持0;D0 = 0,Q0变0。下一个状态是00。跟状态表完全对得上。

这一步是很多人容易跳过但最不应该跳过的环节。逻辑设计如果没推清楚,后面布线、仿真、焊接全是白忙活。所以我还是建议你哪怕在纸上画个状态转移图,也把这条线自己走一遍。

3. 完整电路搭建:引脚级接线说明

3.1 74HC74的引脚分配与接法

74HC74是DIP14封装,里面有两个D触发器,左边一个、右边一个。每个触发器都有独立的异步置位端和异步清零端,低电平有效,不用的时候必须接高电平,否则芯片就永远被锁在置位或清零状态,计数器根本跑不起来。我第一次做的时候把清零端悬空,结果输出死活不动,还以为是芯片烧了,后来用万用表一量才发现是引脚悬空导致的不确定状态。

具体接法是:1脚(1CLR)和4脚(1PR)接VCC;10脚(2PR)和13脚(2CLR)接VCC。如果你想做一个手动复位功能,就把1脚和13脚并在一起,通过一个按钮接到地,平时被上拉电阻拉到高电平,按下按钮瞬间拉低清零。注意,上拉电阻建议用10kΩ左右,能保证常态为高,按下时可靠的清零脉冲。

时钟输入是3脚(1CLK)和11脚(2CLK),两个直接连在一起,接公共时钟源。输出端我们只需要Q,1脚那一路的1Q是5脚,2脚那一路的2Q是9脚。5脚作为Q0,9脚作为Q1。两个反相输出端6脚(1Q非)和8脚(2Q非)不用的话可以不接,不过如果你手头有示波器,量一下这两个脚也能确认触发器确实在工作。

3.2 74HC86的四个异或门分配

74HC86同样也是DIP14,四个异或门,每个门有A、B两个输入和一个Y输出。前面已经规划好四个门的分工,现在落到引脚上:

  • G1:输入12脚(4A)接Q0,13脚(4B)接VCC,11脚(4Y)输出/Q0,接到74HC74的2脚(1D)。这个门负责产生D0。
  • G2:输入1脚(1A)接U/D,2脚(1B)接VCC,3脚(1Y)输出/U/D,送到G3的一个输入端。
  • G3:输入4脚(2A)接Q0,5脚(2B)接G2的输出/U/D,6脚(2Y)输出T1,送到G4的一个输入端。
  • G4:输入9脚(3A)接Q1,10脚(3B)接G3的输出T1,8脚(3Y)输出D1,接到74HC74的12脚(2D)。

这里要注意74HC86的VCC是14脚,GND是7脚,跟74HC74一致。接的时候先给两片芯片的电源和地都接好,再去接信号线。我的习惯是先把电源跳线铺好,再一根一根走信号线,不然中途看到一团线容易乱。也可以参考下面的接线总表:

功能74HC86引脚连接到74HC74引脚
D0 = /Q012、13输入,11输出Q0、VCC → G1,G1输出 → 1D2
/U/D1、2输入,3输出U/D、VCC → G2,G2输出 → G3输入-
T1 = Q0 ⊕ /U/D4、5输入,6输出Q0、G2输出 → G3,G3输出 → G4输入-
D1 = Q1 ⊕ T19、10输入,8输出Q1、G3输出 → G4,G4输出 → 2D12

3.3 电源、复位和时钟处理

供电方面,74HC系列用5V很合适,14脚接VCC,7脚接地。特别注意在芯片电源引脚旁边要放一个0.1μF的去耦电容,紧贴VCC和GND。这个小电容的作用是吸收芯片翻转瞬间的电流尖峰,不然电源线上的毛刺可能会让触发器误触发。我第一次做没加,LED显示偶尔会无规律跳一个数,查了半天,最后加个电容就安静了。

时钟来源有几种方案。最省事的是用信号发生器输出一个方波,频率1Hz~10Hz左右,慢慢观察;如果没有信号发生器,可以用单片机PWM输出;最简单低成本的做法是用一个按键,手按一下发一个脉冲。但按键有个问题:机械抖动,按一下可能产生好几个上升沿,计数器就会多跳好几下,看起来像“乱跳”。手动时钟必须加消抖,最简单的消抖电路是按键串一个10kΩ电阻到VCC,再接一个0.1μF电容到地,输出接到施密特触发器;更常见的做法是用555定时器搭一个多谐振荡器,输出方波直接当时钟。这块在第四章会专门展开。

复位功能强烈建议加上。74HC74上电后的初始状态是不确定的,可能是00也可能是11,也可能Q0、Q1各是乱七八糟的中间电平。把两个清零端并在一起接一个复位按键,一上电先按一下,让计数器从00开始,后面调试就方便多了。如果希望系统上电自动复位,可以在清零端对地接一个10μF电容,VCC通过10kΩ电阻接到清零端,利用电容充电过程产生一个低电平脉冲实现上电清零。

3.4 按键输入与LED显示

Q0和Q1的输出要观察,最简单的是接LED。从Q输出到LED正极,LED负极串一个限流电阻到地;或者LED负极接Q输出,正极通过限流电阻接VCC,这个看你是想做低电平点亮还是高电平点亮。限流电阻用330Ω~1kΩ都行,5V供电下电流控制在几毫安到十几毫安,不会烧LED也不会太暗。如果LED亮度不够,大概率是电阻选大了,换成470Ω试试。

方向控制U/D信号最好也不要悬空。直接用一根跳线接到VCC(加计数)或者GND(减计数),但千万不要在通电状态下反复插拔跳线,容易造成瞬间接触不良,让芯片输入浮空。规范的做法是通过一个单刀双掷开关切换,或者用按键加一个RS触发器锁存状态。最简单稳妥的是焊一个拨码开关,拨到一边接VCC,拨到另一边接地,机械接触可靠,信号也不会悬空。

4. 仿真验证与实物调试

4.1 用Multisim先跑一遍逻辑验证

如果你手头没有芯片,或者怕一上来就焊错,我强烈建议先用Multisim把这些逻辑仿真一遍,验证接线逻辑是否正确。Multisim的元件库里能找到74HC74D和74HC86D,放置后按前面说的引脚关系接线,再放一个逻辑电平作为U/D控制,一个时钟源作为CLK,两个探针或者示波器接Q0、Q1。

仿真里有一个特别方便的虚拟仪器叫“数字探针”,能直接显示逻辑高还是低。把时钟频率设成1Hz,跑一下,观察Q0、Q1的状态变化是否按状态表走。Multisim的波形图和示波器也能看到时序关系。这里有几个细节要注意:74HC74的时钟是上升沿触发,所以时钟源选择方波,极性默认的“正脉冲”就行;时钟频率别设太高,1Hz到10Hz肉眼看起来最直观;U/D信号从高切换到低之前,最好等一个完整的计数周期,避免在时钟边沿附近改变方向导致亚稳态。

用Multisim的好处是改线方便,接线错误能立刻发现,还能用虚拟逻辑分析仪看每个节点的波形。我一般会先把仿真跑通,再上实物。这样做还有一个额外的好处:电路图能截图存档,写实验报告的时候直接能用,不用再去画图软件里重画一遍。

4.2 面包板搭建与上电实测步骤

从仿真到实物,我推荐从面包板开始。准备的东西:74HC74一片、74HC86一片、面包板、若干跳线、5V电源、两个LED、两个330Ω电阻、一个按键(可作复位)、一个单刀双掷开关(可选)、一个0.1μF去耦电容、一个可选的模拟消抖电路。

搭建顺序我建议是这样:先把两片芯片插在面包板中间,确认方向一致,缺口朝左。然后接电源和地,顺便把去耦电容加上。接着处理74HC74的置位端和清零端,全部接高电平,复位按键留好。再按G1到G4的顺序把74HC86的四个异或门接好,每接完一个门就核对一下引脚号。最后接时钟和LED显示。

上电之后不要急着看灯,先用万用表量一下两片芯片的VCC和GND之间有没有短路,确认芯片表面没有异常发热。然后按一下复位键,让Q0、Q1都归零。U/D接到高电平,CLK输入一个1Hz方波(或者手动按键),这时候观察两个LED:加计数时,状态应该按00、01、10、11循环,也就是亮灯个数和位置按二进制的顺序变化。再把U/D接到低电平,重复操作,状态应该反向循环。

我遇到过一个比较隐蔽的问题:面包板上跳线太多,芯片的电源引脚接触不良,导致芯片工作电压偏低,计数状态偶尔异常。解决办法是检查每根电源线和地线是否插到底,必要时用万用表直接在芯片引脚上量电压。面包板的接线驱动能力没问题,但接触电阻和寄生电容比较大,所以时钟频率如果超过几百kHz,波形可能会变形,这个实验里只要用低频就能避开。

4.3 示波器观察波形与验证同步

如果有示波器,可以把两个通道分别接Q0和Q1,把U/D设为加计数,时钟频率提高到100Hz或者1kHz,看波形。因为我这个是同步计数器,两个Q输出都是在同一个时钟上升沿跳变的,所以示波器上Q0和Q1的边沿应该对齐。如果你用的是异步计数器,Q1会比Q0晚几十纳秒到几百纳秒才变化,这在示波器上看得很清楚。

同步计数器还有一个好处:用两个Q输出直接译码驱动显示,不会出现译码毛刺。不过74HC74输出是CMOS电平,接示波器探头时要注意示波器的探头地线夹子不要夹到别的信号线,否则会引入地环路干扰。测试的时候把时钟频率慢慢往上调,比如从1Hz调到10kHz,你会发现LED已经看不清变化,但示波器上仍然能清楚地看到分频关系:Q0的频率是时钟的一半,Q1的频率是时钟的四分之一,而且Q1和Q0的边沿对齐。这一步做完,整个电路就验证得比较完整了。

5. 常见问题与排查技巧实录

5.1 计数器乱跳或者不按顺序走

这种现象最常见的两个原因:清零端/置位端悬空,或者时钟抖动。先说清零端,74HC74的CLR和PR都是低电平有效,悬空的时候CMOS输入会处于不确定状态,可能被噪声拉低,也可能随机翻转,表现就是计数器状态不受控。检查方法很简单:万用表量一下1脚、4脚、10脚、13脚对地电压,正常都应该接近VCC。如果发现哪个脚是低电平或者电压飘忽,把它接到高电平再试。

第二个原因是按键做时钟的时候没有消抖。机械按键按下去的瞬间,簧片会反复接触,产生一串毛刺脉冲。就算你是“很快地按一下”,实际上也有好几个边沿,触发器就把这几个边沿都数进去了。解决方法:用手动时钟时,给按键加一个RC低通滤波器,或者在按键输出后接一个施密特触发器,也可以用555定时器做一个专门的消抖电路。最省心的还是直接改用信号发生器,就没有抖动问题。

5.2 方向切换失灵或者状态跳变

方向切换失灵,先看U/D信号有没有真正接到74HC86的G2输入。很多人把U/D信号接到了74HC74的某个触发器的D端或者时钟端,那肯定不对。U/D只应该进入74HC86的异或门网络,影响T1的生成,然后通过D1间接影响Q1,而不应该直接去控制Q0或者时钟。

还有一种情况:U/D信号在切换时,刚好遇到时钟边沿,导致当前状态不稳定。因为方向信号和时钟都是外部输入,本质上实现了异步的输入同步化问题。在实际使用中,可以先把时钟停下来(比如按键时钟不按),再切换方向,然后再继续送时钟。或者更稳妥的做法,把方向切换信号用74HC74本身的一个触发器做一个同步处理,不过对模4实验来说有点小题大做,只要注意切换时序就不会出错。

5.3 芯片发热或LED不亮

芯片发热通常是接错电源:VCC和GND接反,或者某个输出脚直接对地短路。CMOS芯片一旦发热,第一件事就是断电,然后检查电源线、地线和是否有焊锡搭桥。LED不亮则要先分清楚是逻辑问题还是驱动问题。先用万用表量Q输出脚的电平,如果输出是高,但LED不亮,说明LED或者限流电阻接法有问题;如果输出一直是低,说明触发器没有翻转,回到时钟和清零端的排查方向。

LED亮度不足可能不是接线问题,而是74HC系列的驱动能力有限。一个LED需要几毫安电流,但要让LED亮度饱满往往要10mA以上,74HC74的输出驱动能力通常在4mA左右,直接驱动高亮LED会有些吃力。这时候可以用一个NPN三极管做开关驱动,或者干脆换用低电流LED。如果只是想看逻辑状态,用逻辑笔或者万用表量电平,比LED要直观得多。

5.4 高频时波形畸变

如果你把时钟频率提高到几兆赫兹,发现Q0、Q1的波形上升沿变缓、幅值下降,不要慌,这是面包板的寄生电容和引线电感在作怪。面包板的接触压力和分布参数都不适合高频信号,MHz级别的信号最好用洞洞板焊接,并且电源去耦电容要尽量靠近芯片引脚。另外,74HC系列本身的传输延迟大约是10ns左右,在几兆赫兹频率下虽然还能工作,但波形质量会明显变差,这个实验里建议工作频率控制在100kHz以下,逻辑问题和信号完整性问题就能分开。

排查问题的时候我习惯按“电源、时钟、复位、数据通路”的顺序来做。先保证电源正常,再看时钟有没有到芯片,然后确认复位端电平,最后沿着D0、D1的信号路径逐级量电平。手头有逻辑笔会比万用表方便得多,直接点每个引脚就能看到高、低或者脉冲状态。没有逻辑笔也可以用示波器代替。这个思路可以说解决了我90%的数字电路调试问题,比瞎拆瞎换芯片高效得多。

6. 还能怎么扩展:从模4走向模8和自动往返

74HC74和74HC86这套逻辑最大的价值不是搭一个模4计数器就完事了,它的驱动方程可以直接往更多位扩展。比如要做模8可逆计数器,需要三个触发器。最低位Q0永远翻转,D0 = /Q0;第二位Q1的翻转条件是“Q0为1且方向为加,或者Q0为0且方向为减”,刚好还是Q0和U/D的组合;第三位Q2的翻转条件就变成“Q0、Q1都为1且方向为加,或者Q0、Q1都为0且方向为减”,用异或门和与门组合起来就能实现。这个过程就是把二进制的进位/借位逻辑一层一层叠上去,做出来的就是一个通用的N位可逆计数器。

另一位朋友可能会问:能不能让计数器到上限后自动反转,不用手动拨U/D?可以。在模4电路上加一个检测电路:当U/D为加且Q1Q0 = 11时,下一拍让U/D翻成减;当U/D为减且Q1Q0 = 00时,下一拍让U/D翻成加。这个翻转信号可以用74HC86的异或门来做,也可以额外用一个小触发器来锁存方向状态。这样计数器就变成了“往返计数器”,在一些步进电机控制、云台来回扫描、跑马灯循环场景里非常实用。

我个人的建议是:把这个模4项目当作一个起点,先把它搭熟、推熟、调试熟,然后再往模8和自动往返方向扩展。每一次扩展你都会对异或门的作用、D触发器的翻转条件、同步时序设计有更深的体会。这些东西看起来基础,但恰恰是数字逻辑里最底层的思维方式,后面学CPU、通信协议、FPGA,本质上都离不开状态如何转移、信号如何在时钟边沿稳定下来这两件事。

最后分享一个小技巧:如果你做实验时觉得逻辑推导很抽象,可以把74HC86的四个异或门想象成四个“判断员”,它们不断对比两个输入是否一致,然后把判断结果告诉D触发器“你这次要不要翻转”。D触发器就像一个很听话的员工,只在每次时钟响铃的时候看一眼通知,然后照做。这套电路本质上是“组合逻辑(判定)+时序逻辑(记忆)”的配合,理解了这个,以后设计任何状态机你都能往这个框架里套。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/6 1:16:38

LLC谐振变换器环路补偿:K因子法手算与实测避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 1:16:38

RoboMaster轮腿机器人电控系统焊盘级设计解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 1:16:08

Allegro焊盘与封装命名规则:从混乱到规范的实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 1:16:03

Allegro铺铜实战:动态静态铜、优先级与热焊盘避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/6 1:14:40

SMC D-M9B磁性开关全流程指南:选型、安装、接线与调试排故

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华