第 153 篇

考研数电·零基础讲义 第13讲(下)|触发器按逻辑功能分类:SR、JK、D、T、T'

约 19 分钟 6080 字 华南师范大学数字电子技术考研数电零基础讲义

考研数电·零基础讲义 · 第 13 讲(下)|触发器按逻辑功能分类:SR、JK、D、T、T' 学完本讲,你能写出五种触发器的特性表、特性方程、状态转换图和驱动表,能看懂"下降沿 JK"这类波形题,并会用"特性方程对比法"把一种触发器改接成另一种。特性方程是下一讲时序电路分析的"计算公式",务必背熟。预计用时 100 分钟。

本讲地图

  • 逻辑功能 ≠ 触发方式:前两讲按"什么时候动"(电平、脉冲、边沿)分类;本讲按"动成什么样"(SR、JK、D、T、T')分类,两者互不决定。
  • 四件描述工具:特性表、特性方程、状态转换图、驱动表(激励表)。
  • 五种触发器:SR(⁠Q∗=S+R‾QQ^{*}=S+\overline{R}Q⁠,SR=0SR=0⁠)、JK(⁠Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q⁠)、D(⁠Q∗=DQ^{*}=D⁠)、T(⁠Q∗=T⊕QQ^{*}=T\oplus Q⁠)、T'(⁠Q∗=Q‾Q^{*}=\overline{Q}⁠)。
  • 相互转换:写出目标方程 → 凑成已有触发器方程的样子 → 对比得到接法。
  • 华师怎么考:2026 回忆题第 7 题要求写"驱动(激励)方程、状态方程",状态方程就是把驱动方程代入特性方程得到的;特性方程写错,后面全错。转换接法、画波形也是常见小题。
  • 教材对应:阎石第六版 5.3.4 节。

前置知识

  • 边沿触发、脉冲触发的动作特点,见第 13 讲(中);SR 锁存器的约束条件,见第 13 讲(上)。
  • 卡诺图化简与无关项,见第 04 讲(中)、(下)。
  • 异或运算A⊕BA\oplus B⁠,见第 02 讲(上)。

一、两个维度:触发方式和逻辑功能

1.1 大白话:发车时间和去哪儿

把触发器想成公交车:

  • 触发方式回答"什么时候发车":电平触发是"门开着随时上下",边沿触发是"整点准时发一班",脉冲触发是"高电平时上客、下降沿关门开走"。
  • 逻辑功能回答"发车以后开到哪儿":给定输入和现态,次态是什么。

两件事是独立的:同一条线路(同样的逻辑功能)可以用不同的发车方式;同样整点发车(同样的触发方式)也可以开不同线路。教材原话:"触发器的触发方式和逻辑功能之间并无固定的对应关系。" 比如 D 锁存器(电平触发)和 CMOS 边沿 D 触发器都属于"D 触发器";边沿触发既能做成 D 型,也能做成 JK 型。

1.2 本讲的约定

本讲只关心逻辑功能,所以下面的特性表都不写 CLK 一栏,意思是"当有效时钟到来时,次态Q∗Q^{*}与输入、现态QQ的关系"。没有有效时钟时,任何触发器都保持不变。

还要注意:教材定义"SR 触发器"等是指受时钟控制的触发器;第 13 讲(上)的 SR 锁存器不受时钟控制,不属于这里的 SR 触发器。


二、描述逻辑功能的四件工具

工具 是什么 用途
特性表 列出所有"输入 + 现态 → 次态"的真值表 直观,查表画波形
特性方程 把特性表写成Q∗=f(输入,Q)Q^{*}=f(\text{输入},Q)的逻辑式 能参加运算,时序电路分析必用
状态转换图 两个圆圈 0、1,箭头表示转换,箭头旁写条件 一眼看出功能
驱动表(激励表) 反过来问:"要从QQ变到Q∗Q^{*}⁠,输入该给什么?" 时序电路设计时用(第 17 讲)

教材特别指出:特性表直观,但不能用来做逻辑运算;分析和设计时序电路时必须用特性方程。


三、SR 触发器

3.1 特性表

凡是在时钟作用下逻辑功能符合下表的,不论触发方式如何,都叫 SR 触发器:

SS RR QQ Q∗Q^{*} 功能
0 0 0 0 保持
0 0 1 1 保持
0 1 0 0 置 0
0 1 1 0 置 0
1 0 0 1 置 1
1 0 1 1 置 1
1 1 0 不定 禁止
1 1 1 不定 禁止

第 13 讲(上)的电平触发 SR 触发器、第 13 讲(中)的主从 SR 触发器都属于这一类。

3.2 推导特性方程(一步一步)

第 1 步:写出Q∗=1Q^{*}=1的行。 有SRQ=001SRQ=001⁠、100100⁠、101101三行,写成最小项之和:

Q∗=S‾ R‾Q+SR‾ Q‾+SR‾QQ^{*}=\overline{S}\,\overline{R}Q+S\overline{R}\,\overline{Q}+S\overline{R}Q

第 2 步:先用公式合并后两项。 SR‾ Q‾+SR‾Q=SR‾S\overline{R}\,\overline{Q}+S\overline{R}Q=S\overline{R}⁠,所以Q∗=SR‾+S‾ R‾QQ^{*}=S\overline{R}+\overline{S}\,\overline{R}Q⁠。

第 3 步:利用约束条件化简。 S=R=1S=R=1的两行(最小项m6m_6⁠、m7m_7⁠)不允许出现,可以当作无关项。画卡诺图(行是QQ⁠,列是SRSR⁠,按格雷码 00、01、11、10 排):

QQ \ SRSR 00 01 11 10
0 0 0 × 1
1 1 0 × 1
  • 圈 1:右边两列(⁠SR=11SR=11⁠、1010⁠)共 4 格,借用两个 ×,得到SS⁠;
  • 圈 2:Q=1Q=1行的SR=00SR=00⁠、1010两格(首尾相邻),得到R‾Q\overline{R}Q⁠。

于是得到 SR 触发器的特性方程:

{Q∗=S+R‾QSR=0 (约束条件)\begin{cases} Q^{*}=S+\overline{R}Q \\ SR=0\ \text{(约束条件)} \end{cases}

用 sympy 的 SOPform 把m6m_6⁠、m7m_7设为无关项化简,结果正是S+R‾QS+\overline{R}Q(验算脚本 13-flipflops.py)。

3.3 状态转换图与驱动表

状态转换图怎么画:触发器只有 0、1 两个状态,所以画两个圆圈;每个圆圈要引出两条箭头(一条指向自己、一条指向另一个状态),一共 4 条箭头,对应特性表里"现态 → 次态"的 4 种组合。每条箭头旁写上"让这种转换发生的输入条件"。条件从特性表"反着读"——

  • 0→00\to0⁠:S=0S=0即可(⁠RR任意);
  • 0→10\to1⁠:必须S=1S=1⁠、R=0R=0⁠;
  • 1→01\to0⁠:必须S=0S=0⁠、R=1R=1⁠;
  • 1→11\to1⁠:R=0R=0即可(⁠SS任意)。

驱动表(⁠×\times表示取 0 取 1 都行):

Q→Q∗Q\to Q^{*} SS RR
0 → 0 0 ×
0 → 1 1 0
1 → 0 0 1
1 → 1 × 0

四、JK 触发器

4.1 特性表

JK 触发器把 SR 的"禁止"那两行改成了"翻转":

JJ KK QQ Q∗Q^{*} 功能
0 0 0 0 保持
0 0 1 1 保持
0 1 0 0 置 0
0 1 1 0 置 0
1 0 0 1 置 1
1 0 1 1 置 1
1 1 0 1 翻转
1 1 1 0 翻转

口诀:"00 保持,01 置 0,10 置 1,11 翻转"(顺序JKJK⁠)。J 像 S(置 1),K 像 R(置 0)。

4.2 推导特性方程

Q∗=1Q^{*}=1的行:JKQ=001JKQ=001⁠、100100⁠、101101⁠、110110⁠。卡诺图(行QQ⁠,列JKJK⁠):

QQ \ JKJK 00 01 11 10
0 0 0 1 1
1 1 0 0 1
  • 圈 1:Q=0Q=0行的JK=11JK=11⁠、1010⁠,得JQ‾J\overline{Q}⁠;
  • 圈 2:Q=1Q=1行的JK=00JK=00⁠、1010⁠,得K‾Q\overline{K}Q⁠。

JK 触发器的特性方程:

Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q

记法:"J 管 0 变 1,K 管 1 变 0"——现态为 0 时,看JJ是否为 1 决定要不要变 1;现态为 1 时,看KK是否为 0 决定能不能留在 1。没有约束条件。

逐行验算一遍(拿到任何特性方程都建议这样做,30 秒就能避免背错):

JJ KK QQ JQ‾J\overline{Q} K‾Q\overline{K}Q Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q 特性表
0 0 0 0 0 0 保持 0 ✓
0 0 1 0 1 1 保持 1 ✓
0 1 0 0 0 0 置 0 ✓
0 1 1 0 0 0 置 0 ✓
1 0 0 1 0 1 置 1 ✓
1 0 1 0 1 1 置 1 ✓
1 1 0 1 0 1 翻转 ✓
1 1 1 0 0 0 翻转 ✓

为什么这个式子"长得像"特性表?可以这样理解:Q∗Q^{*}要等于 1,只有两种可能——原来是 0、并且JJ喊"变 1"(⁠JQ‾J\overline{Q}⁠);或者原来是 1、并且KK没有喊"变 0"(⁠K‾Q\overline{K}Q⁠)。把这两句话用"或"连起来,就是特性方程。SR 的方程S+R‾QS+\overline{R}Q也能这样读:"要么SS喊置 1,要么原来是 1 而RR没喊置 0"。

4.3 状态转换图与驱动表

  • 0→00\to0⁠:J=0J=0(⁠KK任意);0→10\to1⁠:J=1J=1(⁠KK任意);
  • 1→01\to0⁠:K=1K=1(⁠JJ任意);1→11\to1⁠:K=0K=0(⁠JJ任意)。
Q→Q∗Q\to Q^{*} JJ KK
0 → 0 0 ×
0 → 1 1 ×
1 → 0 × 1
1 → 1 × 0

JK 的驱动表里 × 最多,设计电路时最省门,这是 JK 触发器受欢迎的原因之一。

驱动表怎么用?举个小例子。 假如我们希望某个 JK 触发器在连续 3 个时钟里走出0→1→1→00\to1\to1\to0的轨迹,每一步该给什么输入?

第几步 要求的转换 JJ KK 说明
1 0 → 1 1 × 原来是 0,想变 1,只要J=1J=1⁠;KK给几都行(⁠K=0K=0是置 1,K=1K=1是翻转,结果都是 1)
2 1 → 1 × 0 原来是 1,想留在 1,只要K=0K=0⁠;JJ给几都行(保持或置 1)
3 1 → 0 × 1 原来是 1,想变 0,只要K=1K=1⁠;JJ给几都行(置 0 或翻转)

"×"不是"不知道",而是"给 0 给 1 都满足要求"。设计时可以把它当作卡诺图里的无关项,挑对化简最有利的值——第 17 讲设计同步时序电路时就是这么做的。


五、T 触发器和 T' 触发器

5.1 T 触发器

大白话:T 是 Toggle(拨动开关)。T=1T=1时每来一个时钟就翻一次,T=0T=0时保持。

TT QQ Q∗Q^{*}
0 0 0
0 1 1
1 0 1
1 1 0

特性方程:

Q∗=TQ‾+T‾Q=T⊕QQ^{*}=T\overline{Q}+\overline{T}Q=T\oplus Q

也就是"TT和QQ异或"。观察 JK 的特性表,令J=K=TJ=K=T正好得到这张表,所以把 JK 触发器的 J、K 连在一起当 T 端就是 T 触发器。正因为如此,集成电路产品中通常没有专门的 T 触发器。

驱动表:Q→Q∗Q\to Q^{*}不变则T=0T=0⁠,改变则T=1T=1⁠,即T=Q⊕Q∗T=Q\oplus Q^{*}⁠。

5.2 T' 触发器

把 T 触发器的 T 端固定接高电平(⁠T≡1T\equiv1⁠),就成了 T' 触发器(读作"T 撇"):

Q∗=Q‾Q^{*}=\overline{Q}

每来一个时钟必然翻转一次。它的输出频率是时钟的一半,所以常用来做二分频和计数器的每一位(第 16 讲会用到)。


六、D 触发器

Q∗=DQ^{*}=D
DD QQ Q∗Q^{*}
0 0 0
0 1 0
1 0 1
1 1 1

大白话:照相机,时钟来时把DD拍下来存着。D 锁存器、CMOS 边沿 D 触发器在逻辑功能上都属于 D 触发器。D 触发器的驱动表最简单:要让次态是几,DD就给几(⁠D=Q∗D=Q^{*}⁠)。它在 CMOS 集成电路里最常见,2026 回忆题第 7 题就是用 D 触发器构成的时序电路。

四种触发器的状态转换图 SR 触发器 0 1 S=1,R=0 S=0,R=1 S=0 R=0 JK 触发器 0 1 J=1 K=1 J=0 K=0 T 触发器 0 1 T=1 T=1 T=0 T=0 D 触发器 0 1 D=1 D=0 D=0 D=1

图 1:SR、JK、T、D 四种触发器的状态转换图(箭头旁为转换条件,未写出的输入取任意值)

6.1 五种触发器怎么选(一句话理解各自的"性格")

  • D:最老实,"给什么存什么"。存数据、做寄存器和移位寄存器(第 15 讲)首选它;CMOS 集成电路里最常见。
  • JK:功能最全,保持、置 0、置 1、翻转样样都会,驱动表 × 多,手工设计时常能省门;还能直接当 SR、T 用。
  • T / T':专管"翻不翻"。做计数器、分频器最顺手,但一般没有专门的芯片,用 JK(⁠J=K=TJ=K=T⁠)或 D(⁠D=T⊕QD=T\oplus Q⁠)改接得到。
  • SR:历史最久、有约束,现在多作为内部结构(锁存器、主从结构)出现,单独使用较少。

考试里最常见的是 D 和 JK:分析题给你电路,你要能立刻写出它们的特性方程;设计题让你选触发器,D 最省事、JK 最省门。


七、例题 1:下降沿 JK 触发器画波形

题:下降沿触发的 JK 触发器(边沿触发),初态Q=0Q=0⁠,CLK、JJ⁠、KK波形如图 2 前三行,画出QQ⁠。

下降沿JK触发器例题波形 ①置1 ②保持 ③翻转 ④翻转 CLK J K Q 只看每个下降沿(虚线)前一瞬间的 J、K;其余时间 J、K 怎么变都不管

图 2:下降沿 JK 触发器例题波形,虚线为下降沿(扫描线动画循环播放)

解:这是边沿触发器,所以只看每个下降沿到达前一瞬间的JJ⁠、KK⁠,用特性方程Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q(或口诀)计算:

下降沿 现态QQ JJ KK 动作 Q∗Q^{*}
① 0 1 0 置 1 1
② 1 0 0 保持 1
③ 1 1 1 翻转 0
④ 0 1 1 翻转 1

答:QQ在①~④依次变为 1、1、0、1。图中第 1 个 CLK 高电平期间KK有个短脉冲,第 2 个低电平期间JJ变成了 1——对边沿触发器都没有影响。(Python 逐时隙模拟一致。)

对比上一讲的主从 JK:如果这是脉冲触发的 JK,就必须考虑高电平期间的全部变化。所以做题第一步永远是看清触发方式,第二步才是用逻辑功能计算。

7.1 例题 1 补充:T 触发器的计数作用

题:上升沿 T 触发器初态Q=0Q=0⁠,6 个上升沿到达时TT依次为 1、1、0、1、0、0,写出QQ的序列。若TT一直为 1 呢?

解:Q∗=T⊕QQ^{*}=T\oplus Q⁠,T=1T=1翻转、T=0T=0保持:

上升沿 1 2 3 4 5 6
TT 1 1 0 1 0 0
Q∗Q^{*} 1 0 0 1 1 1

若TT恒为 1(即 T' 触发器),QQ依次为 1、0、1、0、1、0:每两个时钟QQ完成一个周期,频率减半。把几个这样的触发器串起来,就能数时钟个数——这正是第 16 讲计数器的基本思路。(两种情况都用 Python 核对。)


八、触发器之间的相互转换

8.1 为什么要转换

手头只有 JK 触发器,题目却要 D 触发器;或者芯片里只有 D 触发器,要做一个 T 触发器——这时就要"改接":在已有触发器的输入端加一点门电路,让整体的特性方程变成目标触发器的方程。

8.2 通用方法:特性方程对比法

  1. 写出目标触发器的特性方程;
  2. 把它变形,凑成已有触发器特性方程的形式(比如 JK 的JQ‾+K‾QJ\overline{Q}+\overline{K}Q形式);
  3. 对比系数,得到已有触发器每个输入端该接什么;
  4. 画出电路,最好再用特性表逐行验证。

8.3 用 JK 触发器构成其他触发器

① JK → D:目标Q∗=DQ^{*}=D⁠。用"配项"把它凑成 JK 的样子:

Q∗=D=D(Q‾+Q)=DQ‾+DQQ^{*}=D=D(\overline{Q}+Q)=D\overline{Q}+DQ

与Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q对比:J=DJ=D⁠,K‾=D\overline{K}=D⁠,即K=D‾K=\overline{D}⁠。接法:DD直接接 J,经反相器接 K。

② JK → T:目标Q∗=TQ‾+T‾QQ^{*}=T\overline{Q}+\overline{T}Q⁠,直接对比得J=K=TJ=K=T⁠。

③ JK → T':目标Q∗=Q‾=1⋅Q‾+1‾⋅QQ^{*}=\overline{Q}=1\cdot\overline{Q}+\overline{1}\cdot Q⁠,得J=K=1J=K=1⁠。

④ JK → SR:目标Q∗=S+R‾QQ^{*}=S+\overline{R}Q⁠。先把SS配项:S=SQ‾+SQS=S\overline{Q}+SQ⁠,于是

Q∗=SQ‾+(S+R‾)QQ^{*}=S\overline{Q}+(S+\overline{R})Q

由约束SR=0SR=0⁠:S=1S=1时必有R=0R=0⁠,所以S+R‾=R‾S+\overline{R}=\overline{R}⁠。得Q∗=SQ‾+R‾QQ^{*}=S\overline{Q}+\overline{R}Q⁠,对比得J=SJ=S⁠、K=RK=R——JK 触发器直接就能当 SR 触发器用。

8.4 用 D 触发器构成其他触发器

D 触发器的方程是Q∗=DQ^{*}=D⁠,所以目标方程右边是什么,就让DD等于什么:

  • D → JK:D=JQ‾+K‾QD=J\overline{Q}+\overline{K}Q(需要几个门把QQ反馈回来);
  • D → T:D=T⊕QD=T\oplus Q(一个异或门);
  • D → T':D=Q‾D=\overline{Q}(把Q‾\overline{Q}接回DD⁠,就是第 13 讲(中)说的二分频)。

8.5 其他组合

  • SR → JK:目标Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q⁠,已有Q∗=S+R‾QQ^{*}=S+\overline{R}Q⁠。取S=JQ‾S=J\overline{Q}⁠、R=KQR=KQ⁠:代入得Q∗=JQ‾+KQ‾ Q=JQ‾+(K‾+Q‾)Q=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{KQ}\,Q=J\overline{Q}+(\overline{K}+\overline{Q})Q=J\overline{Q}+\overline{K}Q ✓,而且SR=JQ‾⋅KQ=0SR=J\overline{Q}\cdot KQ=0⁠,约束自动满足。——这其实就是第 13 讲(中)主从 JK 的构造思路。
  • SR → D:S=DS=D⁠、R=D‾R=\overline{D}(第 13 讲(上)的 D 锁存器)。
  • T → D:Q∗=T⊕QQ^{*}=T\oplus Q要等于DD⁠,则T=D⊕QT=D\oplus Q(因为(D⊕Q)⊕Q=D(D\oplus Q)\oplus Q=D⁠)。
触发器逻辑功能转换的三种接法 (a) JK 当 D 用 JKC1Q D J=D,K=D'Q*=DQ'+DQ=D (b) D 当 T 用 DC1Q =1 T D=T⊕QQ*=T⊕Q (c) JK 当 T' 用 JKC1Q 1 J=K=1Q*=Q'

图 3:三种常用转换接法——JK 当 D 用、D 当 T 用、JK 当 T' 用

8.6 转换关系速查表

已有 \ 目标 D T T' JK SR
JK J=D, K=D‾J=D,\ K=\overline{D} J=K=TJ=K=T J=K=1J=K=1 — J=S, K=RJ=S,\ K=R
D — D=T⊕QD=T\oplus Q D=Q‾D=\overline{Q} D=JQ‾+K‾QD=J\overline{Q}+\overline{K}Q D=S+R‾QD=S+\overline{R}Q
SR S=D, R=D‾S=D,\ R=\overline{D} S=TQ‾, R=TQS=T\overline{Q},\ R=TQ S=Q‾, R=QS=\overline{Q},\ R=Q S=JQ‾, R=KQS=J\overline{Q},\ R=KQ —
T T=D⊕QT=D\oplus Q — T=1T=1 T=JQ‾+KQT=J\overline{Q}+KQ —

表中每一格都用 Python 对所有输入组合和两个现态做了穷举核对(SR 作为"已有"时同时核对了SR=0SR=0⁠)。

为什么 JK 能代替 SR,SR 却不能代替 JK?因为 JK 的特性表包含了 SR 的全部合法行(SR 不用的 11 输入,JK 定义为翻转,不影响 SR 的用法);反过来 SR 的 11 输入是禁止的,实现不了 JK 的"翻转"——除非像上面那样外加门电路反馈QQ⁠。

8.7 例题 2:判断接法的功能

题:JK 触发器接成J=1J=1⁠、K=QK=Q⁠,问它实现什么功能?

解:代入特性方程:

Q∗=JQ‾+K‾Q=1⋅Q‾+Q‾⋅Q=Q‾Q^{*}=J\overline{Q}+\overline{K}Q=1\cdot\overline{Q}+\overline{Q}\cdot Q=\overline{Q}

每来一个时钟翻转一次,是 T' 触发器。验证:Q=0Q=0时J=1,K=0J=1,K=0⁠,置 1;Q=1Q=1时J=1,K=1J=1,K=1⁠,翻转为 0。✓

8.8 接完以后怎么自查

转换题写出接法后,最稳妥的检查方法是列表逐行代入。以"JK 当 D 用(⁠J=DJ=D⁠、K=D‾K=\overline{D}⁠)"为例:

DD QQ JJ KK JK 动作 Q∗Q^{*} 目标Q∗=DQ^{*}=D
0 0 0 1 置 0 0 0 ✓
0 1 0 1 置 0 0 0 ✓
1 0 1 0 置 1 1 1 ✓
1 1 1 0 置 1 1 1 ✓

四行全对,说明接法正确。考试时间紧可以只在草稿纸上过一遍,但这一步能抓住绝大多数"凑项凑错"的问题。

8.9 易错点 ⚠️

  • ⚠️ 特性方程中的QQ是现态,Q∗Q^{*}是次态,不能混;写成Qn+1=JQn‾+K‾QnQ^{n+1}=J\overline{Q^{n}}+\overline{K}Q^{n}也是同一个意思。
  • ⚠️ SR 的特性方程必须带约束条件 SR=0SR=0⁠,否则化简结果S+R‾QS+\overline{R}Q在S=R=1S=R=1时会给出"1"的假象。
  • ⚠️ T 的方程是T⊕QT\oplus Q⁠,不是T⊙QT\odot Q⁠;T=1T=1翻转。
  • ⚠️ 转换时不能只对比一部分:Q∗=DQ^{*}=D必须先配项成DQ‾+DQD\overline{Q}+DQ⁠,再与JQ‾+K‾QJ\overline{Q}+\overline{K}Q逐项对比。

九、特性方程的第一次实战:把"接线"代进方程

9.1 大白话

实际电路里,触发器的输入端往往不是接外部信号,而是接到别的触发器的输出上(或经过几个门)。这时只要把"输入端接的是什么"代进特性方程,就能算出每个触发器下一拍会变成什么。这就是第 14 讲"时序电路分析"的核心一步,这里先热个身。

9.2 例题 3

题:两个下降沿 JK 触发器FF1FF_1⁠、FF2FF_2共用一个时钟,接法为J1=K1=1J_1=K_1=1⁠,J2=K2=Q1J_2=K_2=Q_1⁠。设初态Q2Q1=00Q_2Q_1=00⁠,求连续 4 个时钟后的状态变化。

解:

第 1 步:写出每个触发器输入端的式子(下一讲叫"驱动方程"):J1=K1=1J_1=K_1=1⁠,J2=K2=Q1J_2=K_2=Q_1⁠。

第 2 步:代入 JK 特性方程Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q(下一讲叫"状态方程"):

Q1∗=1⋅Q1‾+1‾⋅Q1=Q1‾Q_1^{*}=1\cdot\overline{Q_1}+\overline{1}\cdot Q_1=\overline{Q_1} Q2∗=Q1Q2‾+Q1‾Q2=Q1⊕Q2Q_2^{*}=Q_1\overline{Q_2}+\overline{Q_1}Q_2=Q_1\oplus Q_2

第 3 步:从初态开始一拍一拍算(注意每一拍都用现态代入,算完再整体更新):

时钟 现态Q2Q1Q_2Q_1 Q1∗=Q1‾Q_1^{*}=\overline{Q_1} Q2∗=Q1⊕Q2Q_2^{*}=Q_1\oplus Q_2 次态Q2∗Q1∗Q_2^{*}Q_1^{*}
1 00 1 0 01
2 01 0 1 10
3 10 1 1 11
4 11 0 0 00

状态按 00→01→10→11→00 循环,正好是二进制数 0、1、2、3 递增——这是一个两位二进制加法计数器(Python 逐拍模拟一致)。

关键提醒:同一个时钟沿到来时,所有触发器同时按各自的现态计算次态。不能先算出Q1∗Q_1^{*}再拿新的Q1Q_1去算Q2∗Q_2^{*}⁠。这个"同时更新"的规矩,下一讲会反复用到。


速记卡

类型 特性方程 口诀 / 功能 驱动表要点
SR Q∗=S+R‾QQ^{*}=S+\overline{R}Q⁠,SR=0SR=0 00 保持,01 置 0,10 置 1,11 禁止 0→1:S=1,R=0;1→0:S=0,R=1
JK Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q 00 保持,01 置 0,10 置 1,11 翻转 0→0:J=0;0→1:J=1;1→0:K=1;1→1:K=0
D Q∗=DQ^{*}=D 照抄 D D=Q∗D=Q^{*}
T Q∗=T⊕QQ^{*}=T\oplus Q T=1 翻转,T=0 保持 T=Q⊕Q∗T=Q\oplus Q^{*}
T' Q∗=Q‾Q^{*}=\overline{Q} 每个时钟翻转(二分频) 无输入
转换 接法
JK→D / T / T' / SR J=D,K=D‾J=D,K=\overline{D} / J=K=TJ=K=T / J=K=1J=K=1 / J=S,K=RJ=S,K=R
D→T / T' / JK D=T⊕QD=T\oplus Q / D=Q‾D=\overline{Q} / D=JQ‾+K‾QD=J\overline{Q}+\overline{K}Q
通用方法 写目标方程 → 凑成已有方程的形式 → 对比系数 → 验证

自测练习

1. 默写 SR、JK、D、T、T' 五种触发器的特性方程。

答案与提示

SR:Q∗=S+R‾QQ^{*}=S+\overline{R}Q⁠,SR=0SR=0⁠;JK:Q∗=JQ‾+K‾QQ^{*}=J\overline{Q}+\overline{K}Q⁠;D:Q∗=DQ^{*}=D⁠;T:Q∗=TQ‾+T‾Q=T⊕QQ^{*}=T\overline{Q}+\overline{T}Q=T\oplus Q⁠;T':Q∗=Q‾Q^{*}=\overline{Q}⁠。

2. 边沿 JK 触发器初态Q=0Q=0⁠,连续 4 个有效时钟沿到达时JKJK依次为 11、10、00、01,写出每次之后的QQ⁠。

答案与提示

11 翻转 → 1;10 置 1 → 1;00 保持 → 1;01 置 0 → 0。即 1、1、1、0(Python 核对)。

3. 上升沿 D 触发器的输入接成D=A⊕QD=A\oplus Q⁠,初态Q=0Q=0⁠,6 个上升沿时AA依次为 0、1、1、1、0、1,写出QQ的序列,并说明这个电路相当于什么触发器。

答案与提示

Q∗=A⊕QQ^{*}=A\oplus Q⁠,相当于以AA为输入的 T 触发器。QQ依次为 0、1、0、1、1、0(⁠A=1A=1翻转,A=0A=0保持;Python 核对)。

4. JK 触发器接成J=Q‾J=\overline{Q}⁠、K=1K=1⁠,它实现什么功能?

答案与提示

Q∗=Q‾⋅Q‾+1‾⋅Q=Q‾Q^{*}=\overline{Q}\cdot\overline{Q}+\overline{1}\cdot Q=\overline{Q}⁠,是 T' 触发器(每个时钟翻转)。

5. 用一个 D 触发器和若干门实现 T 触发器,写出DD的表达式并说明用什么门。

答案与提示

令Q∗=D=T⊕QQ^{*}=D=T\oplus Q⁠,用一个异或门,输入接TT和QQ⁠,输出接DD⁠。逐行验证:T=0T=0时D=QD=Q保持,T=1T=1时D=Q‾D=\overline{Q}翻转。

6. 用 JK 触发器实现 D 触发器,写出推导过程。

答案与提示

Q∗=D=DQ‾+DQQ^{*}=D=D\overline{Q}+DQ⁠,与JQ‾+K‾QJ\overline{Q}+\overline{K}Q对比得J=DJ=D⁠、K=D‾K=\overline{D}⁠:D 接 J,经非门接 K。

7. 用 SR 触发器加门电路实现 JK 触发器,SS⁠、RR应怎样接?说明为什么约束条件自动满足。

答案与提示

S=JQ‾S=J\overline{Q}⁠、R=KQR=KQ⁠。代入S+R‾QS+\overline{R}Q得JQ‾+K‾QJ\overline{Q}+\overline{K}Q⁠。因为SR=JK QQ‾=0SR=JK\,Q\overline{Q}=0⁠,约束条件恒满足。

8.(华师简答题风格)为什么从逻辑功能上看可以用 JK 触发器代替 SR 触发器,而不能用 SR 触发器直接代替 JK 触发器?

答案与提示

JK 触发器在JK=00JK=00⁠、0101⁠、1010时的功能与 SR 触发器在SR=00SR=00⁠、0101⁠、1010时完全相同,而 SR 触发器不允许使用SR=11SR=11⁠,所以 JK 可以覆盖 SR 的全部用法(⁠J=SJ=S⁠、K=RK=R⁠)。JK 在JK=11JK=11时要求翻转,SR 触发器在SR=11SR=11时是禁止输入、次态不定,无法直接实现这一功能。


下一讲预告

第 14 讲:拿着本讲的特性方程,学习时序逻辑电路的完整分析步骤——驱动方程、状态方程、状态转换表、状态图、时序图、功能和自启动判断,并做两道与 2026 回忆题第 7 题同类型的 D 触发器电路分析。

👉 点击进入下一讲:第14讲|时序逻辑电路的分析方法

评论

还没有评论。 来写第一条。

留下一条评论

选填,不会公开

纯文本,链接会自动识别。