⚡ 数字电子技术基础 · 两周通关合集
FOR 大一新生 · 零基础可读 · 单页合集

数字电子技术基础
两周通关大合集

你只学过邱关源《电路》的前三章(电路模型与定律、电阻电路等效变换、电阻电路一般分析)——这已经足够了。这份教程会把每一步都踩在你已有的地基上,凡是需要"第 4 章以后"或"模电"的知识,都会用醒目的 超纲·必补 标出来,并现场补讲。

15 章正文
14 天节奏
60+ 例题与拆解
90+ 自测题(带解析)
1 份模拟卷
📌 这份教程怎么用(30 秒读完)

① 先看 三种标记,学会区分"已学 / 超纲必补 / 超纲拓展";② 按 14 天计划走,每天 90–120 分钟;③ 每章末尾的自测必须做完再看答案;④ 第 15 章是速查表和模拟卷,考前只翻那一章。

READING GUIDE三种标记怎么读

这门课真正的难点不是逻辑本身,而是它默认你会"半导体"和"电容充放电"。所以本教程用三色标签把知识分层,你永远不会在毫无准备时被超纲内容打懵。

已学·可直接用 绿色:来自《电路》前三章

KCL/KVL、参考方向、电功率、电阻串并联与分压分流、理想电压源/电流源、受控源、结点电压法、网孔电流法、Y–Δ 变换、电源等效变换。看到绿色标记,说明这里只是"换个马甲"考你已会的东西。

超纲·必补 橙色:你没学过,但不补就听不懂

主要是四类:① 电容、电感与 RC 一阶暂态(《电路》第 6、7 章);② PN 结、二极管、三极管、MOS 管(模拟电子技术);③ 戴维南定理与叠加定理(《电路》第 4 章);④ 逻辑代数的运算规则(数学新课,但和集合论很像)。遇到橙色块,请务必读完再往下走,它们是本课程的地基。

超纲·拓展 紫色:不考,但懂了更通透

Q–M 列表化简法、触发器内部时序参数细节、Verilog/FPGA、存储器容量扩展的工程细节、双积分 ADC 的积分推导等。第一遍可以跳过,第二遍或做课设时再回来。

高频考点 红色:考试必出,必须会

标记红色的段落是历年卷面出现率最高的题型:卡诺图化简、用 74LS138/151 实现逻辑函数、触发器波形画法、同步时序分析、任意进制计数器、555 三公式。这些地方请务必动笔,不要只看。

✍️ 符号约定(先统一,省得后面看晕)
  • A' 表示 A 的非(等价于 A、¬A、NOT A);A·B 简写 AB;A+B 是逻辑或。
  • Q* 或 Qn+1 表示触发器的次态,Q 或 Qn 表示现态。
  • 数字下标 2/8/16 表示进制,如 (1011)2;0x 前缀表示十六进制。
  • 低电平有效的信号名后面加一撇或上划线,如 Y0'、R'D(复位端)。
  • 电压:VCC(TTL 电源)、VDD(CMOS 电源)、VOH/VOL(输出高/低电平)。

YOUR BASE你的起点盘点:电路前三章能换来什么

别小看这三章。数字电路里 80% 的"器件内部电路"分析,考的正是结点电压法 + KCL + 分压。下面这张表就是你已有的武器清单。

你已经会的(电路前三章)在数字电路里的用武之地
KCL / KVL分析二极管门、TTL 与非门内部各管的工作点;解释 CMOS 门静态电流为什么几乎为 0
电压、电流参考方向判断门电路是"灌电流"还是"拉电流",算扇出时不会把方向搞反
电功率 p = ui计算门电路功耗、功耗延迟积;判断器件是吸收还是输出功率
电阻串联分压 / 并联分流555 内部三个 5 kΩ 分压出 1/3 VCC 与 2/3 VCC;权电阻 DAC;上拉电阻设计
理想电压源 / 电流源把逻辑门输出等效成"理想源 + 内阻",理解为什么带不动太多负载
受控源(VCVS/VCCS/CCVS/CCCS)三极管、MOS 管的本质就是受控源;"开关"只是受控源的极端工作点
结点电压法快速求门电路内部节点电压,判断某管饱和还是截止
网孔 / 回路电流法多电源门电路的电流分配(用得少,但 TTL 输出级分析用得上)
电源等效变换、Y–Δ把复杂偏置网络化简成一个等效源,套用你熟的公式

⚠️ 你还没学、但这门课默认你会的东西

下面四项是"挂科高发区"。本教程会在用到它们的第一时间现场补讲,你不需要提前自学,但心里要有数:

缺口出处在本课程哪里会突然出现
电容与 RC 一阶暂态《电路》第 6、7 章555 定时器的 tw=1.1RC、多谐振荡周期、门电路传输延迟、消抖电路 —— 不补这个,第 12 章完全看不懂
PN 结 / 二极管 / 三极管 / MOS 管模拟电子技术第 4、5 章整个门电路章节;TTL 与 CMOS 的电气特性 —— 这是最大的一块超纲
戴维南定理、叠加定理《电路》第 4 章求门电路带负载后的实际输出电平、上拉电阻取值范围 —— 本教程只给结论并标注
逻辑代数运算规则本课程第 2 章不算超纲,但和初中代数"长得像、规则不同",极易凭直觉写错(如 A+A=?)
💡 一句话定心丸

数字电路是"用模拟电路搭出来的逻辑"。你现在的水平:逻辑部分完全能学(只需要初中数学 + 新符号);器件部分需要补一点半导体常识。所以本教程把这两条线分开走——先学"纯逻辑"(第 1–3 章、第 6–11 章),再回来补"器件物理"(第 4–5 章)。这样你不会在第 4 章卡住就放弃整门课。

ROADMAP两周学习地图:四个阶段

14 天不是平均用力。第 1 周打地基 + 拿下组合逻辑(占分 35%),第 2 周主攻时序(占分 40%)+ 收尾(占分 25%)。

阶段一 · 数学地基(第 1–3 天)

数制与码制 → 逻辑代数公式与规则 → 卡诺图化简。这三天决定你后面所有题的"化简速度"。目标:任意 4 变量函数 60 秒内化简完。

阶段二 · 器件与组合逻辑(第 4–7 天)

半导体开关(超纲补)→ CMOS/TTL 门电路参数 → 组合逻辑分析与设计 → 常用 MSI 器件(138/151/283/148/85)。目标:能用 138 和 151 实现任意函数。

阶段三 · 时序世界(第 8–12 天)

触发器 → 时序分析 → 时序设计 → 计数器与寄存器。这是全课程最难也最爱考的部分,务必留足 5 天。

阶段四 · 收口(第 13–14 天)

555 与脉冲电路(含 RC 超纲补)→ 存储器与 AD/DA(选学)→ 速查表 + 模拟卷 + 错题回炉。

🔗 知识依赖关系(看不懂某章时,回看它的上游)

数制 → 逻辑代数 → 卡诺图 → 组合逻辑 → 触发器 → 时序逻辑 → 计数器/寄存器
旁支:半导体器件 → 门电路(只影响"器件题",不影响"逻辑题");RC 暂态 → 555/脉冲。

CONTENTS章节目录 · 点击卡片直接跳转

15 章 + 附录。每张卡片标注了建议用时、难度和是否含超纲内容,方便你按状态挑着学。

CHAPTER 01

数制与码制

二进制/八进制/十六进制互转、补码、8421BCD、格雷码。所有计算的起点。

Day 1★☆☆40 min
CHAPTER 02

逻辑代数基础

三种基本运算、20 条公式、三大规则、最小项与标准式。逻辑题的"乘法口诀"。

Day 2★★☆80 min
CHAPTER 03

逻辑函数化简与卡诺图

公式法 + 卡诺图法 + 无关项。考场最省时间的一章,必须练到条件反射。

Day 3★★☆90 min
高频
CHAPTER 04

门电路(上):半导体开关

PN 结、二极管门、三极管饱和/截止、MOS 管开关模型。全套超纲补讲。

Day 4★★★100 min
超纲
CHAPTER 05

门电路(下):CMOS 与 TTL

CMOS 反相器/与非门、TTL 与非门、电压传输特性、噪声容限、扇出、三态与 OC 门。

Day 5★★★100 min
超纲
CHAPTER 06

组合逻辑:分析与设计

五步分析法、四步设计法、与非-与非实现、竞争冒险。设计题的标准模板。

Day 6★★☆100 min
高频
CHAPTER 07

常用组合逻辑器件

74LS138 译码器、74LS151 数据选择器、74LS283 加法器、74LS148 优先编码器、74LS85 比较器。

Day 7★★★110 min
高频
CHAPTER 08

触发器

SR 锁存器 → 门控 → 主从 → 边沿触发;D/JK/T 特性方程与波形画法。

Day 8–9★★★2×80 min
高频
CHAPTER 09

时序逻辑电路分析

驱动方程→状态方程→状态表→状态图→时序图,五步一条龙,含完整例题。

Day 10★★★90 min
高频
CHAPTER 10

时序逻辑电路设计

状态图→编码→状态表→驱动方程(JK/D)→自启动检查。全课程最难的一道大题。

Day 11★★★★110 min
高频
CHAPTER 11

计数器与寄存器

74LS161/160/290、任意进制(反馈清零 vs 反馈置数)、74LS194、环形与扭环计数器。

Day 12★★★100 min
高频
CHAPTER 12

555 定时器与脉冲电路

RC 暂态补讲、555 内部结构、施密特触发器、单稳态、多谐振荡器三大公式。

Day 13★★☆100 min
超纲+高频
CHAPTER 13

存储器与可编程逻辑

ROM/RAM 结构与容量计算、存储器扩展、用 ROM 实现组合逻辑、PLD/FPGA 速览。

Day 13★★☆60 min
选学
CHAPTER 14

数模与模数转换

权电阻/R-2R DAC、采样定理、量化误差、并行/逐次逼近/双积分 ADC。

Day 14★★☆70 min
选学
CHAPTER 15

总复习 · 速查 · 模拟卷

一页纸公式表、芯片引脚速查、30 道模拟卷(含答案)、错题回炉清单。

Day 14★★☆90 min
必看
APPENDIX

附录:符号 · FAQ · 资源

逻辑符号对照(国标/IEC)、常见疑问 20 问、进阶学习路线。

随时查工具页

14-DAY PLAN14 天打卡计划(每天 90–120 分钟)

勾选左边的方框可以记录进度,会自动保存在你的浏览器里(刷新不丢)。学完一天就勾一天,看着进度条涨最提神。

建议时段:看视频/看书 30 min → 读本教程 30 min → 动笔做题 40 min → 合上总结 10 min
天主题(点击跳章)当天任务(做完才算完成)完成
D1数制与码制完成 3 组进制互转各 5 题;写出 −25 的 8 位补码;默写 8421BCD 与格雷码前 8 个
D2逻辑代数基础默写 10 条常用公式;用真值表验证德摩根;把 3 个表达式化成最小项之和
D3卡诺图化简做 6 道 4 变量卡诺图(含 2 道无关项);限时每题 90 秒
D4半导体开关画二极管与门/或门并标电平;算一次三极管饱和临界 RB;说清 NMOS/PMOS 何时导通
D5CMOS 与 TTL背下 4 个电平参数;算 2 组噪声容限与扇出;解释 CMOS 静态功耗为何≈0
D6组合逻辑分析/设计独立完成 1 道分析题 + 1 道"三人表决器"设计题(写到与非门级)
D7常用组合器件用 138 实现 1 个三变量函数;用 151 实现 1 个四变量函数;画全加器进位链
D8触发器(一)画 SR 锁存器两个门电路;说清"空翻"成因;写出 SR/D 特性方程
D9触发器(二)默写 D/JK/T 特性方程;画 6 个 CP 周期的主从 JK 波形;区分电平/边沿符号
D10时序电路分析完整做 1 道同步时序分析(五步全写);补画时序图
D11时序电路设计设计 1 个 3 状态序列检测器(用 JK);检查自启动
D12计数器与寄存器用 161 设计 mod 6 与 mod 12 各一;画 194 环形计数器状态表
D13555 + 存储器背 3 个 555 公式;算 R=10k,C=10μF 的单稳态时间;算 1 个存储器容量
D14AD/DA + 模拟卷闭卷做模拟卷;对答案;把错的题号抄进错题清单并回看对应章
⏰ 如果时间被压缩(只剩 7 天)

优先级排序:第 3 章(卡诺图)→ 第 6 章(组合设计)→ 第 8 章(触发器)→ 第 9 章(时序分析)→ 第 11 章(计数器)→ 第 12 章(555)。第 4、5、13、14 章可以只看"结论与公式",放弃内部电路推导。第 10 章(时序设计)若时间紧,掌握"状态图→状态表"这一步即可拿步骤分。

HOW TO STUDY高效学习法与 5 个致命误区

✅ 三遍读书法(每章都这么干)
  1. 第一遍(10 分钟):只看本章的"学完你能做到"和标题,知道要打哪个怪。
  2. 第二遍(40 分钟):逐段读,遇到例题先盖住答案自己算,算完再对照。橙色超纲框必须读完。
  3. 第三遍(15 分钟):合上页面,用白纸默写本章公式/步骤,做自测题,错题标红。
❌ 误区 1:把逻辑代数当普通代数算

A+A=2A?错,是 A。这里没有系数,只有 0 和 1。A·A=A、A+A'=1、A·A'=0。把这三条刻进脑子,能救你 20 分。

❌ 误区 2:只看不画

时序题(第 8–11 章)必须动笔画波形和状态图。看懂别人的状态图和能自己画出来,中间差着一整个考试。

❌ 误区 3:跳过卡诺图直接硬推公式

4 变量以上,公式法极易漏项。卡诺图是"图形化的穷举",慢一点但几乎不会错。第 3 章务必练熟。

❌ 误区 4:分不清"电平有效"和"逻辑值"

74LS138 的输出 Y0' 是"低电平有效",意思是被选中时输出 0V。很多题就错在把"选中 = 输出 1"当成默认。看到撇号先问一句:低有效还是高有效?

❌ 误区 5:器件题死磕内部电路

第 4、5 章内部电路推导是"理解用"的,考试更爱考参数计算(噪声容限、扇出、功耗)和结论(CMOS 不能悬空输入、TTL 不能线与、OC 门要上拉)。抓大放小。

CHAPTER 01 / DAY 1

数制与码制:给"高低电平"起名字

建议 40 分钟难度 ★☆☆考点:进制互转、补码、BCD、格雷码

数字电路只认两种状态:高电平和低电平。我们把它记成 1 和 0。于是所有信息——数字、字母、汉字、一张照片——最后都变成一串 0 和 1。这一章就是学"怎么把人类的信息翻译成 0/1,再翻译回来"。

已学·可直接用先建立"数字量 vs 模拟量"的直觉

你学过的电阻、电压源都是模拟量:电压可以连续地取 0~5 V 之间任意值。而数字电路里我们故意只取两档:0~0.8 V 算"低",2.4~5 V 算"高",中间地带是"禁区"。这就像你家里的电灯开关——要么开要么关,不像调光灯那样连续可调。故意浪费掉中间状态,换来的是极强的抗干扰能力:哪怕电压因为干扰漂了一点,只要还在"高"的范围内,读出来还是 1,信息不会错。

1.1 常用数制:都是"位权"游戏

任何进制都只有一个秘密:每一位的"权重"是基数的整数次幂。十进制你熟,是因为你有十根手指;计算机用二进制,是因为电路只有"通/断"两态。

(N)R = Σ ai × Ri R 是基数,ai 是该位数字(0 ≤ ai < R),i 是位序号(小数点左边从 0 开始,右边为负)
数制基数可用数字例子展开成十进制
十进制 DEC100–9(395)103×102+9×101+5×100
二进制 BIN20,1(1011)21×8+0×4+1×2+1×1 = 11
八进制 OCT80–7(27)82×8+7 = 23
十六进制 HEX160–9,A–F(2F)162×16+15 = 47
🍜 生动例子:为什么程序员爱用十六进制?

假设你要记一串 32 位的二进制:1011 1101 0010 1110 1010 0101 0011 1100。眼睛会花。
但把它每 4 位一组读成十六进制:B D 2 E A 5 3 C —— 8 个字符搞定。
原因很简单:24 = 16,1 位十六进制刚好等于 4 位二进制,不多不少。同理 1 位八进制 = 3 位二进制。所以十六进制是二进制的"压缩包",不是另一种数学。

1.2 进制互转:四条路线

① 任意进制 → 十进制:按位权展开相加

例:(1101.101)2 = 8+4+0+1 + 0.5+0+0.125 = (13.625)10。

② 十进制 → 任意进制:整数"除基取余,倒着读";小数"乘基取整,顺着读"

✏️ 例 1-1:把 (43)10 转成二进制

43 ÷ 2 = 21 余 1(最低位)
21 ÷ 2 = 10 余 1
10 ÷ 2 = 5 余 0
5 ÷ 2 = 2 余 1
2 ÷ 2 = 1 余 0
1 ÷ 2 = 0 余 1(最高位)
从下往上读:(43)10 = (101011)2。验算:32+8+2+1 = 43 ✔

✏️ 例 1-2:把 (0.625)10 转成二进制

0.625×2 = 1.25 → 取整 1,余 0.25
0.25×2 = 0.5 → 取整 0,余 0.5
0.5×2 = 1.0 → 取整 1,余 0
从上往下读:0.101。验算:0.5+0.125 = 0.625 ✔
注意:小数不一定能除尽(如 0.1),此时按精度要求取够位数即可。

③ 二进制 ↔ 八进制 / 十六进制:分组法(最快)

  • 二 → 八:以小数点为界,向左向右每 3 位一组,不足补 0。
  • 二 → 十六:每 4 位一组。反过来就是一位拆成 3 位或 4 位。

例:(1011010.11)2 → 补零成 001 011 010 . 110 → (132.6)8;
按 4 位:0101 1010 . 1100 → (5A.C)16。

⚠️ 易错点:八进制/十六进制之间互转,别直接算

正确做法是借道二进制:八 → 二(每位拆 3 位)→ 十六(重新每 4 位分组)。直接按"除 16 取余"当然也对,但慢且容易错。

1.3 二进制算术运算与补码 超纲·必补

数字电路里做减法很麻烦(要额外电路),所以工程师发明了用加法代替减法的办法——补码。你高中可能只学过"负数加个负号",而计算机里负数是一串 0/1。

🕐 生动例子:钟表就是最好的补码教材

现在是 3 点,你想把表拨到 12 点。有两种拨法:
① 倒拨 3 小时:3 − 3 = 12(模 12 意义下);
② 正拨 9 小时:3 + 9 = 12(模 12 意义下)。
对表来说这两种操作完全等价!于是 "−3" 就可以用 "+9" 来代替,而 9 = 12 − 3,就叫 "−3 在模 12 下的补码"。
计算机同理:8 位二进制的"模"是 28 = 256,所以 −25 可以用 256 − 25 = 231 来代替。减法器就这样被省掉了。

名称正数负数(以 8 位、−25 为例)说明
原码符号位 0 + 数值1 0011001(最高位 1 表示负)最直观,但有 +0 和 −0 两个零,加减运算不方便
反码同原码1 1100110(数值位取反)过渡形式
补码同原码1 1100111(反码 +1)实际使用;0 只有一种表示
负数补码 = 2n − |N| (n 为字长)  或  取反加一 8 位补码表示范围:−128 ~ +127(共 256 个数)
✏️ 例 1-3:求 −25 的 8 位补码

25 = 0001 1001 → 取反 1110 0110 → 加 1 → 1110 0111。
验算:256 − 25 = 231 = 1110 0111 ✔
再验证 25 + (−25):0001 1001 + 1110 0111 = 1 0000 0000,丢掉最高位的进位(模 256)得 0000 0000 = 0 ✔ 减法成功了!

超纲·拓展补码的"符号位扩展"与溢出

8 位补码要扩成 16 位时,正数左边补 0,负数左边补 1(符号扩展)。例如 1110 0111 → 1111 1111 1110 0111。
溢出判断:两个同号数相加,结果符号变了,就是溢出。例如 100 + 100 在 8 位补码下得 −56,是错的。数字电路的加法器本身不会报错,溢出要靠额外电路检测,这也是后面学 74LS283 时的一个话题。

1.4 常用编码:0/1 怎么表示"非数字"

编码就是"用 0/1 串给事物编号"的规则。同一组 4 位二进制,用不同规则解读,含义完全不同——这是初学者最容易混的地方。

① BCD 码(二–十进制码)

用 4 位二进制表示 1 位十进制数。最常用的是 8421BCD:4 位的权分别是 8、4、2、1,和普通二进制一模一样。区别在于:8421BCD 只用 0000–1001 这 10 个码,1010–1111 是"非法码"。

🔢 生动例子:BCD 和二进制不是一回事

十进制 25:
• 二进制:(25)10 = 110012(5 位)
• 8421BCD:2 → 0010,5 → 0101,拼起来 0010 0101(8 位)
为什么数码管、电子表爱用 BCD?因为要"一位一位显示"。要让数码管显示 2 和 5,直接拿 4 位一组去驱动译码器最方便,不需要先算 25 的二进制。代价是浪费存储:100 个十进制数用 BCD 要 8 位,用二进制只要 7 位。

十进制8421BCD5421BCD2421BCD余 3 码余 3 循环码
000000000000000110010
100010001000101000110
200100010001001010111
300110011001101100101
401000100010001110100
501011000101110001100
601101001110010011101
701111010110110101111
810001011111010111110
910011100111111001010

💡 记忆:余 3 码 = 8421BCD + 0011(每个码加 3);2421BCD 是"自补码",0↔9、1↔8…的码正好互为按位取反;余 3 循环码相邻码只差 1 位,适合避免译码毛刺。

② 格雷码(Gray Code)

特点:任意相邻两个码只有 1 位不同。这在硬件里极其重要——如果用普通二进制计数,0111 → 1000 要同时翻 4 位,实际电路中 4 位不可能绝对同时翻转,中间会短暂出现 1111 之类的"假状态",引发毛刺。格雷码每次只翻 1 位,从根上避免。

十进制4 位格雷码十进制4 位格雷码
0000081100
1000191101
20011101111
30010111110
40110121010
50111131011
60101141001
70100151000
🧠 口诀:格雷码 = 二进制"异或链"

从最高位开始:格雷码最高位 = 二进制最高位;之后每一位 = 二进制本位与左边一位的异或。
例:二进制 1011 → g3=1,g2=1⊕0=1,g1=0⊕1=1,g0=1⊕1=0 → 1110(对应十进制 11 ✔)

③ ASCII 与校验码

ASCII:7 位二进制表示 128 个字符。记住三个锚点即可:'0' = 0x30 = 48,'A' = 0x41 = 65,'a' = 0x61 = 97。数字字符的码值连续,字母也连续,所以 '7' = 48+7 = 55。

奇偶校验码:在数据后加 1 位校验位,使"1 的个数"为奇数(奇校验)或偶数(偶校验)。接收方数一遍 1 的个数就能发现奇数个位出错。注意:只能检错,不能纠错;偶数个位同时出错时无能为力。

高频考点本章必背清单
  • 进制互转:整数除基取余倒读、小数乘基取整顺读;八/十六进制用 3 位/4 位分组。
  • 负数补码 = 取反加一;n 位补码范围 −2n−1 ~ 2n−1−1。
  • 8421BCD 的 6 个非法码:1010–1111。
  • 格雷码相邻只差 1 位;二进制→格雷码用"异或链"。
  • 余 3 码 = 8421 + 0011;2421 是自补码。

🧪 本章自测

1. (1101.01)2 等于十进制多少?

8+4+0+1+0+0.25 = 13.25。

2. (0.375)10 转成二进制是多少?

0.375×2=0.75 取 0;0.75×2=1.5 取 1;0.5×2=1.0 取 1 → 0.011(验算 0.25+0.125=0.375 ✔)。

3. 写出 −37 的 8 位补码,并用加法验证 37+(−37)=0。

37 = 0010 0101 → 取反 1101 1010 → 加 1 = 1101 1011。
0010 0101 + 1101 1011 = 1 0000 0000,舍去进位得 0000 0000 ✔

4. 十进制的 87 用 8421BCD 表示是多少位?和它的二进制表示比谁长?

BCD:1000 0111(8 位);二进制:87 = 1010111(7 位)。BCD 更长——因为它用 4 位只存了 0–9 十个值,编码效率低。

5. 3 位格雷码序列写出来,并说明它为什么能防毛刺。

000, 001, 011, 010, 110, 111, 101, 100。每次只变 1 位,所以不存在"多位同时翻转的中间态",不会出现普通二进制 011→100 时短暂冒出的 111 这类错误码。

CHAPTER 02 / DAY 2

逻辑代数基础:只有 0 和 1 的新代数

建议 80 分钟难度 ★★☆考点:公式化简、三大规则、最小项

逻辑代数(布尔代数)是 19 世纪数学家布尔发明的,比电子计算机早了一百年。它的规则和普通代数长得像、算得不一样:这里没有 2,没有负数,没有小数,只有 0 和 1;加法是"或",乘法是"与"。

2.1 三种基本运算:与、或、非

运算符号口诀生活原型真值表
与 ANDY = A·B(常写 AB)全 1 才 1,有 0 则 0双钥匙保险箱:两把钥匙都插才能开00→0, 01→0, 10→0, 11→1
或 ORY = A+B有 1 则 1,全 0 才 0房间两盏开关并联控制一盏灯:按任一个都亮00→0, 01→1, 10→1, 11→1
非 NOTY = A'取反单刀双掷开关:这边通那边断0→1, 1→0

由它们组合出四个常用复合运算:

名称表达式读法什么时候输出 1
与非 NANDY=(AB)'"A 与 B 再取反"只要有一个 0 就输出 1(最常用!)
或非 NORY=(A+B)'"A 或 B 再取反"全 0 才输出 1
异或 XORY=A⊕B=AB'+A'B"相异为 1"两个输入不同时为 1
同或 XNORY=A⊙B=AB+A'B'"相同为 1"两个输入相同时为 1(= 异或的非)
🚪 生动例子:异或就是"楼梯双控灯"

楼梯上下各一个开关控制同一盏灯。初始状态灯灭;你在楼下按一下灯亮,上楼再按一下灯灭。设两个开关状态为 A、B,灯为 Y,你会发现:只有两个开关状态不同时灯才亮——正是异或。
这也解释了为什么异或叫"模 2 加法":1+1 = 0(不进位)。后面学加法器时,半加器的"和"就是异或。

2.2 20 条基本公式:只要记 6 组

书上会列一大串,其实都是下面 6 组推出来的。左边是"与形式",右边是"或形式"——这就是对偶(下面会讲)。

组别与形式或形式直觉解释
0–1 律A·0 = 0A+1 = 1与 0 相与必 0;或上 1 必 1
自等律A·1 = AA+0 = A1 和 0 是"单位元"
重叠律A·A = AA+A = A没有系数!写 A+A=2A 直接零分
互补律A·A' = 0A+A' = 1非此即彼,没有中间态
交换/结合AB=BA,(AB)C=A(BC)A+B=B+A,(A+B)+C=A+(B+C)和普通代数一样
分配律A(B+C)=AB+ACA+BC=(A+B)(A+C)第二个是普通代数没有的!
吸收律A·(A+B)=A;AB+AB'=AA+AB=A;(A+B)(A+B')=A小项被大项"吃掉"
摩根律(AB)' = A'+B'(A+B)' = A'·B'断开长杠,符号翻转
还原律(A')' = A非两次回到原样
冗余律AB + A'C + BC = AB + A'CBC 是"多余项"(共识项),可删
常用变形A + A'B = A + B;A' + AB = A' + B考试出现率极高
🧠 摩根律的记忆法:把"长杠"想成"门框上的横梁"

(A+B)' = A'·B' 读作:"不是(A 或 B)" 等于 "非 A 且非 B"。
生活化:"今天不是(下雨或刮风)",等价于 "今天既不下雨,也不刮风"。
操作口诀:长杠断开,中间符号取反,每项自己加撇。连用两次就回到原式,可用于"化简带长非号的式子"。

三个必须掌握的规则

规则内容用途 / 陷阱
代入规则任何等式中的同一个变量,可以用同一个逻辑函数整体替换,等式仍成立。把公式"升级"成更复杂的形式。注意必须整体加括号替换。
反演规则求 Y':把 Y 中所有 ·↔+、0↔1、原变量↔反变量,并保持原运算顺序。陷阱:不属于单个变量上的长非号要保留不变,不能一起翻。
对偶规则求 YD:只把 ·↔+、0↔1,变量不动,保持运算顺序。若 Y1=Y2,则 Y1D=Y2D。公式表可以"背一半用一半"。
✏️ 例 2-1:用反演规则求 Y = A·(B' + C) + D' 的反函数

按规则:· ↔ +,变量取反,但括号里的运算顺序保持:
Y' = (A' + B·C') · D
检验:先算 (B'+C) 整体取反得 B·C',再与 A 的或取反得 A'+(B·C'),最后 +D' 取反成 ·D ✔

2.3 逻辑函数的五种表示法

同一个逻辑关系可以用五种方式描述,考试会让你在它们之间来回翻译:

  1. 真值表:把输入的所有组合列出来,最笨但最可靠。
  2. 逻辑表达式:Y = AB + A'C,便于化简和计算。
  3. 逻辑图:用门电路符号连起来,对应硬件。
  4. 波形图:输入随时间变化,输出怎么跟着变,对应示波器。
  5. 卡诺图:图形化的真值表,下一章的主角。

2.4 最小项与标准与或式 高频

最小项:n 个变量的"与项",其中每个变量都以原变量或反变量的形式出现且只出现一次。n 个变量共有 2n 个最小项。

🎯 生动例子:最小项 = "只认一种情况的指纹"

把 A、B、C 想成三个投票人(1 = 赞成,0 = 反对)。m5 = AB'C 的意思是"只有 A 赞成、B 反对、C 赞成这一种投票结果,它才等于 1,其余 7 种组合它都是 0"。
所以最小项像"指纹"——唯一对应一组输入。而 Σm(1,3,5) 就是"把 1、3、5 这三种情况'或'起来",即"只要出现这三种情况之一,输出就是 1"。

A B C最小项编号A B C最小项编号
0 0 0A'B'C'm01 0 0AB'C'm4
0 0 1A'B'Cm11 0 1AB'Cm5
0 1 0A'BC'm21 1 0ABC'm6
0 1 1A'BCm31 1 1ABCm7

编号规则:把最小项中原变量记 1、反变量记 0,得到一个二进制数,它的十进制值就是下标。例:AB'C → 101 → 5 → m5。

高频考点从真值表直接写标准与或式(三步,不准出错)
  1. 找出真值表中所有 Y = 1 的行;
  2. 每行写一个最小项(该行取值为 1 的写原变量,为 0 的写反变量);
  3. 把它们或起来,记作 Y = Σm(编号…)。

反过来,从 Σm 写标准或与式:Y = ΠM(其余编号),其中 Mi 是最大项,规则与最小项相反(取值为 0 写原变量)。

✏️ 例 2-2:三人表决器

三个人 A、B、C 投票,两人及以上赞成则提案通过(Y=1)。真值表里 Y=1 的行是 011、101、110、111,即 m3、m5、m6、m7:
Y = Σm(3,5,6,7) = A'BC + AB'C + ABC' + ABC
标准式写完了,但它不是最简的。下一章我们会把它化简成 Y = AB + AC + BC——三个二输入与门加一个三输入或门就够了,比 4 个三输入与门省得多。这就是化简的意义:用更少的门,做同样的事。

⚠️ 易错点清单
  • A+A=2A ✘(应为 A);A·A=2A ✘(应为 A)。
  • 分配律 A+BC=(A+B)(A+C) 在普通代数里不成立,这里成立;但 A(B+C)=AB+AC 两种代数都成立。
  • 反演规则里,长非号(不属于单个变量的)保持不变。求 (A+B)' 的反函数时,别写成 (A'+B')'。
  • 最小项编号:原变量=1,反变量=0;最大项编号正好相反。
  • 写 Σm 后不要漏项,也不要把 Y=0 的行写进去。

🧪 本章自测

1. 化简 Y = A + A'B

Y = A + B。推导:A + A'B = (A+A')(A+B) = 1·(A+B) = A+B。这是考试出现率最高的变形,直接背结论。

2. 化简 Y = AB + A'C + BC

Y = AB + A'C。因为 BC 是冗余项:AB+A'C+BC = AB+A'C+BC(A+A') = AB+A'C+ABC+A'BC = AB(1+C)+A'C(1+B) = AB+A'C。

3. 验证 (A+B)' = A'B'(用真值表)

A B | A+B | (A+B)' | A'B'
0 0 | 0 | 1 | 1
0 1 | 1 | 0 | 0
1 0 | 1 | 0 | 0
1 1 | 1 | 0 | 0
两列完全相同 ✔

4. 写出 Y = AB' + C 的最小项之和形式(三变量)

AB' 展开为 AB'(C+C') = AB'C + AB'C' = m5+m4;C 展开为 (A+A')(B+B')C = m1+m3+m5+m7。合并:Y = Σm(1,3,4,5,7)。

5. 求 Y = (A + B'C)' 的最简与或式

先用摩根:Y = A' · (B'C)' = A'(B + C') = A'B + A'C'。看到长非号,第一反应就是拆摩根。

CHAPTER 03 / DAY 3

逻辑函数化简与卡诺图:把"能用"变成"最省"

建议 90 分钟难度 ★★☆考点:卡诺图圈组、无关项、与非门实现

上一章结尾我们得到 Y = A'BC + AB'C + ABC' + ABC(三人表决器)。它逻辑上没错,但要 4 个三输入与门 + 1 个四输入或门。而 Y = AB + AC + BC 只要 3 个二输入与门 + 1 个三输入或门。同样的功能,芯片面积、功耗、成本、延迟全都降下来了——这就是化简的全部动机。

已学·可直接用化简 = 找"无关变量"

你在《电路》里做过"等效变换":几个电阻能合并成一个,因为对外表现一样。化简逻辑函数也是"等效变换":如果某个变量在某个局部无论取 0 还是 1,输出都不变,那它就可以被消掉。
例:AB + AB' = A(B+B') = A·1 = A。B 在这里是"无关变量",被消掉了。卡诺图就是把"哪些格子能合并"这件事画成图形,让你一眼看出来。

3.1 公式法化简:五个套路

方法依据例子
并项法AB+AB'=AABC + ABC' = AB
吸收法A+AB=AA + ABC = A(小项被大项吸收)
消因子法A+A'B=A+BAB' + B = A + B;A + A'B = A + B
消项法AB+A'C+BC = AB+A'CAB + A'C + BCD = AB + A'C
配项法利用 A+A'=1 乘进去再拆AB + B'C + AC = AB + B'C + AC(B+B') = AB+B'C+ABC+AB'C = AB+B'C
⚠️ 公式法的致命问题:靠"眼力"

公式法没有固定步骤,全凭经验猜"该往哪个方向凑"。3 个变量时还行,4 个变量以上极易漏项、且无法确认是否已最简。所以考试的标准做法是:卡诺图为主,公式法为辅(卡诺图圈完后,用公式法检查一遍)。

3.2 卡诺图:把真值表排成"相邻就合并"的格子 高频

卡诺图的构造只有一条规矩:格子的排列必须让"逻辑相邻"变成"几何相邻"。所谓逻辑相邻,就是两个最小项只有一个变量不同。满足这个条件的排列,正是格雷码——所以卡诺图的行列标号永远是 00, 01, 11, 10,而不是 00, 01, 10, 11。

🧩 生动例子:卡诺图就是"拼图找邻居"

把 16 个最小项想成 16 户人家,住在一个 4×4 的小区里。只要两户人家挨着(有公共边),他们的门牌号就只有一位不同,于是他们可以"合并成一户",省掉那个不同的变量。
所以化简 = 用尽量大的矩形把 1 圈起来,圈越大,省掉的变量越多(圈住 2 个格子省 1 个变量,4 个省 2 个,8 个省 3 个)。
小区是"环形"的:最左边和最右边也是邻居,最上面和最下面也是邻居,四个角互相都是邻居——这就是"可以卷起来"的甜甜圈(环面)。初学者最容易漏掉的就是跨边界合并。

① 两变量卡诺图

A \ B01
0m0m1
1m2m3
2 变量:4 个格子,左右相邻、上下相邻

② 三变量卡诺图(行 = A,列 = BC)

A \ BC00011110
0m0m1m3m2
1m4m5m7m6
注意第 3、4 列(11 与 10)相邻,且第 4 列与第 1 列"卷起来"也相邻

③ 四变量卡诺图(行 = AB,列 = CD)—— 考试主战场

AB \ CD00011110
00m0m1m3m2
01m4m5m7m6
11m12m13m15m14
10m8m9m11m10
四角(m0、m2、m8、m10)互相相邻;整行、整列、2×2、1×4、4×1 都能合并
📐 圈组的四条铁律(背下来,一条都不能违反)
  1. 只能圈 2k 个 1:1、2、4、8、16 个,不能圈 3、5、6、7 个。
  2. 圈必须是矩形(含正方形),并且圈内格子互相连通(可以跨边界卷起来)。
  3. 圈越大越好,圈数越少越好:先找 8 格圈,再 4 格,最后 2 格;能圈大就不圈小。
  4. 每个 1 至少要进一个圈,圈与圈可以重叠(重叠的格子被用了两次,不违规)。

补充:允许把"已经圈过的 1"再圈进另一个更大的圈;不允许圈 0(除非是无关项 d)。

✏️ 例 3-1(三变量):三人表决器

Y = Σm(3,5,6,7),填表:

A \ BC00011110
00010
10111
三个圈:{m3,m7}、{m5,m7}、{m6,m7}
圈住的最小项哪两个变量在变保留的变量得到的项
m3(011), m7(111)A 变(0→1)B=1, C=1BC
m5(101), m7(111)B 变(0→1)A=1, C=1AC
m6(110), m7(111)C 变(0→1)A=1, B=1AB

所以 Y = AB + AC + BC。注意 m7 被三个圈共用——完全合法,而且这就是最优解(m3 只可能和 m7 合并,m5 只可能和 m7 合并,三个圈都是"必需"的)。

🧠 合并的快速心算法

圈住 2k 个格子 → 消去 k 个变量,剩下 n−k 个变量。
保留谁?看圈内所有格子的共同点:哪个变量始终为 1,就保留原变量;始终为 0,就保留反变量;有 0 有 1,就消掉。
例:四角 m0(0000)、m2(0010)、m8(1000)、m10(1010):A 有 0 有 1 → 消;B 全是 0 → 保留 B';C 有 0 有 1 → 消;D 全是 0 → 保留 D'。结果 B'D'。

✏️ 例 3-2(四变量):含跨边界与四角合并

Y(A,B,C,D) = Σm(0,1,2,3,5,7,8,10,13,15)

AB \ CD00011110
001111
010110
110110
101001
① 第一整行(4 个 1) ② 中间 2×2(4 个 1) ③ 四个角(4 个 1)
圈包含的最小项共同点结果
① 第一整行0,1,2,3A=0, B=0A'B'
② 中间 2×25,7,13,15B=1, D=1BD
③ 四个角0,2,8,10B=0, D=0B'D'

Y = A'B' + BD + B'D'。检查每个 1 都至少被圈一次:m0、m2 被圈了两次(合法),m1、m3 只在①,m5、m7、m13、m15 只在②,m8、m10 只在③。三个圈缺一不可,已是最简。

⚠️ 三个高频错误,对照检查你自己
  • 漏掉跨边界:只看"肉眼挨着"的格子,忘了左右卷、上下卷、四角连。例 3-2 的③就是全跨边界。
  • 圈了 6 个格子:6 不是 2 的幂,必然错。宁可拆成 4+2 两个圈。
  • 明明能圈 4 个,却圈了 2 个:结果项里多留了一个本可消掉的变量,不是最简式,会被扣分。

3.3 无关项:可以"耍赖"的格子 高频

有些输入组合在现实中永远不会出现(比如用 4 位 BCD 表示十进制数时,1010–1111 不会出现)。这些组合对应的输出取 0 还是取 1 都无所谓,叫无关项(也叫约束项、任意项),记作 d 或 ×。

用法:圈组时把 d 当 1 用(如果能把圈变大);不需要时当 0 用(不圈它)。但绝不能把 0 当 1 圈进去。

✏️ 例 3-3:BCD 码"输入 ≥ 5"检测器

输入 A B C D 是 8421BCD 码(只出现 0000–1001),要求输入数值 ≥ 5 时 Y=1。
真值表:5、6、7、8、9 时 Y=1;0–4 时 Y=0;1010–1111 是无关项。

AB \ CD00011110
000000
010111
11××××
1011××
把 × 当 1 用,可以圈出三个 4 格大圈
圈用到的 1 与 ×结果
第 3 整行m8, m9, 及 m11, m10(×)AB'
中间 2×2(列 01、11;行 01、11)m5, m7 及 m13, m15(×)BD
右侧 2×2(列 11、10;行 01、11)m6, m7 及 m14, m15(×)BC

Y = AB' + BC + BD。

对比:如果不用无关项,m5 只能和 m7 合并,得到 A'BD 之类的三项,项更长、门更多。无关项的价值就在这里:它把"不可能的输入"变成免费的合并资源。

超纲·拓展圈 0 得"或与式"与"或非门实现"

圈 1 得到与或式(Y = Σ积项),用与非门实现最省。
圈 0 得到 Y' 的与或式,再整体取反(摩根),就得到 或与式 Y = Π和项,用或非门实现最省。
什么时候选哪个?看题给的是与非门还是或非门。如果没指定,一般选圈 1(项数通常更少)。例:Y = Σm(0,1,2,3,4,5,6,7,8,9) 圈 1 要好几个圈,圈 0 只剩 6 个 0,可能更省。

3.4 从最简式到电路:与非门实现 高频

实际芯片里与非门最便宜、最快(CMOS 与非门比或非门快,TTL 与非门是标准品),所以设计题常要求"全部用与非门实现"。方法只有一步:两次取反。

Y = AB + AC + BC → Y = ( (AB)' · (AC)' · (BC)' )' ① 整体加双非号 ② 对下面一层用摩根 ③ 得到"与非—与非"结构

画图时:第一级用三个二输入与非门算出 (AB)'、(AC)'、(BC)';第二级用一个三输入与非门把它们合起来。注意:任何与或式都能这样直接变成与非-与非式,不需要额外变换——这是考试送分点。

🔁 顺带记住:或非-或非结构

若要求全用或非门:先把 Y 圈 0 得 Y' 的最简与或式,再对 Y' 整体取反并用摩根,得到"或非-或非"结构。与或 → 与非-与非;或与 → 或非-或非,一一对应。

3.5 五变量卡诺图与 Q–M 法 超纲·拓展

超纲·拓展五变量:两张四变量图"叠"起来

五变量(A B C D E)用两张 4×4 图:一张 E=0,一张 E=1。两张图对应位置的格子是相邻的(只差 E 一位),所以可以跨图合并。六变量则要四张。变量再多人眼就扛不住了,实际工程用 Q–M 列表法或计算机工具(如 Espresso 算法)。

Q–M 法三步:① 把所有最小项按"1 的个数"分组;② 相邻组逐对合并,消去不同位,打勾标记"已合并";③ 没被打勾的项就是"质蕴含项",再挑最少的覆盖全部最小项。过程繁琐但绝对完备,不会漏解——这也是它只适合编程的原因。

🧪 本章自测

1. 用卡诺图化简 Y = Σm(0,1,4,5,8,9,12,13)

所有 1 集中在 CD = 00、01 两列(即 C=0),共 8 个格子,圈成一个 8 格大圈 → Y = C'。
这是"整两列"的典型:圈 8 个消 3 个变量,只剩 C。

2. 化简 Y = Σm(0,2,8,10)(四变量)

正是四个角,圈一个 4 格圈。共同点 B=0、D=0 → Y = B'D'。
如果你只圈出 B'C'D' 或类似的三变量项,说明没看出四角相邻。

3. 化简 Y = Σm(1,5,9,13,3,7,11,15)

先别急着圈,先看规律:这 8 个编号全是奇数(1,3,5,7,9,11,13,15)。写成二进制,最低位 D 全是 1;其余 8 个偶数项 D 全是 0。
所以这 8 个 1 正好占满 D=1 的全部格子,圈成 2 个 8 格圈(左半、右半)→ Y = D,A、B、C 全被消掉。
启示:动手前先扫一眼"1 的分布有没有规律",能省一半时间。

4. 用与非门实现 Y = A'B + AB'

这是异或,不能再化简。Y = ((A'B)' · (AB)')',用 2 个与非门产生 (A'B)'、(AB)',再加 1 个二输入与非门合成。共 3 个与非门(A' 可用输入直接取反,或用与非门接成反相器)。

5. 无关项在化简时"想用就用、不想用就不用",这句话对吗?

对,但有个前提:无关项只能"帮助变大圈",不能成为必须覆盖的对象。也就是说:一个 d 可以不圈;但如果圈它能让两个圈合并成一个大圈、减少项数,就应该圈。判断标准始终是"最终表达式最简"。

CHAPTER 04 / DAY 4

门电路(上):半导体是怎么变成"开关"的

建议 100 分钟难度 ★★★超纲集中区:PN 结 / 三极管 / MOS 管
超纲·必补本章全部内容来自《模拟电子技术》,你还没学

但你不必学完整的模电——你只需要一个视角:把半导体器件当成"受电压控制的开关"。放大倍数、小信号模型、频率响应这些统统跳过。数字电路永远只让器件待在两个极端:全开(饱和/导通)或全关(截止),中间地带是禁区。这就是数字电路比模拟电路"好教"的原因。

本章与电路前三章的关系:所有计算仍然是 KVL + KCL + 欧姆定律 + 分压。你在第一章学的受控源,在这里会第一次见到"实体"——三极管的 IC=βIB 就是一个电流控制电流源(CCCS)。

4.1 为什么非得用半导体?

最早的计算机用继电器(电磁铁吸合)做开关,一秒只能动作几十次。后来用电子管,速度快了但发热巨大、寿命短。1947 年晶体管发明,才让"用电压控制电流"的开关既快又小又省电。

🚰 生动例子:三极管 = 用"小水流"控制"大水流"的水龙头

想象一根粗水管(集电极—发射极),中间有个阀门。你不用手去拧阀门,而是用另一根细水管(基极)的水流去推阀门:细管里流一点点水,就能让粗管里通过大量水,而且细流是粗流的 1/β。
更妙的是:细管完全没水 → 阀门全关(截止);细管水足够大 → 阀门全开(饱和)。数字电路只用这两种状态,所以三极管在数字电路里就是一个"电控开关"。

4.2 PN 结与二极管 超纲·必补

① 半导体是怎么"导电"的

  • 本征半导体(纯硅):原子排成晶体,价电子被共价键锁住。温度升高时少量电子挣脱,留下"空位"叫空穴。所以纯硅导电性很差,且随温度变化。
  • N 型半导体:掺入五价元素(磷),多出自由电子 → 多子是电子。
  • P 型半导体:掺入三价元素(硼),多出空穴 → 多子是空穴。

类比:N 型像"多了一批闲散工人(电子)",P 型像"多了一批空岗位(空穴)"。

② PN 结:把 P 和 N 贴在一起会发生什么

接触瞬间,P 区的空穴往 N 区扩散,N 区的电子往 P 区扩散,在交界处留下不能移动的离子,形成空间电荷区(耗尽层),并产生一个内建电场,方向阻止扩散。最终扩散与漂移达到动态平衡,结上有一个约 0.7 V(硅) 的势垒。

加什么电压耗尽层结果等效
正向偏置:P 接高电位、N 接低电位变窄电流可以大量流过(正向导通)一个 0.7 V 的电压源(硅管)
反向偏置:P 接低、N 接高变宽只有极小的反向饱和电流(μA 级)开路

一句话:二极管 = 只允许电流从阳极流向阴极的单向阀。正偏导通时两端压降近似恒为 0.7 V(硅管),反偏截止时相当于断开。

已学·可直接用用 KVL 算二极管电路(三步法)
  1. 假设二极管导通,用它替换成 0.7 V 电压源;
  2. 用 KVL / 分压算出电流;
  3. 验证:算出的电流必须 I > 0(真的从阳极流向阴极)。若 I < 0,说明假设错,二极管其实截止,重算。
✏️ 例 4-1:5 V 电源经 1 kΩ 电阻接一个二极管到地,求电流

假设导通:I = (5 − 0.7)/1k = 4.3 mA > 0 ✔ 假设成立,所以 I = 4.3 mA,二极管两端电压 0.7 V。
如果你算出来是 −0.2 mA,那说明二极管根本没导通,此时 I = 0,二极管两端电压由外电路决定(可能高达 5 V),但不能超过反向击穿电压。

4.3 二极管门电路:最早的"逻辑门"

二极管与门

二极管与门电路:VCC 经 R 到 Y,两只二极管阳极朝 Y、阴极分别接 A、B
AB哪只二极管导通Y逻辑
0 V0 VD1、D2 都导通(并联分流)0.7 V0
0 V5 V只有 D1 导通,D2 反偏截止0.7 V0
5 V0 V只有 D2 导通0.7 V0
5 V5 V都截止(阳极只有 5 V,阴极也 5 V)5 V1

全高才高 → 与门。

二极管或门

二极管或门电路:A、B 各经一只二极管并在 Y,Y 经 R 接地

任一输入为 5 V,对应二极管导通,Y ≈ 5 − 0.7 = 4.3 V(高);两个都 0 V,二极管都截止,Y = 0 V(低)。有高则高 → 或门。

⚠️ 二极管门为什么被淘汰?两个致命伤
  • 电平偏移:输出低不是 0 V 而是 0.7 V,输出高不是 5 V 而是 4.3 V。多级串联后,电平越偏越远,几级之后就认不出来了。
  • 带负载能力差:输出端接下级时,电流会通过电阻灌入前级;前级必须能"吸收"这股电流,否则电平被拉跑。

所以二极管门只在极简单的场合用。现代门电路用三极管或 MOS 管做"有源"开关,能把电平重新拉满(0 V / 5 V)——这叫"整形"或"再生"。

4.4 三极管开关 超纲·必补

三极管(BJT)是"三明治"结构:N-P-N 或 P-N-P,引出三个电极——基极 B(中间的薄层)、集电极 C、发射极 E。它有两个 PN 结:发射结(B–E)、集电结(B–C)。

已学·可直接用三极管 = 你在第 1 章学的"受控源"

三极管的核心关系是 IC = β IB(β 约 20~200)。集电极电流受基极电流控制——这正是《电路》第 1 章的 CCCS(电流控制电流源)!
再加上 IE = IB + IC(KCL,在管子上用一次),就是一个完整的"受控源 + 节点"模型。你现在可以用节点电压法分析一个晶体管电路了。

三个工作区:数字电路只认两个

工作区条件电流关系管压降 VCE等效
截止区发射结反偏或零偏(VBE < 0.5 V)IB≈0,IC≈0≈ VCC(很高)开关断开
放大区发射结正偏、集电结反偏IC=βIB随 IC 变,可能停在中间受控源(数字电路中禁止停留)
饱和区两个结都正偏(IB 足够大)IC < βIB(受外电路限制)VCE(sat) ≈ 0.2~0.3 V开关闭合

三极管反相器(Not 门)

三极管反相器:NPN 集电极经 Rc 接 VCC 并引出 Y,基极经 Rb 接 Vi,发射极接地
ViT 的状态Y逻辑
0 V(低)截止(IB=0)Y = VCC = 5 V(高)输入 0 → 输出 1
5 V(高)饱和(IB 足够大)Y = VCE(sat) ≈ 0.3 V(低)输入 1 → 输出 0
✏️ 例 4-2:算一算 Rb 最大能取多少(饱和临界条件)

先求饱和时的集电极电流(用 KVL):
ICS = (VCC − VCE(sat))/RC = (5 − 0.3)/1k = 4.7 mA
再求需要的基极电流:IBS = ICS/β = 4.7 mA/50 = 94 μA
最后由输入回路定电阻:Rb ≤ (Vi − VBE)/IBS = (5 − 0.7)/94μ ≈ 45.7 kΩ
所以 Rb 取 45 kΩ 以下(工程上取 10~20 kΩ,留足余量,因为 β 会随温度变)。

💥 反面教材:Rb 取 100 kΩ 会怎样?

IB = (5−0.7)/100k = 43 μA,如果管子还在放大区,IC = βIB = 2.15 mA,那么
VCE = 5 − 2.15mA × 1k = 2.85 V。
这个 2.85 V 既不算高电平(应 >2.4 V,勉强)也不算低电平(应 <0.4 V),是一个"半死不活"的中间值。后级门电路可能判成 1,也可能判成 0,甚至可能工作在放大区发热烧掉。
结论:数字电路中的开关管必须被"驱动到饱和",绝不能停在放大区。这也是为什么门电路内部要精心设计电阻值。

4.5 MOS 管:现代芯片的主角 超纲·必补

三极管靠电流驱动(要持续吃基极电流,费电)。MOS 管(场效应管)靠电压驱动,栅极下面是一层极薄的二氧化硅绝缘层,正常工作时栅极几乎不取电流,输入电阻高达 1010~1015 Ω。

💧 生动例子:MOS 管 = 静电感应的水闸

栅极(G)像一块"带电的板子",隔着一层绝缘膜靠近沟道。你在栅极上施加电压,靠静电感应把半导体表面的载流子"吸"过来,形成一条导电沟道——就像用磁铁隔着纸吸铁粉,板子本身不接触、不消耗电流。
电压够大 → 沟道形成 → 源漏导通(开);电压不够 → 沟道消失 → 断开(关)。

类型导通条件截止条件在 CMOS 里的角色
NMOS(N 沟道)VGS > VTN(栅极比源极高出阈值,约 1~2 V)VGS < VTN做下拉开关(把输出拉到地)
PMOS(P 沟道)VGS < VTP(VTP 为负,即栅极比源极低足够多)VGS > VTP做上拉开关(把输出拉到电源)

记号:VGS = VG − VS。NMOS 的源极通常接地,所以 VGS=VG;PMOS 的源极通常接 VDD,所以 VGS = VG − VDD(负数)。

🧠 一句话记住谁开谁关(以 VDD=5 V、VTN=1.5 V、VTP=−1.5 V 为例)

NMOS:栅极给 1 就开(1 通 0 断)。
PMOS:栅极给 0 就开(0 通 1 断)。
于是把两只管子一上一下串起来、栅极接同一个输入,就得到 CMOS 反相器:输入 0 时 PMOS 开(输出接电源=1),输入 1 时 NMOS 开(输出接地=0)。而且任何时刻只有一只管子导通,另一只截止 → 静态电流几乎为零。下一章细讲。

4.6 逻辑电平与正/负逻辑

"高电平"和"逻辑 1"不是天生绑定的,需要人为约定:

  • 正逻辑:高电平 = 1,低电平 = 0(本教程默认)。
  • 负逻辑:高电平 = 0,低电平 = 1。
🔄 有趣的结论:负逻辑下"与门"变成"或门"

同一个物理电路,按正逻辑看是"全高出高"→ 与门;按负逻辑看,把高低反过来读,就变成"全低出低"→ 或门。
数学上这正是德摩根律:Y = AB,取反后 Y' = A' + B'。所以"与"和"或"是相对的,取决于你怎么定义 1。
考试常问:"某门电路正逻辑是与门,负逻辑是什么门?" → 答:或门(与非 ↔ 或非同理)。

高频考点本章必会
  • 二极管门电路分析:判断哪只管子导通,算输出电平(含 0.7 V 偏移)。
  • 三极管三个工作区的条件与等效;饱和条件 IB ≥ ICS/β 及临界 Rb 计算。
  • NMOS/PMOS 的导通条件(VGS 与阈值比较)。
  • 正/负逻辑的换算(与↔或、与非↔或非)。

🧪 本章自测

1. 硅二极管正偏时两端电压是多少?反偏时相当于什么?

正偏导通压降约 0.7 V(锗管约 0.3 V),相当于一个 0.7 V 的理想电压源。反偏时只有 μA 级反向饱和电流,相当于开路(但不能超过反向击穿电压,否则会击穿)。

2. 二极管与门输出低电平时为什么不是 0 V?

因为低电平输入经二极管把输出节点钳位在"输入低电平 + 0.7 V"。若输入低电平是 0 V,输出就是 0.7 V。这就是电平偏移,级联后误差累积,是二极管门被淘汰的主因。

3. VCC=5 V,RC=2 kΩ,β=100,VBE=0.7 V。要把三极管驱动到饱和,IB 至少多少?若 Vi=3.3 V,Rb 最大取多少?

ICS=(5−0.3)/2k=2.35 mA;IBS=2.35m/100=23.5 μA;
Rb ≤ (3.3−0.7)/23.5μ ≈ 110 kΩ。
实际取 33~47 kΩ,因为 β 会随温度和批次变化,必须留 2~3 倍余量。

4. NMOS 的 VTN=2 V,栅极接 5 V、源极接地,它导通吗?如果栅极接 0 V 呢?

VGS=5−0=5 V > 2 V → 导通。VGS=0 < 2 V → 截止。

5. 某电路正逻辑下是与门,负逻辑下是什么?

或门。因为负逻辑把高低电平互换,相当于对所有输入输出取反:(AB)' = A'+B',取反后的运算变成了"或"。

CHAPTER 05 / DAY 5

门电路(下):CMOS 与 TTL 的真实性能

建议 100 分钟难度 ★★★考点:噪声容限、扇出、三态/OC 门

上一章的二极管、三极管、MOS 管,这一章要拼成真正的集成电路。你只需要记住两族的名字:CMOS(互补 MOS,今天 99% 的芯片都是它)和 TTL(晶体管-晶体管逻辑,老式但考试常考)。

5.1 CMOS 反相器:两只管子就能实现"非"

CMOS 反相器:PMOS 在上接 VDD、NMOS 在下接地,两栅极并接 Vi,漏极相连为 Y
ViPMOS(VGS=Vi−VDD)NMOS(VGS=Vi)Y有无静态电流
0 V(逻辑 0)导通(VGS=−5 V < VTP)截止(0 < VTN)VDD = 1无(只有漏电流 nA 级)
5 V(逻辑 1)截止(VGS=0 > VTP)导通0 V = 0无
2.5 V(中间)微导通微导通≈VDD/2(不定)有!两管同时导通,大电流
⚖️ 生动例子:CMOS 反相器就是一台"跷跷板"

上面一只 PMOS、下面一只 NMOS,像跷跷板的两端,永远一端翘起一端落地:
• 输入低 → 上管开(输出被"抬"到 VDD),下管关;
• 输入高 → 下管开(输出被"拽"到地),上管关。
关键在于:两只管子绝不会同时"使劲",所以电源到地之间没有直通电流 → 静态功耗几乎为零(只有纳米级漏电)。这就是手机能用一天的物理基础。
但只要输入停在 VDD/2 附近,两只管子就同时半开,电源直接"短路"到地——这叫"贯通电流",是 CMOS 的大忌。所以 CMOS 输入信号必须陡峭,绝不能长时间停在中间电平。

电压传输特性(VTC)

把 Vi 从 0 慢慢升到 VDD,输出跟着变,得到一条曲线:

  • Vi 从 0 到约 0.3VDD:输出保持高(VOH≈VDD);
  • 中间一小段(约 0.3~0.7VDD):输出急剧下降,转折点 VT ≈ VDD/2;
  • Vi > 0.7VDD:输出稳定在低(VOL≈0)。

曲线越陡,抗干扰能力越强。CMOS 的曲线非常陡,所以噪声容限接近 0.3VDD,远大于 TTL 的 0.4 V。

5.2 CMOS 与非门 / 或非门的"造门公式"

CMOS 门电路的结构有严格的对偶规律,记住这一条就能画出任何门:

NMOS 网络负责"把输出拉到 0"(下拉) · PMOS 网络负责"把输出拉到 1"(上拉)
NMOS:串联 = 与,并联 = 或 · PMOS:串联 = 或,并联 = 与 两组网络永远"互补":同一输入组合下,必然恰好一组导通
CMOS 与非门(PMOS 并联 + NMOS 串联)与或非门(PMOS 串联 + NMOS 并联)对照
🧠 怎么"推"出结构(不要死记)

先问:"输出什么时候是 0?"
• 与非门 Y=(AB)':A、B 都为 1 时 Y=0 → 下拉网络要"A 与 B"→ NMOS 串联;剩下部分自动对偶 → PMOS 并联。
• 或非门 Y=(A+B)':A 或 B 为 1 时 Y=0 → 下拉网络要"A 或 B"→ NMOS 并联;PMOS 串联。
这就是"NMOS 串与并或、PMOS 反过来"的来历。

超纲·拓展为什么 CMOS 里"与非"比"或非"更受欢迎?

看结构:与非门的 PMOS 是并联,或非门的 PMOS 是串联。PMOS 本身的导通电阻就比 NMOS 大(空穴迁移率低),几个串联起来电阻更大,输出上升沿变慢。
所以同等工艺下,与非门比或非门快、面积小。这也是为什么"全用与非门实现"不只是理论偏好,而是硬件现实。

5.3 CMOS 传输门(模拟开关)

把一只 NMOS 和一只 PMOS 并联,栅极分别接互补的控制信号 C 和 C',就得到传输门:C=1 时导通(双向都能传),C=0 时高阻。

为什么必须一 N 一 P 并联?因为单只 NMOS 传高电平时,源极电位升高会使 VGS 减小,传到 VDD−VTN 就传不动了(阈值损失);单只 PMOS 传低电平也有同样问题。并联后互补,0 和 1 都能完整传递。

传输门是 CMOS 的"独门绝技",用它可以做数据选择器、锁存器、DAC 开关阵列——TTL 做不了。

5.4 CMOS 使用注意(考试爱考"为什么")

注意点原因后果
不用的输入端不能悬空输入阻抗极高(1010 Ω 以上),悬空时电位由漏电和干扰决定,可能停在 VDD/2两管同时导通 → 功耗剧增、发热、逻辑乱跳。必须接 VDD 或地
输出不能直接接电源或地输出低时上管已关,若外部强行拉高,会烧毁管子器件损坏
注意防静电(ESD)栅极绝缘层极薄(纳米级),几十伏静电就能击穿栅极永久击穿。取用时要接地、用防静电袋
电源电压范围宽4000 系列 3~18 V,74HC 系列 2~6 V灵活性好,但电平要匹配
多余输入的处理与门多余端接高、或门多余端接低不能悬空,也不能随便接

5.5 TTL 与非门:老将出马

TTL 的输入级用了一只多发射极三极管——一个基极、多个发射极,相当于把多个三极管的基极和集电极并联,发射极分别接各输入。它能同时完成"与"和"放大"两件事。

TTL 与非门内部:多发射极 T1、相位分离 T2、T3/T4 推挽输出
输入T1 状态T2T4(下拉)T3(上拉)Y
任一为低(0.3 V)饱和导通(电流从 VCC 经 R1 灌入输入)基极被钳在 0.4 V → 截止截止导通高(≈3.6 V)
全为高(3.6 V)倒置工作(集电结正偏)基极升高 → 饱和饱和截止低(≈0.3 V)

输出级是"推拉"结构(T3 拉、T4 灌),所以 TTL 既能拉电流也能灌电流,但灌电流能力远强于拉电流——这决定了后面 LED 要"低电平点亮"。

5.6 TTL 的四个关键参数 高频

这是全章最该背的东西。以 74LS 系列(5 V 供电)为例:

参数含义74LS 典型值方向
VOH(min)输出高电平下限2.4 V输出端
VOL(max)输出低电平上限0.4 V输出端
VIH(min)被认作高电平的输入下限2.0 V输入端
VIL(max)被认作低电平的输入上限0.8 V输入端
VT阈值(转折)电压≈1.4 V曲线中点
✏️ 例 5-1:算噪声容限(考试必考)

高电平噪声容限:VNH = VOH(min) − VIH(min) = 2.4 − 2.0 = 0.4 V
低电平噪声容限:VNL = VIL(max) − VOL(max) = 0.8 − 0.4 = 0.4 V
含义:前级输出高电平最低有 2.4 V,后级只要 ≥2.0 V 就认高——中间有 0.4 V 的"安全垫"。叠加在这个垫子以内的干扰,逻辑不会出错。这就是"抗干扰能力"的量化指标。

扇出系数(Fan-out)

一个输出能带几个同类输入?要同时满足"拉电流"和"灌电流"两个限制,取小的那个:

N = min( IOH/IIH , IOL/IIL ) IOH: 输出高电平时能提供的电流;IIH: 每个输入需要的电流;IOL: 输出低电平时能灌入的电流;IIL: 每个输入灌出的电流
✏️ 例 5-2:设 IOH=0.4 mA,IIH=20 μA,IOL=8 mA,IIL=0.4 mA

N1 = 0.4 mA / 20 μA = 20;N2 = 8 mA / 0.4 mA = 20;所以 N = 20。
但手册标注的扇出通常只有 8~10——因为上面算的是直流扇出,实际还要考虑每个输入端的电容、连线电容使上升沿变慢,交流(速度)扇出才是瓶颈。结论:算题用公式,选芯片看手册。

功耗、延迟与功耗延迟积

指标含义74LS 典型74HC(CMOS) 典型
静态功耗 PD不翻转时消耗的功率≈2 mW/门≈0.0025 μW/门(几乎为零)
传输延迟 tpd输入变化到输出响应的时间≈9 ns≈9~15 ns(5 V)
功耗延迟积 PDPPD × tpd,综合品质因数,越小越好≈18 pJ≈0.02 pJ(低功耗优势巨大)

CMOS 的动态功耗 = CL·VDD2·f,与频率成正比——所以你的手机主频越高越费电。

5.7 特殊门:OC 门与三态门 高频

① OC 门(集电极开路门)

把 TTL 输出级的"上拉管"去掉,只留下拉三极管,集电极直接引出,就叫 OC 门。它必须外接上拉电阻 RL 才能输出高电平。

OC 门:输出管集电极开路,需外接上拉电阻 RL 才能得到高电平

为什么要有它?因为可以"线与":把多个 OC 门的输出直接连在一起,共用一个上拉电阻,则

Y = Y1 · Y2 · … · Yn 任何一个 OC 门输出低 → 整条线被拉低 → 相当于"与"

普通 TTL 门绝对不能这样接:一个输出高(上管导通接电源)、一个输出低(下管导通接地),电源到地直通,瞬间大电流烧毁芯片。"线与"是 OC 门的专利。

⚠️ 与线(OC)vs 线与(普通门)——别搞混

OC 门并联实现的是 线与(wired-AND),即"逻辑与"。有些资料把"多个输出直接相连"统称"线与",但只有 OC/OD(漏极开路)门允许这么做。普通推拉输出并列 → 短路,禁止。

② 三态门(TS 门)

在普通门的基础上加一个使能端 EN,得到三种输出状态:高电平、低电平、高阻态(Z)。

ENY状态用途
1= A'(正常反相)低或高作为普通门工作
0Z(高阻)相当于"断开",不影响总线让出总线给别人用
🚌 生动例子:三态门就是"总线上的发言权"

一条总线(bus)上挂着 8 个设备。如果所有设备都硬接上去,大家同时说话就"打架"(短路)。
三态门给每个设备一个"话筒开关":EN=1 的说话,EN=0 的把嘴闭上(高阻,相当于从电路里"消失")。只要保证同一时刻只有一个 EN 有效,总线就不会冲突。CPU 的数据总线就是这么工作的。

5.8 CMOS 与 TTL 怎么选、怎么接

对比项TTL(74LS)CMOS(74HC / 4000)
静态功耗较大(mW/门)极小(nW/门)
输入阻抗较低(kΩ 级)极高(>1010 Ω)
速度快(ns 级)中(ns~几十 ns,随 VDD 升高变快)
电源电压固定 5 V宽范围 3~18 V
抗干扰噪声容限 0.4 V噪声容限 ≈0.3VDD
多余输入端可以悬空(相当于接高)绝对禁止悬空
能否线与普通门不行(OC 门可以)普通门不行(OD 门可以)
驱动能力灌电流强(8 mA 级)对称(±4 mA 级),可驱动 LED
🔌 电平兼容小贴士(做实验会踩的坑)

TTL 输出高只有 3.6 V 左右,CMOS(5 V 供电)要求输入 >3.5 V 才可靠认高 → TTL 驱动 CMOS 有时需要上拉电阻。反过来 CMOS 输出接近 0/VDD,驱动 TTL 一般没问题。现代设计更常见的是 3.3 V 与 5 V 混接,必须查数据手册的 VIH/VIL,不能想当然。

高频考点本章必会
  • CMOS 反相器两种输入下的管子状态与输出;静态功耗为 0 的原因。
  • 由逻辑式画出 CMOS 门结构(NMOS 串与并或,PMOS 对偶)。
  • TTL 四个电平参数 + 噪声容限计算 + 扇出计算。
  • OC 门为什么能线与;三态门的高阻态用途。
  • CMOS 输入端为什么不能悬空。

🧪 本章自测

1. CMOS 反相器输入 0 V 时,哪只管子导通?输出多少?静态电流多大?

PMOS 导通(VGS=−VDD<VTP),NMOS 截止,输出 VDD(高)。静态电流只有漏电流,nA 级,可认为 0。

2. 已知 VOH=2.7 V,VIH=2.0 V,VOL=0.5 V,VIL=0.8 V,求噪声容限。

VNH=2.7−2.0=0.7 V;VNL=0.8−0.5=0.3 V。
取两者中较小的 0.3 V 作为该接口的噪声容限(短板决定抗干扰能力)。

3. 用 CMOS 实现 Y = (A+B)',NMOS 网络和 PMOS 网络各怎么接?

先问"Y 何时为 0":A 或 B 为 1 时 Y=0 → 下拉网络需要"或"→ 两只 NMOS 并联。对偶地,两只 PMOS 串联接在 VDD 与输出之间。

4. 两个普通 TTL 与非门的输出能直接连在一起吗?为什么?

不能。若一个输出高(上管导通接 VCC)、另一个输出低(下管导通接地),VCC 到地直通,产生极大短路电流,会烧毁输出管。要实现"线与"必须用 OC 门(外接上拉电阻)。

5. 一个 CMOS 门的输入不小心悬空了,会发生什么?

输入阻抗极高,悬空端电位不确定,可能被干扰拉到 VDD/2 附近。此时 PMOS 与 NMOS 同时导通,产生贯通电流:功耗剧增、芯片发热、输出乱跳,还可能因栅极积累电荷而击穿。不用的输入必须接 VDD 或地。

CHAPTER 06 / DAY 6

组合逻辑电路:分析与设计

建议 100 分钟难度 ★★☆考点:五步分析法、四步设计法、竞争冒险

从这一章开始,你正式进入"用逻辑门搭功能"的阶段。组合逻辑电路的定义很简单:任意时刻的输出只取决于当时的输入,与过去无关。它没有记忆,没有反馈。

🥤 生动例子:组合逻辑 = 自动售货机的找零逻辑

你投 5 元、3 元、1 元三种硬币,机器判断"够不够买 4 元的饮料"。它只关心这一次投了多少,不关心你昨天投过什么——这就是组合逻辑。
对比:时序逻辑像电梯——它记得自己现在在几楼、正要往哪走,输出取决于"当前状态 + 当前按钮"。那是第 8 章以后的事。

6.1 组合逻辑电路的分析(五步法)高频

① 逐级写表达式→ ② 化简→ ③ 列真值表→ ④ 归纳功能→ ⑤ 评价/改进

关键:从输入往输出方向逐级写,不要跳级;每个中间节点都起个名字,写清晰。

✏️ 例 6-1:分析这个"四个与非门"的电路

电路由 4 个二输入与非门组成,连接关系如下表(这就是用文字表示的逻辑图):

门类型输入输出
G1与非A, BG1 = (AB)'
G2与非A, G1G2 = (A·G1)'
G3与非B, G1G3 = (B·G1)'
G4与非G2, G3Y = (G2·G3)'

第一步:逐级写表达式(已在上表完成)。

第二步:化简

G2 = (A·(AB)')' = A' + AB = A' + B (用摩根 + A+A'B=A+B 的变形)
G3 = (B·(AB)')' = B' + AB = B' + A
Y = (G2·G3)' = G2' + G3' = (A'+B)' + (B'+A)' = AB' + A'B

所以 Y = A'B + AB' = A ⊕ B。

第三步:列真值表

ABG1G2G3Y
001110
011101
101011
110110

第四步:归纳功能——两输入相异时输出 1,相同输出 0,即异或门。

第五步:评价——用 4 个与非门实现一个异或,是 TTL 时代的经典做法(因为与非门最便宜)。结论:本电路 = 用与非门搭的异或门,也是半加器的"和"输出级。

✏️ 例 6-2:分析"或与式"电路,看看它是什么

已知 Y = (A+B)(B+C)(A+C),展开化简:

(A+B)(A+C) = A + BC(分配律的反用)
所以 Y = (A + BC)(B + C) = A(B+C) + BC(B+C) = AB + AC + BC + BC = AB + AC + BC

这不就是三人表决器吗!同一功能可以用"与或式"(AB+AC+BC)也可以用"或与式"((A+B)(B+C)(A+C))实现,前者用与门+或门,后者用或门+与门。分析题里遇到括号连乘的形式,先展开再判断功能。

⚠️ 分析题的两个失分点
  • 不化简就列真值表:表达式长,真值表容易算错,而且看不出功能。
  • 只写"Y = …"不写功能:题目问"说明电路功能",必须用自然语言回答(如"这是一个三人表决器,两人及以上同意时输出 1"),只给表达式会扣分。

6.2 组合逻辑电路的设计(四步法)高频

① 逻辑抽象→ ② 列真值表→ ③ 卡诺图化简→ ④ 画逻辑图
逻辑抽象
确定输入变量和输出变量各是什么,并用 1/0 给每个"事件"赋值。这一步最容易错,也最关键。
列真值表
按输入组合逐行填输出。n 个输入有 2n 行。
化简
用卡诺图得最简与或式;若题目指定门类型,再转成与非-与非/或非-或非。
画图
按表达式逐级画门,标清输入输出名。

✏️ 例 6-3:主副裁判电路

题目

某比赛有 1 名主裁判 A、2 名副裁判 B、C。主裁判同意,且至少一名副裁判同意时,成绩才有效(Y=1)。用与非门实现。

① 逻辑抽象:输入 A(主裁)、B、C(副裁),同意=1,反对=0;输出 Y,有效=1。

② 真值表

ABCY说明
0××0主裁反对,直接无效(4 行合并)
1000只有主裁同意
1011主裁 + C
1101主裁 + B
1111三人全同意

③ 化简:Y = Σm(5,6,7)。卡诺图圈 {5,7} 得 AC,圈 {6,7} 得 AB,所以

Y = AB + AC = A(B + C)

直觉验证:A=1 且 (B 或 C)=1 → 有效。✔ 这比列 8 行真值表更快,但考试要求写全。

④ 转与非门:Y = ((AB)' · (AC)')',用 3 个二输入与非门(其中 A 需要分发到两个门,B、C 各一个)。

✏️ 例 6-4:四人表决器(≥3 人同意通过)

输入 A、B、C、D,输出 Y。真值表有 16 行,但可以直接写:Y = Σm(7,11,13,14,15)。

AB \ CD00011110
000000
010011
110111
100110
1 的位置:m7、m11、m13、m14、m15

圈法:没有一个 4 格圈(因为任意 4 个相邻格都凑不齐),只能圈 4 个 2 格圈:

圈最小项结果
①7, 15BCD
②11, 15ACD
③13, 15ABD
④14, 15ABC

所以 Y = ABC + ABD + ACD + BCD。这是"四选三"的标准答案,考试出现率很高,建议直接记住这个形式。

🧠 设计题的"套路感"从哪来?

练熟之后你会发现,绝大多数设计题只有三类:① 表决/多数类(本例)② 比较/判别类(大于、等于、是否为素数)③ 编码/译码类(把一种码转成另一种)。
每类的真值表结构都很像,卡诺图圈法也高度重复。做 5 道题就能形成肌肉记忆。

6.3 竞争与冒险:电路也会"抖动"

理论上 Y = A + A' = 1 永远为 1。但实际电路中,A 变化时,"A"这条路径和"A'"这条路径(经过一个反相器)延迟不同,到达或门的时间有先后。在这一小段时间里,或门的两个输入可能同时为 0,输出就冒出一个窄脉冲(毛刺)。

⚡ 生动例子:两个人接力传话

你要确保"甲或乙至少有一个人举着手"。理想情况是永远有人举着。但如果规定甲先放下、乙再举起,中间就有那么一瞬间两只手都放下了——这一瞬间就是"冒险脉冲"。
脉冲虽然只有几纳秒,但如果后级是计数器,它可能被多计一个数;如果是锁存器,可能锁进错误值。这就是为什么数字电路怕毛刺。

判别方法

  • 代数法:令表达式中其他变量取特定值,看是否能化成 A + A'(静态 1 冒险)或 A·A'(静态 0 冒险)。
  • 卡诺图法:若两个圈相切(相邻但不重叠),就存在冒险。相切 = 有缝隙 = 可能掉进 0。
✏️ 例 6-5:判断 Y = AB + A'C 是否有冒险

令 B = C = 1,则 Y = A·1 + A'·1 = A + A' → 存在静态 1 冒险。
卡诺图上看:AB 圈住 m6、m7;A'C 圈住 m3、m7。两圈在 m7 处相切(只共享一个角),从 m6 走到 m3 的时候会经过"没有圈覆盖"的边界 → 冒险。

消除方法(三种,按优先级)

方法做法评价
① 增加冗余项在卡诺图上补一个圈,把"相切处"盖住。本例加 BC:Y = AB + A'C + BC最常用、最彻底,代价是多一个门
② 接滤波电容在输出端并一个小电容,把窄脉冲"磨平"简单但会减慢边沿,只适合慢速电路
③ 引入选通脉冲等输出稳定后再用选通信号采样时序配合复杂,用于高速系统

注意:BC 在逻辑上确实是冗余项(AB+A'C+BC = AB+A'C),但它在物理上有用——它保证了 B=C=1 时输出恒为 1,不管 A 怎么变。"逻辑冗余"换"物理稳定",这是一笔划算的买卖。

超纲·拓展功能冒险 vs 逻辑冒险

逻辑冒险:由电路结构(不同路径延迟)引起,可以通过加冗余项消除。
功能冒险:由函数本身的性质引起——输入变化时,即使没有任何延迟差异,输出在理论上也必须经过中间值。这种冒险无法用加冗余项消除,只能靠选通或改变输入编码(比如用格雷码)。
考试一般只考逻辑冒险,知道有这个区分即可。

高频考点本章必会
  • 分析题:逐级写表达式 → 化简 → 真值表 → 用一句话说功能。
  • 设计题:逻辑抽象(赋值)不能省,真值表要写全,卡诺图要画。
  • 设计题若指定"用与非门",必须做两次取反转成与非-与非。
  • 冒险判别:A+A' 型;消除:加冗余项。

🧪 本章自测

1. 分析 Y = (A⊕B)·(A⊕B) 的功能

同一信号自己与自己相与 = 本身,所以 Y = A⊕B,仍是异或。这类题考的是"别被形式吓到,先化简"。

2. 设计"三变量输入中恰有 2 个为 1 时输出 1"的电路,写出最简式。

真值表 Y=1 的行为 m3(011)、m5(101)、m6(110),即
Y = A'BC + AB'C + ABC'。
卡诺图上三个 1 互不相邻(每个都只和对角相邻),无法化简,就是三项。用 3 个三输入与门 + 1 个三输入或门。

3. 设计一个"两个 1 位二进制数比较"的电路,输出 G(A>B)、E(A=B)、L(A<B)。

G = AB';E = A'B' + AB = (A⊕B)';L = A'B。
注意三者互斥且完备(任何输入必有一个为 1)。这就是 74LS85 比较器的 1 位版本。

4. Y = AC + B'C 存在冒险吗?如何消除?

令 C=1,得 Y = A + B'——这不是 A+A' 型,所以不存在逻辑冒险。
判别要点:必须先让"其他变量"取特定值,使表达式只剩一个变量的原/反形式。若剩下的不是同一个变量,就没有冒险。

5. 为什么"用与非门实现"时不需要重新化简?

因为任何与或式只要整体加双非号、再用一次摩根,就能直接变成与非-与非式,且门的数量 = 与项数 + 1。化简的目标(与项最少、每项变量最少)正好对应"与非门最少、每门输入最少",所以最简与或式直接转就行。

CHAPTER 07 / DAY 7

常用组合逻辑器件:把"门"换成"芯片"

建议 110 分钟难度 ★★★考点:138 实现函数、151 实现函数、加法器

用一个个门去搭电路,就像用砖头盖楼——能做,但太慢太贵。工程上我们直接用中规模集成电路(MSI):一块芯片内部已经集成了几十个门,对外只暴露几个引脚,实现一个完整功能。这一章的核心技能是:给你一个逻辑函数,用现成芯片"拼"出来。

已学·可直接用MSI 芯片 = 你已经熟悉的"黑盒 + 端口"

把它当成《电路》里的"二端口网络":不用管内部怎么接,只要知道端口特性(真值表)。你要做的是"用已知特性的黑盒,拼出想要的功能"。
读芯片资料只看三件事:① 有哪些输入输出脚 ② 哪些脚是高有效/低有效 ③ 使能端怎么用。

7.1 编码器:把"哪条线有信号"变成"编号"

编码就是给每个输入信号分配一个二进制编号。优先编码器允许同时有多个输入有效,只对优先级最高的那个编码——这就像医院急诊分诊:同时来好几个病人,先救最危重的。

74LS148:8 线–3 线优先编码器

引脚名称有效电平作用
I0'–I7'编码输入低有效I7 优先级最高,I0 最低
A2' A1' A0'编码输出低有效(反码)输出是"输入编号的二进制取反"
EI'(ST')使能输入低有效EI'=1 时芯片不工作,输出全 1
GS'组信号输出低有效有输入被编码时 GS'=0(告诉后级"有情况")
EO'使能输出低有效EI'=0 但无输入时 EO'=0,用于级联下一片
EI'I7' I6' I5' I4' I3' I2' I1' I0'A2' A1' A0'GS'EO'含义
1× × × × × × × ×1 1 111禁止工作
00 × × × × × × ×0 0 001I7 有效 → 输出 7 的反码 000
01 0 × × × × × ×0 0 101I6 → 6 的反码 001
01 1 1 1 1 1 1 01 1 101I0 → 0 的反码 111
01 1 1 1 1 1 1 11 1 110无输入 → EO'=0(可级联)
🧠 为什么输出是反码?

因为输入也是低有效。芯片设计者让"输入低有效 + 输出低有效"配对,这样多片级联时可以直接用与门合并输出(未被选中的片输出全 1,与运算不干扰)。看到"低有效"三个字,先在心里加一个非号,这是读所有 MSI 芯片的第一课。

应用:键盘编码——按下哪个键,就输出哪个键的编号。因为人可能手快同时按下两个键,所以必须用优先编码器。

7.2 译码器:把"编号"变成"哪条线有效" 最高频

译码器是编码器的逆操作:输入 n 位二进制,输出 2n 条线,只有一条有效。它最经典的用途不是"译码",而是产生最小项——这让它成为实现任意逻辑函数的万能工具。

74LS138:3 线–8 线译码器

引脚说明
A2 A1 A0地址输入(A2 最高位),高有效
Y0'–Y7'8 个输出,低有效:被选中的那条输出 0,其余全 1
G1使能端,高有效(必须为 1)
G2A'、G2B'使能端,低有效(必须都为 0)

记忆:三个使能端必须同时满足 G1=1、G2A'=0、G2B'=0 芯片才工作;否则 8 个输出全为 1(全部"不选中")。这三个脚是级联扩展的关键。

G1G2A'+G2B'A2 A1 A0被拉低的输出其余输出
10 00 0 0Y0'全 1
10 00 0 1Y1'全 1
10 01 1 1Y7'全 1
0 或 有 1—× × ×无全 1(禁止)
高频考点用 74LS138 实现任意逻辑函数(必考)

核心原理:当芯片使能时,Yi' = mi',即每条输出就是对应最小项的非。所以:

F = Σm(i₁, i₂, …) ⟹ F = ( Yi₁' · Yi₂' · … )' 把要用的几个输出脚连到一个与非门,输出就是 F

三个操作步骤:① 地址端接函数变量(高位对高位);② 三个使能端接成有效(G1=1,G2A'=G2B'=0);③ 把 F 中出现的那些最小项对应的 Y' 脚接到与非门。

✏️ 例 7-1:用 74LS138 实现 F(A,B,C) = Σm(1,2,4,7)

接线:A→A2,B→A1,C→A0;G1=1,G2A'=G2B'=0;把 Y1'、Y2'、Y4'、Y7' 接到一个四输入与非门。

F = (Y1' · Y2' · Y4' · Y7')'

为什么对?当 ABC=001 时,只有 Y1'=0,其余为 1,与非门输出 1 ✔;当 ABC=010 时 Y2'=0,输出仍为 1 ✔;当 ABC=000(不在集合里)时四个输入全为 1,与非门输出 0 ✔。只要有一个输入为 0,与非门就输出 1——所以"选中哪一项,F 就是 1"。

✏️ 例 7-2:四变量函数怎么办?

138 只有 3 个地址端。办法是用第 4 个变量控制使能端,把一片 138 当两片用:
• 令 D 接 G2A'(低有效):D=0 时芯片工作,覆盖 m0–m7;
• 令 D 经反相接 G2B':D=1 时芯片工作,覆盖 m8–m15。
于是同一个 138 在 D=0 和 D=1 两个时段分别产生两组最小项,后面再用与非门/与门组合。更规范的做法是用两片 138,A3 接一片的 G1(高有效)和另一片的 G2A'(低有效),实现 4–16 译码。

数码管与七段译码器

数码管的七段(a~g)排成一个"8"字。共阴极:公共端接地,某段给高电平就亮 → 配 74LS48(输出高有效)。共阳极:公共端接 +5 V,某段给低电平才亮 → 配 74LS47(输出低有效)。

显示 "1" 只需点亮 b、c 两段;显示 "8" 七段全亮。译码器内部就是一个 ROM:把 4 位 BCD 输入翻译成 7 位段码。

7.3 数据选择器:一根"多路开关" 最高频

数据选择器(MUX)像铁路道岔:n 根地址线决定"让哪一路数据通过到输出"。

74LS151:8 选 1 数据选择器

引脚说明
D0–D78 路数据输入
C B A地址输入(C 最高位)
S'使能端,低有效(S'=0 工作;S'=1 时 Y=0)
Y / W'输出 / 反相输出
Y = m0D0 + m1D1 + … + m7D7 mi 是地址 CBA 的最小项。地址选中哪一路,Y 就等于那一路的数据
高频考点用 74LS151 实现逻辑函数("降维法")
  1. 把函数的 n−1 个变量接到地址端(一般让高位接地址);
  2. 剩下那 1 个变量,逐个地址去算:把该地址下"其余变量"的取值代入函数,结果可能是不含该变量的表达式;
  3. 把算出的表达式(0、1、D、D')接到对应数据端。
✏️ 例 7-3:三变量函数(数据端只接 0/1)

用 151 实现 F(A,B,C) = Σm(1,3,5,7)。
地址端 C←A、B←B、A←C(即 A 为最高位)。逐项看:
m0=0 → D0=0;m1=1 → D1=1;m2=0 → D2=0;m3=1 → D3=1;m4=0;m5=1;m6=0;m7=1。
所以 D1=D3=D5=D7=1,其余接 0。这也一眼看出 F=C(因为编号为奇数的都是 C=1)。

✏️ 例 7-4:四变量函数(数据端接变量)

用 151 实现 F(A,B,C,D) = Σm(0,1,5,7,9,11,13,15)。
地址端接 A、B、C(A 最高位),剩下 D 要"降维"。按 ABC 分组看 D=0 / D=1 两格:

ABCD=0 时 FD=1 时 F该地址的 Di
0001(m0)1(m1)1
0010(m2)0(m3)0
0100(m4)1(m5)D
0110(m6)1(m7)D
1000(m8)1(m9)D
1010(m10)1(m11)D
1100(m12)1(m13)D
1110(m14)1(m15)D

所以 D0 接 1,D1 接 0,D2~D7 全部接 D。
检查:ABC=000 时无论 D 是 0 还是 1,F 都是 1(因为 m0、m1 都在集合里)→ 所以 D0 恒为 1。而 ABC=010 时 F 恰好等于 D → D2=D。

74LS153 是"双 4 选 1":一片里有两个独立的 4 选 1 MUX,共享地址端。适合实现两个三变量函数,很省芯片。

⚠️ 138 和 151 的区别(别用混)

• 138:一次只"拉低一条线",天然产生全体最小项,适合"多输出、项数少"的函数;需要额外的与非门合成。
• 151:一次只"通过一路数据",不需要额外门就能输出函数(尤其是 4 变量函数,一片就够),但数据端接线要逐个算。
经验:三变量函数首选 138(接线整齐);四变量函数首选 151(一片搞定)。

7.4 加法器:数字电路里的"算术心脏"

半加器与全加器

类型输入输出表达式
半加器 HAA、B(两个 1 位数)S(和)、C(进位)S = A⊕B,C = AB
全加器 FAA、B、Ci(低位进位)S、CoS = A⊕B⊕Ci,Co = AB + Ci(A⊕B)

"半加"之所以叫半,是因为它不能接收低位来的进位,只能算最低位;多位相加必须用全加器。

🧮 生动例子:全加器就是"列竖式"

算 7 + 5:111 + 101。
最低位:1+1 = 0,进位 1 → 这个进位就是下一位的 Ci。
中间位:1+0+1 = 0,进位 1。
最高位:1+1+1 = 1,进位 1 → 结果 1100 = 12。
你小学学的竖式,每一位做的事情就是"全加器"。4 个全加器串起来,就是 4 位加法器。

串行进位 vs 超前进位

  • 串行进位(行波进位):4 个全加器首尾相连,进位一级一级传。缺点:总延迟 = 4 × 单级延迟,位数越多越慢。
  • 超前进位:额外加"进位产生/传播"逻辑,所有进位同时算出来,代价是电路复杂。74LS283 就是 4 位超前进位加法器。
✏️ 例 7-5:用 74LS283 做减法(考试常考)

283 只能做加法,怎么办?用补码:A − B = A + (−B) = A + B' + 1。
接线:B1–B4 各经一个反相器(即取 B'),再把 C0(进位输入)接 1。
于是 283 实际算的是 A + B' + 1 = A + (24 − B) = A − B + 16,低 4 位正好是 A−B(若 A≥B),而 C4 是全 1 表示无借位。一个加法器 + 4 个反相器 = 加减两用 ALU 的雏形。

超纲·拓展BCD 加法的"加 6 修正"

用二进制加法器算 BCD 数会出错:8+7 = 1111 = 15,但 BCD 只认 0–9,15 是非法的。修正规则:若和 > 9(即 C4=1 或 S3S2=11),就再加 0110(6)。
为什么加 6?因为 4 位二进制逢 16 进 1,而 BCD 逢 10 进 1,差 6,所以"跳过" 6 个非法码。这正是 74LS83/283 加一片修正逻辑构成 BCD 加法器的原理,也是"为什么 BCD 运算更慢更费电"的答案。

7.5 数值比较器:74LS85

4 位比较器,比较两个 4 位二进制数 A3A2A1A0 与 B3B2B1B0,输出三个互斥的结果:OA>B、OA<B、OA=B。

它还有三个级联输入 IA>B、IA<B、IA=B,用于多片串联:低位片的三个输出接高位片的三个级联输入,高位片就能在"高位相等"时参考低位的比较结果。

✏️ 单块使用时怎么接级联输入?

IA=B 接 1,IA>B 和 IA<B 接 0。含义是"没有更低位的数了,低位视为相等"。这个细节考试常挖坑:接错会导致所有比较结果都不对。

7.6 MSI 设计总口诀

高频考点看到题目先问:"这是哪类问题?"
  • "实现某逻辑函数" → 优先 138 + 与非门(三变量)或 151(四变量)。
  • "多输出函数" → 138 最划算(一次产生全部最小项,多路复用)。
  • "算术运算" → 283(加法)、283+反相器(减法)、283+修正(BCD)。
  • "判断大小/相等" → 85 比较器。
  • "把 n 条线里的一条变成编号" → 148 优先编码器。
  • "把编号变成 n 条线之一" → 138 译码器。

答题模板:① 写出函数的最小项之和;② 选定芯片并说明接线(地址、使能、数据);③ 画出/写出外部附加门;④ 一句话说明原理。

🧪 本章自测

1. 用 74LS138 实现 F = A'B'C + AB'C' + ABC(即 Σm(1,4,7))。

使能:G1=1,G2A'=G2B'=0;地址 A→A2、B→A1、C→A0;把 Y1'、Y4'、Y7' 接三输入与非门。
F = (Y1'·Y4'·Y7')'。

2. 151 的地址端接 A、B、C,Di 全接 D,输出是什么?

无论选中哪一路,Y 都等于 D,所以 Y = D,与 A、B、C 无关。这正是"数据端接变量 = 该变量直接影响输出"的含义。

3. 全加器 Co = AB + Ci(A⊕B) 和 Co = AB + ACi + BCi 等价吗?

完全等价。展开:Ci(A⊕B) = Ci(AB' + A'B) = ACiB' + A'BCi,加上 AB 后利用 AB + AB'Ci = AB + Ci 等可化简为 AB + ACi + BCi。
第一种形式更省门(一个异或 + 一个与 + 一个或),第二种形式更"对称"、便于卡诺图分析。

4. 两片 4 位比较器级联,8 位比较时低位片的输出往哪接?

接高位片的级联输入 IA>B、IA<B、IA=B。低位片本身的级联输入仍接 "相等=1、其余=0"(因为它是最低位)。

5. 为什么说"138 天然产生全部最小项"?

因为 8 条输出分别对应 8 个地址组合,而每个地址组合正好就是一个最小项。输出低有效意味着 Yi' = mi',即"每条线携带一个最小项的非"。所以只要加一级与非门/与门,就能组合出任意函数——这就是"通用逻辑模块"的含义。

CHAPTER 08 / DAY 8–9

触发器:给电路装上"记忆"

建议 2 × 80 分钟难度 ★★★考点:SR/D/JK/T 方程、波形、空翻、边沿

组合逻辑有个致命缺陷:输入一撤,输出就忘了。可计数器要"记住"现在数到几,寄存器要"记住"存了什么。所以我们需要一个能存 1 位二进制的元件——触发器。它是所有时序逻辑的地基。

🎢 生动例子:双稳态 = 跷跷板

跷跷板只有两个稳定状态:左边着地或右边着地。你推一下,它翻到另一边并停住;手松开,它保持不动。中间那个"水平"的位置是不稳定的,一碰就倒向某一边。
触发器就是这样:两个稳定状态(0 和 1)+ 一个"推"的动作(输入信号)。断电之前,它会一直记住你最后推的那一下——这就是"记忆"。

8.1 基本 SR 锁存器:最简单的记忆单元

① 或非门构成(S、R 高有效)

用两个或非门交叉反馈构成的 RS 锁存器,S、R 高有效
SRQ*功能
00Q保持(记住原状态)
010置 0(Reset 复位)
101置 1(Set 置位)
11?禁止:Q 和 Q̄ 同时为 0,违反互补约定
Q* = S + R'·Q ,约束条件:S·R = 0 S=1 强行置 1;R=1 强行清 0;都 0 则保持。都 1 会破坏 Q 与 Q̄ 的互补关系

② 与非门构成(S'、R' 低有效)

用两个与非门交叉反馈构成的 RS 锁存器,S′、R′ 低有效

把两个与非门交叉连接,输入端命名为 S'、R',低电平有效:S'=0 置 1,R'=0 置 0,都为 1 保持,都为 0 禁止(此时 Q=Q̄=1)。

⚠️ "低有效"是初学者第一个大坑

看到 S'(或 S̄、/S)要条件反射:它 = 0 才是"动作有效"。所以"与非门 SR 锁存器"的状态表是:
S'=0、R'=1 → 置 1;S'=1、R'=0 → 置 0;S'=R'=1 → 保持;S'=R'=0 → 禁止。
这和或非门版本的"1 有效"正好相反。做题第一步永远是:先判断哪个电平是有效电平。

已学·可直接用为什么两个门"交叉接"就能存住?

用你在第 3 章学的结点电压法思路看:把 Q 和 Q̄ 当成两个节点,每个门的输出由另一个门的输出决定,形成一个正反馈环。
正反馈有两个稳定解(Q=1/Q̄=0 或 Q=0/Q̄=1),就像《电路》里两个互相偏置的晶体管可以稳定在两个状态。"双稳态"这个词就是这么来的。

8.2 门控 SR 锁存器与"空翻"

基本 SR 锁存器的输入随时能改状态,太"自由"了。加上一个 CP(时钟脉冲)控制门,只在 CP 有效时才允许动作,就得到门控 SR 锁存器。

但随之而来一个麻烦:空翻。当 CP=1 的整个期间,锁存器是"透明"的——输出跟着输入变。如果 CP 脉冲比较宽,输入变几次,输出就翻几次。而触发器应该"一个时钟周期只翻一次",否则计数器会乱。

🚪 生动例子:空翻 = 门开得太久

你想让"每个进来的人只往屋里放一件东西"。于是规定"门开着的时候可以放"。结果门开了 10 秒,有人进出 3 次,放了 3 件。
正确做法是:只在"推门的那一瞬间"放行一次,然后立刻关死——这就是后面"边沿触发"要解决的问题。

D 锁存器(透明锁存器)

把门控 SR 的 S、R 之间接一个反相器,让它们永远互补(杜绝"同时为 1"的禁止状态),输入只剩一个 D:

CP = 1 时:Q* = D(输出跟随输入,称"透明") · CP = 0 时:Q* = Q(保持)

D 锁存器(如 74LS373)在 CP=1 期间透明,CP 下降沿"锁住"当前值。它仍属于电平触发,不是边沿触发。

8.3 主从触发器:让"一个 CP 只翻一次"

思路很巧:用两个门控锁存器串起来,一个叫主,一个叫从,让它们的 CP 互补:

  • CP = 1:主锁存器开门(接收输入),从锁存器关门(保持输出)——输出暂时不变;
  • CP 下降沿(1→0):主锁存器关门(记住刚才的输入),从锁存器开门(把主的状态送到输出)——输出更新一次。

于是一个 CP 周期,输出只变一次,空翻被消除了。

主从 JK 触发器:解决"禁止状态"

把主从 SR 的输出反馈回输入,用 J、K 两个输入,就得到 JK 触发器。J=K=1 时它"翻转"(T 功能),而不再是禁止状态。

Q* = J·Q' + K'·Q J=1,K=0 → 置 1;J=0,K=1 → 置 0;J=K=0 → 保持;J=K=1 → 翻转
⚠️ 主从 JK 的"一次翻转"问题(选择题爱考)

主从结构虽然解决了空翻,但在 CP=1 期间,主锁存器仍是透明的。如果 J、K 在这段时间里受干扰而短暂变化,主锁存器可能被"骗"着翻转一次(只能翻一次,因为翻转后反馈会锁死),然后这个错误状态在下降沿被送到输出。
结论:主从 JK 要求 J、K 在整个 CP=1 期间保持稳定,这在实际中很难保证。于是有了边沿触发器。

8.4 边沿触发器:只在"那一瞬间"采样 最高频

边沿触发的思路:把采样时刻压缩到 CP 跳变的瞬间(纳秒级),只有在这一瞬间的输入值才算数,其他时间的输入变化一概不管。

类型触发边沿代表芯片符号特征
边沿 D 触发器(维持阻塞)上升沿(0→1)74LS74(双 D)CP 端画小三角
边沿 JK 触发器下降沿(1→0)74LS112(双 JK)CP 端小三角 + 小圆圈
边沿 D 触发器:Q* = D(只在时钟边沿这一刻采样 D)
🧠 波形题的唯一法则

① 先把 CP 的每个上升沿(或下降沿)用竖线标出来;② 只在竖线处看输入值;③ 输出在这条竖线之后立刻变成那个值,其余时间输出保持不变(哪怕输入乱跳)。
如果题目是 D 锁存器(电平触发),规则换成:"CP=1 期间输出 = D,CP=0 期间保持"——这时输出会在 CP=1 期间跟着 D 变。两者画出来完全不同,看清题目给的是"锁存器"还是"触发器"。

动态特性:建立时间与保持时间

参数含义违反的后果
建立时间 tsu数据必须在时钟边沿之前稳定的最短时间输出可能进入亚稳态(既非 0 也非 1),随机出错
保持时间 th数据必须在时钟边沿之后继续保持的最短时间同上
传输延迟 tpd时钟边沿到输出稳定的时间限制最高工作频率
最高时钟频率 fmax触发器能可靠工作的最高频率超过就丢数据

"亚稳态"是数字电路里唯一真正的"不确定态":触发器输出停在高低之间的中间电压,持续一段时间后才随机倒向一边。跨时钟域传输时最常见,工程上用"两级触发器同步"来解决。

8.5 四种触发器的特性方程与激励表 必背

类型特性方程(次态)功能说明
SRQ* = S + R'Q,SR = 0置位/复位,有约束
DQ* = D跟随输入,最简单
JKQ* = JQ' + K'Q功能最全(保持/置位/复位/翻转)
TQ* = T⊕QT=1 翻转,T=0 保持

激励表(已知"现态→次态",反推需要的输入)——第 10 章设计时序电路时要用:

Q → Q*DJ KTS R
0 → 000 ×00 ×
0 → 111 ×11 0
1 → 00× 110 1
1 → 11× 00× 0

"×"表示取 0 取 1 都行(无关项)。JK 的 × 最多,所以 JK 触发器在设计时最灵活——这也是考试爱用 JK 出设计题的原因。

🔁 触发器之间的转换(常考小问)

任何触发器都能改成另一种,方法是"令特性方程相等":
• JK 当 D 用:要 JQ'+K'Q = D,取 J=D、K=D'。✔ 最常用。
• JK 当 T 用:令 J=K=T,则 Q* = TQ'+T'Q = T⊕Q。✔
• D 当 T 用:令 D = T⊕Q(需要加一个异或门)。
• SR 当 D 用:令 S=D、R=D'(但 D 从 1 变 0 时需先复位,有约束风险)。

8.6 异步输入端:随时"强拆"

实际芯片除了 CP 和 D/JK,还有 RD(清 0)和 SD(置 1)两个脚,低有效,且不受时钟控制:

  • RD' = 0:立刻把 Q 清 0,不管 CP 和 D 是什么;
  • SD' = 0:立刻把 Q 置 1;
  • 两者都为 1:正常工作;两者同时为 0:禁止(同 SR 的约束)。

用途:开机复位(上电时把计数器清零)、手动置初值。第 11 章的"反馈清零法"就靠它。

高频考点本章必须拿下的 5 件事
  1. 画出或非门/与非门 SR 锁存器,写出状态表,说出禁止状态及其原因。
  2. 解释空翻的成因,以及主从/边沿结构如何解决它。
  3. 默写 D、JK、T 特性方程;会用激励表反推输入。
  4. 给 CP 和 D/JK 波形,画出 Q 的波形(注意是上升沿还是下降沿!)。
  5. 分清"锁存器(电平触发)"和"触发器(边沿触发)"。

🧪 本章自测

1. 或非门 SR 锁存器,S=1、R=1 时输出是什么?为什么说这是"禁止"?

此时 Q=0、Q̄=0(两个或非门输出都被强制为 0)。
禁止的原因有二:① 破坏了 Q 与 Q̄ 必须互补的约定,后级电路无法判断;② 当 S、R 同时回到 0 时,两个门会"抢着"变 1,最终状态取决于谁更快——结果不可预测。

2. D 触发器(上升沿)的 CP 与 D 波形如下:D 在第 1 个上升沿前为 1,第 2 个前为 0,第 3 个前为 1,第 4 个前为 0。画出 Q。

Q 依次为 1、0、1、0,且只在上升沿跳变,两次上升沿之间无论 D 怎么变,Q 都保持不变。
若这是 D 锁存器(电平触发),则 CP=1 期间 Q 要跟着 D 变,画出来是"锯齿状"的。这就是两类器件的区别。

3. JK 触发器 J=K=1 时,Q 从 0 开始,连续 4 个时钟边沿后 Q 是什么?

每次翻转:0→1→0→1→0。4 个边沿后 Q=0。
这正是"二分频":每来一个时钟,Q 翻一次,所以 Q 的频率是 CP 的一半。T'触发器(T=1)就是二分频器,第 11 章计数器的基础。

4. 主从 JK 和边沿 JK 的核心区别是什么?

主从:CP=1 期间主锁存器透明,J、K 必须保持稳定,否则可能"一次翻转"出错;输出在 CP 下降沿更新,但本质仍是两级电平触发。
边沿:内部用维持-阻塞结构,只在边沿瞬间采样,边沿之外的输入变化完全不影响,对输入波形要求宽松得多。

5. 要把 JK 触发器当 D 触发器用,J、K 怎么接?

J = D,K = D'(D 经反相器接 K)。
验证:Q* = JQ' + K'Q = DQ' + D·Q = D(Q'+Q) = D ✔

CHAPTER 09 / DAY 10

时序逻辑电路分析:看懂别人搭的电路

建议 90 分钟难度 ★★★考点:五步分析法、状态图、自启动

时序逻辑电路 = 组合逻辑 + 触发器。它的输出不仅取决于当前输入,还取决于电路现在处于什么状态。所以分析时必须把"状态"当成变量写进方程。

已学·可直接用时序电路就是"带记忆的反馈网络"

你在《电路》里学过含受控源的反馈电路:输出通过反馈影响输入,形成闭环。时序电路完全一样——只是把反馈环里的"记忆元件"换成了触发器。
分析方法也一脉相承:先写节点方程(这里是驱动方程),再联立求解(这里是状态方程),最后看稳态解(这里是状态转换图)。

9.1 三个基本概念

概念含义你要做的
现态 Qn时钟边沿到来之前触发器存的值写在状态表的左边
次态 Qn+1时钟边沿到来之后的新值用特性方程算出来
状态变量所有触发器输出的组合,如 Q2Q1Q0n 个触发器 → 最多 2n 个状态
  • 同步时序电路:所有触发器共用同一个 CP,同时翻转。分析简单,是考试主流。
  • 异步时序电路:各触发器时钟不同(前一级输出当下级时钟)。分析要额外考虑"谁先翻"。
  • Mealy 型:输出 = f(现态, 输入),输入一变输出立刻变。
  • Moore 型:输出 = f(现态),只跟状态有关,与当前输入无关。

9.2 分析五步法 最高频

① 驱动方程→ ② 状态方程→ ③ 输出方程→ ④ 状态转换表→ ⑤ 状态图 + 说明功能

驱动方程:每个触发器输入端(J/K/D)等于什么。状态方程:把驱动方程代入触发器特性方程,得到 Q* 的表达式。

✏️ 例 9-1:分析一个 2 位同步计数器(JK 触发器)

已知电路连接(这就是"逻辑图"的文字版):

连接表达式
FF1 输入J1 = Q0,K1 = Q0
FF0 输入J0 = 1,K0 = 1
输出Y = Q1Q0
时钟同步,共用一个 CP

① 驱动方程:J1=K1=Q0;J0=K0=1。

② 状态方程(代入 Q* = JQ' + K'Q):
Q1* = Q0Q1' + Q0'Q1 = Q1 ⊕ Q0
Q0* = 1·Q0' + 0·Q0 = Q0'

③ 输出方程:Y = Q1Q0(只在 11 状态为 1,Moore 型)。

④ 状态转换表(把 4 个现态逐个代入)

现态 Q1Q0次态 Q1*Q0*Y
0 00 10
0 11 00
1 01 10
1 10 01

⑤ 状态图与功能:状态按 00→01→10→11→00 循环,共 4 个状态,每个 CP 加 1,所以这是一个 模 4(2 位二进制)同步加法计数器;Y 在计数值为 11 时为 1,即每 4 个脉冲产生一个进位输出。

🎨 状态图画法(考试要手画)

每个状态画一个圆圈,里面写状态编码(如 "01");状态转移画带箭头的弧线,旁边标"输入/输出"。
• 本例没有外部输入,所以箭头上只标 Y(或者不标)。
• 有输入的电路,箭头上必须写"X/Y",如 0/1 表示"输入 0 时沿这条边走,输出 1"。
• 常用 S0、S1… 命名,也可以直接写编码。写编码更省事,也不容易错。

✏️ 例 9-2:带输入的序列检测电路(D 触发器)

已知:两个 D 触发器,D1 = X,D0 = Q1,Y = Q1Q0,同步时钟。

① 驱动方程:D1=X,D0=Q1。

② 状态方程(D 触发器 Q*=D):Q1* = X,Q0* = Q1。

③ 输出方程:Y = Q1Q0。

④ 状态转换表(现态 4 个 × 输入 2 个 = 8 行)

现态 Q1Q0X=0 次态 / YX=1 次态 / Y
0000 / 010 / 0
0100 / 010 / 0
1001 / 011 / 0
1101 / 111 / 1

⑤ 功能:状态 11 表示"最近两次采样都是 1"。所以这是一个连续两个 1 的序列检测器:输入串行数据 X,一旦出现 "11",输出 Y 就变 1(并保持到 1 被打断为止)。
因为 Y 只由状态决定,属于 Moore 型。如果把输出改成 Y = X·Q1,那就变成了 Mealy 型(Y 还依赖当前输入)。

9.3 自启动能力:电路会不会"卡死"

n 个触发器有 2n 个状态,但设计时常常只用了其中一部分。比如 3 个触发器只用了 5 个状态,剩下 3 个叫无效状态。

⚠️ 关键问题:如果电路因为干扰落进了无效状态,会发生什么?
  • 能自启动:经过若干时钟后,会自己绕回主循环。安全。
  • 不能自启动:在无效状态里"打转",永远回不来。电路死机,必须重新复位。

检查方法:把所有无效状态逐个代入状态方程,画出它们的去向,看能否在有限步内进入主循环。设计题里这一步必须写,占 2~3 分。

✏️ 例 9-3:判断能否自启动

某 3 触发器电路,有效状态为 000→001→011→111→000(4 个),其余 4 个为无效状态。逐个代入得:
100 → 001(进入主循环 ✔) 010 → 101 → 011(进入主循环 ✔)
110 → 100 → 001 ✔ 101 → 011 ✔
所有无效状态都能绕回来 → 能自启动。
反之,若某个无效状态的次态还是无效状态,且形成闭环(如 100→110→100),则不能自启动。

9.4 时序图:把状态画成波形

时序图画法:在 CP 的每个有效边沿处,读取新的状态值,画成阶梯波。

✏️ 例 9-4:给例 9-1 的电路画时序图(CP 连续 5 个脉冲,初态 00)

状态序列:00 → 01 → 10 → 11 → 00 → 01
所以 Q0 的波形是每来一个 CP 翻转一次(0101010…),频率是 CP 的 1/2;
Q1 每两个 CP 翻转一次,频率是 CP 的 1/4;
Y = Q1Q0 在状态 11 时为高,宽度等于一个 CP 周期。
结论:每一位输出都是前一位的二分频——这就是"计数器就是分频器"。

画图要点:Q 的跳变必须与 CP 的有效边沿对齐;若考虑传输延迟,跳变会略微滞后。考试一般不考虑延迟,对齐画即可。

高频考点本章得分要点
  • 驱动方程 → 状态方程 → 输出方程,三步必须写出来(占分最多)。
  • 状态转换表要把 2n 个状态写全(包括无效状态,为自启动检查做准备)。
  • 状态图箭头上的标注格式:输入/输出。
  • 功能描述要用自然语言:"模 N 计数器" / "序列检测器(检测 XXX)"。
  • 自启动检查不能忘。

🧪 本章自测

1. 已知 D1 = Q0、D0 = Q1',写出状态方程和状态表。

Q1* = Q0,Q0* = Q1'。
00→01→00→…(2 状态循环);10→11→10→…分成两个独立循环,不能自启动。
这类"两个死循环"的电路就是典型的不能自启动。

2. 一个 3 位同步二进制计数器的状态数是多少?输出 Y 从哪一位取能得到 8 分频?

3 个触发器 → 23=8 个状态(000~111),所以是模 8 计数器。
最低位 Q0 是 2 分频,Q1 是 4 分频,Q2 是 8 分频。

3. 状态图和状态表有什么区别?

状态表是"表格形式"的转移关系,适合逐项计算、适合写进答题纸;状态图是"图形形式",一眼能看出循环结构和自启动情况。
考试通常要求两样都画:先用表算,再画图看结构。

4. 为什么异步时序电路分析更麻烦?

因为各触发器不在同一时刻翻转:某个触发器的输出在翻转过程中可能又成为下一级的时钟,产生"级联翻转"。分析时必须逐级按时间顺序推导,还要考虑延迟导致的竞争,不能简单套同步的公式。

5. 一个 Moore 型电路的输出 Y=1 对应状态 S2。如果输入在 S2 时从 0 变 1,Y 会立刻变吗?

不会。Moore 型输出只与状态有关,输入变化不影响输出,必须等下一个时钟边沿使状态改变后,Y 才可能变。这正是 Moore 比 Mealy "慢一拍"的原因,也是它更抗干扰的原因。

CHAPTER 10 / DAY 11

时序逻辑电路设计:从"需求"到"电路"

建议 110 分钟难度 ★★★★考点:状态图、编码、驱动方程、自启动

这是全课程最难的一道大题,但只要按固定步骤走,它其实是一道"流程题"。难在第一步的"逻辑抽象"(把文字需求画成状态图),后面全是机械操作。

10.1 设计七步法

① 画状态图→ ② 状态化简→ ③ 状态编码→ ④ 状态表→ ⑤ 求驱动方程→ ⑥ 输出方程+画图→ ⑦ 自启动检查

第 ② 步(状态化简)在考试中常被跳过——题目给的序列一般不能合并。但答题时提一句"状态已最简"更稳妥。

① 画状态图:整道题的分水岭

🧠 画状态图的通用套路(以序列检测器为例)

把"已经匹配了多少"作为状态:
S0:还没匹配任何有效前缀;
S1:已匹配 1 位;
S2:已匹配 2 位(输出 1)。
然后对每个状态问两件事:"如果来 0 会怎样?如果来 1 会怎样?"尤其要考虑"失配后能保留多少前缀"——这是最容易错的地方。
例:检测 "11",在 S1(已有一个 1)来 0 → 回到 S0;在 S2 来 0 → 回到 S0;在 S2 来 1 → 仍留在 S2(因为最后两个仍是 11)。

③ 状态编码:三种方案

编码方式n 个状态用几位优点缺点
二进制编码⌈log2n⌉ 位触发器最少,考试默认需要译码,可能有无效状态
格雷码编码同上相邻状态只变 1 位,减少毛刺编码规则稍复杂
独热码(One-hot)n 位(一个状态一位)译码极简单,速度快,FPGA 常用触发器多,只适合状态少

考试没有特殊说明时,一律用二进制编码,从 S0=00 开始按顺序编。

10.2 完整例题:设计"连续两个 1"检测器 照着背

题目

设计一个串行序列检测器,输入 X 逐位输入,当连续出现两个 1 时输出 Y=1(允许重叠,如 111 中第 2、3 位也算)。用 JK 触发器实现,并检查自启动。

① 状态图

现态含义X=0X=1
S0没有有效的 1S0 / 0S1 / 0
S1已有 1 个 1S0 / 0S2 / 0
S2已有 2 个连续 1S0 / 1S2 / 1

注意 S2 在 X=1 时留在 S2(因为末尾两个仍是 11),这就是"重叠检测"。输出只与状态有关(S2 时 Y=1)→ Moore 型。

② 状态化简:三个状态含义不同、输出不同,已是最简。

③ 状态编码:3 个状态需要 2 位。令 S0=00、S1=01、S2=10。11 是无效状态。

④ 状态表 + 激励表(现态 Q1Q0,输入 X)

Q1Q0XQ1*Q0*J1K1J0K0Y
000000×0×0
001010×1×0
010000××10
011101××10
10000×10×1
10110×00×1
11×××××××

激励表用法:0→0 取 J=0,K=×;0→1 取 J=1,K=×;1→0 取 J=×,K=1;1→1 取 J=×,K=0。

⑤ 求驱动方程(以 Q1、Q0、X 为变量,用卡诺图或观察法)

驱动为 1 的条件结果
J1只有 Q1Q0=01 且 X=1J1 = Q1'Q0X
K1只有 Q1Q0=10 且 X=0K1 = Q1Q0'X'
J0只有 Q1Q0=00 且 X=1J0 = Q1'Q0'X
K0所有 Q0=1 的行(与 X 无关)K0 = Q0

这里每个函数只有 1~2 个 1(或整列),画卡诺图反而麻烦,直接看表写更快。但答题时最好在草稿上画一下卡诺图确认没有遗漏。

⑥ 输出方程与电路:Y = Q1Q0'(即状态 10 时为 1)。
按四个驱动方程画门:三个与门(分别产生 J1、K1、J0)+ 一个直接连线的 K0,接两个 JK 触发器。

⑦ 自启动检查:把无效状态 Q1Q0=11 代入驱动方程:

J1 = 0·1·X = 0,K1 = 1·0·X' = 0 → Q1* = Q1 = 1
J0 = 0·0·X = 0,K0 = Q0 = 1 → Q0* = 0
所以 11 → 10,进入有效状态 S2,能自启动 ✔

🎬 生动例子:状态图就是"剧本",触发器是"演员"

设计时序电路像拍一部只有几个场景的短片:
• 状态 = 场景(S0 街上、S1 门口、S2 屋里);
• 输入 = 剧情触发器(来 1 就进下一步,来 0 就退回);
• 输出 = 某个场景里亮起的灯。
编码就是给场景编号(00、01、10),驱动方程就是"演员在什么情况下换哪个表情"。先写清楚剧本,再谈表演——顺序反了就会一团乱。

⚠️ 设计题的五个扣分雷区
  1. 状态图漏掉失配分支:只画了"匹配成功"的路径,没画"来 0 怎么办"。
  2. 编码不写:直接跳到状态表,阅卷老师不知道 S1 是 01 还是 10。
  3. 激励表用错:把 1→0 写成 J=1(正确是 K=1)。
  4. 驱动方程没化简:直接写成最小项之和,门电路一大堆。
  5. 忘了自启动检查:白丢 2~3 分。
超纲·拓展用 D 触发器设计会更简单吗?

求驱动方程更简单,但电路可能更复杂。
• D 触发器:D = Q*,所以驱动方程就是次态的表达式,不用查激励表,四个变量直接出结果。
• JK 触发器:多了 ×(无关项),卡诺图能圈得更大,门电路通常更少。
考试怎么选?题目指定就用指定的;没指定时,如果状态多、次态复杂,JK 更省门;如果状态少、要求快,D 更快(少一级逻辑)。现代 FPGA 内部只有 D 触发器,所以工程上几乎都用 D。

🧪 本章自测

1. 设计"检测 101"的序列检测器,至少需要几个状态?

4 个:S0(无)、S1(已收到 "1")、S2(已收到 "10")、S3(已收到 "101",输出 1)。
注意失配回退:S2 来 1 → 收到 "101" 的后缀 "1",应回到 S1(不是 S0);S3 来 0 → 后缀 "10"? 序列是 1010,末尾 "10" 匹配 S2 → 回到 S2。这些"重叠回退"是序列检测的核心难点。

2. 3 个状态用二进制编码需要几位触发器?还剩几个无效状态?

⌈log23⌉ = 2 位,2 个触发器,共 4 个编码状态,剩 1 个无效状态。必须检查自启动。

3. 为什么 JK 触发器的激励表里有那么多"×"?

因为 JK 功能最全:J=1,K=× 能置 1,J=×,K=1 能置 0,只要一个条件满足即可,另一个随意。
这些"随意"在卡诺图里就是无关项,能帮助圈出更大的圈,从而简化驱动方程、减少门数。这是 JK 在设计题中的最大优势。

4. 设计题中"状态化简"在什么情况下有实际作用?

当两个状态的"次态"和"输出"对所有输入都完全相同时,它们等价,可以合并。
例:某电路 S2 和 S3 对 X=0、X=1 都去同样的状态、输出也一样 → 合并成一个。合并后状态数减少,可能少用一个触发器。序列检测器一般不能合并(因为"已匹配长度"不同),而某些状态机(如交通灯)可以。

5. 设计一个模 5 计数器,需要几个触发器?编码怎么选?

3 个触发器(2 个只能表示 4 个状态,不够)。用 000、001、010、011、100 表示 0~4,剩下 3 个无效状态必须做自启动检查。
实际工程中更常用"集成计数器 + 反馈"来做(第 11 章),比用触发器从头设计省事得多。

CHAPTER 11 / DAY 12

计数器与寄存器:最常用的两块"积木"

建议 100 分钟难度 ★★★考点:任意进制、反馈清零/置数、194

计数器是数字系统里出现频率最高的电路:分频、定时、计数、地址生成、序列产生,全靠它。而考试里 90% 的计数器题,都是同一句话:"用 74LS161 构成 N 进制计数器"。这一章就把这句话彻底拆开。

11.1 计数器的分类

分类角度类型说明
时钟方式同步所有触发器共用 CP,同时翻转,速度快、无中间态
异步前一级输出当下级时钟,逐级翻转,有"行波"延迟
计数方向加法(递增)0,1,2,…
减法(递减)…,2,1,0
可逆有加/减控制端(如 74LS190/191)
进制二进制模 2n(如 161 是模 16)
十进制模 10(如 160、290)
任意进制模 N,靠"反馈"实现 ← 考试重点

11.2 74LS161 / 160 / 163:四大金刚

型号进制清零方式置数方式备注
74LS161模 16(4 位二进制)异步清零同步置数最常用
74LS160模 10(8421BCD)异步清零同步置数计到 9 后回 0
74LS163模 16同步清零同步置数清零要等时钟
74LS162模 10同步清零同步置数—
CLR'LOAD'ENTENPCLK功能
0××××异步清零(立即 Q=0000,不等时钟)
10××↑同步置数(下一个上升沿装入 D3D2D1D0)
1111↑计数(每来一个上升沿 +1)
110××保持(RCO=0)
11×0×保持(RCO 不变)

RCO(进位输出)= Q3Q2Q1Q0 · ENT,即计到 1111 且允许计数时为 1,用于级联高位片。ENT 和 ENP 都必须是 1 才能计数——这是阅卷常查的接线点。

11.3 任意进制计数器:两种方法 最高频

161 天生是模 16。想让它变模 6,就要"提前把它拉回 0"。两种拉法,对应两个信号:

必背对比表反馈清零 vs 反馈置数
对比项反馈清零法反馈置数法
用哪个脚CLR'(清零端)LOAD'(置数端)
何时生效异步:译码信号一到,立刻清零同步:译码信号到了也要等下一个时钟
译码哪个状态状态 N(第 N+1 个状态)状态 N−1(最后一个有效状态)
状态 N 是否出现短暂出现(几个 ns 的毛刺),不算有效状态不出现,状态干净
适用芯片161、160(异步清零)161、160、163、162 都行
可靠性稍差(有毛刺)更好(无毛刺)

✏️ 例 11-1:用 74LS161 构成模 6 计数器(两种方法都做)

方法一:反馈清零法(计数 0000 → 0101,共 6 个状态)

  1. 确定要译码的状态:N = 6 = 0110(Q2Q1Q0 = 110);
  2. 写出清零条件:CLR' = (Q2Q1)'(用与非门,因为 CLR' 低有效);
  3. 其他脚:LOAD'=1、ENT=ENP=1。

工作过程:计到 0101 时正常;下一个脉冲到 0110,与非门立刻输出 0,芯片瞬间清零回 0000。所以稳定循环是 0000~0101,共 6 个状态 = 模 6 ✔。

方法二:反馈置数法(同样 0~5,共 6 个状态)

  1. 确定译码状态:N − 1 = 5 = 0101(Q2Q0 = 11);
  2. 置数条件:LOAD' = (Q2Q0)';
  3. 置入值 D3D2D1D0 = 0000;其他脚同上。

工作过程:计到 0101 时 LOAD'=0,再等一个时钟上升沿,芯片装入 0000。稳定循环仍是 0000~0101,模 6 ✔,而且没有毛刺。

🧠 一秒判断"该译码 N 还是 N−1"

看清零/置数是异步还是同步:
• 异步清零 → 译码 N(因为一出现就立刻回 0,那个状态留不住)
• 同步清零/同步置数 → 译码 N−1(要等下一个时钟,N−1 是最后一个能停留的状态)
口诀:异步用 N,同步用 N−1。

✏️ 例 11-2:用 74LS161 构成模 12 计数器

模 12 意味着状态 0~11。12 = 1100。
反馈清零:CLR' = (Q3Q2)'(译码 1100)。
注意:161 是 4 位,最大模 16,做模 12 没问题;做模 20 就必须两片级联。

✏️ 例 11-3:级联做模 100

两片 74LS160(各模 10)串联:同步级联——两片共用 CP,低位的 RCO 接高位的 ENT/ENP;总模 = 10 × 10 = 100。
异步级联——低位 RCO 经反相接高位 CP;同样模 100,但高位片有延迟。

⚠️ 级联的两个易错点
  • 同步级联时,低位 RCO 接高位 ENT 和 ENP(两个都要接,或 ENT 接 RCO、ENP 接 1,视芯片而定);CP 必须共用。
  • 级联后总模是乘积,不是和。要模 100 就用 10×10;要模 60 就用 6×10。

11.4 74LS290:二–五–十进制异步计数器

290 内部是两个独立的计数器:一个 2 分频(CP0 进、Q0 出),一个 5 分频(CP1 进、Q1Q2Q3 出)。灵活组合能得到多种进制:

接法输出进制
CP 接 CP0,Q0 接 CP1Q3Q2Q1Q08421BCD 十进制(模 10)
只用 CP0Q0模 2
只用 CP1Q3Q2Q1模 5

清零:R0(1)·R0(2) = 1 时异步清零(高有效);置 9:R9(1)·R9(2) = 1 时输出 1001。

290 的"异步"体现在内部:Q0 翻转后才去触发 5 分频部分,所以有逐级延迟。但它结构简单、价格低,在分频场合仍大量使用。

11.5 移位寄存器 74LS194

移位寄存器能"把数据一位一位挪动",是串行通信、并串转换、序列产生的核心。

S1S0功能说明
00保持输出不变
01右移Q0←Q1←Q2←Q3←DSR(串行输入从右进)
10左移Q3←Q2←Q1←Q0←DSL
11并行置数Q3Q2Q1Q0 ← D3D2D1D0
CLR'=0异步清零(优先于一切)

典型应用:
• 串→并转换:串行数据从 DSR 一位位送入,4 个时钟后在 Q3Q2Q1Q0 得到并行数据(相当于"串行收报")。
• 并→串转换:先并行置数,再连续右移,从 Q0 一位位取出(相当于"串行发报")。
• 延时:数据经过 n 级移位,延迟 n 个时钟周期。

11.6 环形计数器与扭环计数器

类型反馈接法n 位状态数特点
环形计数器末级 Q0 直接接回串行输入 DSRn状态里只有一个 1("独热"),不需译码;但有 2n−n 个无效状态,通常不能自启动(0000 会死循环)
扭环形(Johnson)末级取反 Q0' 接回 DSR2n状态数翻倍,能自启动,译码简单(每个状态可用两个相邻位判断)
✏️ 四位移位寄存器的两种计数循环

环形(预置 1000):1000 → 0100 → 0010 → 0001 → 1000 …… 共 4 个状态。
扭环(从 0000 开始,反馈 Q0'):0000 → 1000 → 1100 → 1110 → 1111 → 0111 → 0011 → 0001 → 0000 …… 共 8 个状态。
对比:环形计数器"一个 1 在跑",扭环形"1 慢慢灌满再慢慢排空"。

已学·可直接用计数器就是分频器

模 N 计数器每输入 N 个脉冲,最高位输出一个完整周期,所以它天然是一个 N 分频器:
fout = fin / N,且每一位输出都是前一位的二分频。
你手机里的时钟、电脑的定时器、LED 闪烁,底层都是这个原理:把高频时钟一级级分下来。

高频考点本章必会
  • 161 功能表(异步清零、同步置数、ENT/ENP 都有效才计数)。
  • 任意进制两种方法:异步清零译码 N,同步置数译码 N−1。
  • 级联总模 = 各片模之积;同步级联共用 CP,RCO 接高位使能。
  • 194 的四种模式(S1S0 = 00 保持 / 01 右移 / 10 左移 / 11 置数)。
  • 环形 n 个状态、扭环 2n 个状态。

🧪 本章自测

1. 用 74LS161 构成模 10 计数器,反馈清零法该译码哪个状态?

译码 N = 10 = 1010(Q3Q1 = 11),CLR' = (Q3Q1)'。
注意:虽然 160 天生是模 10,但题目若指定 161,就必须自己反馈。别混。

2. 用 74LS163(同步清零)构成模 7 计数器,清零信号取自哪个状态?

同步清零要等下一个时钟,所以译码 N−1 = 6 = 0110,CLR' = (Q2Q1)'。稳定状态 0~6 共 7 个。

3. 两片 74LS160 同步级联,总模是多少?如果改用反馈清零把第二片清成模 6,总模是多少?

不反馈时:10 × 10 = 100。
若第一片模 10、第二片模 6:总模 = 10 × 6 = 60(每 10 个脉冲第二片进 1,第二片计满 6 就整体复位)。
这就是"用 60 进制做秒/分计数"的原理。

4. 四位环形计数器为什么不能自启动?如何解决?

因为无效状态 0000 在反馈下"喂"回自己 0,永远停在 0000。
解决办法:① 开机时用异步置数强制置成 1000;② 加自启动逻辑(检测到全 0 时强行置 1);③ 改用扭环计数器(它天然能自启动)。

5. 74LS194 要实现"串行输入、并行输出",S1S0 怎么设?

设为 S1S0 = 01(右移),串行数据从 DSR 输入。每来一个时钟,数据右移一位;4 个时钟后,4 位数据全部进入 Q3~Q0,即完成串→并转换。
此后若要继续接收新数据,需重新置数或继续移位。

CHAPTER 12 / DAY 13

555 定时器与脉冲电路:模拟与数字的握手

建议 100 分钟难度 ★★☆超纲补:RC 暂态|考点:三大公式
超纲·必补先补《电路》第 6、7 章:电容与 RC 暂态

555 的一切都建立在"电容充放电需要时间"上。而你还没学过电容。这一节是本章的地基,请务必读完。

电容的核心关系:i = C·du/dt——电流越大、电容越小,电压上升越快。电容电压不能突变(要突变就需要无穷大电流),这是所有暂态分析的出发点。

RC 一阶电路的三要素公式(《电路》第 7 章的核心结论,直接给你用):

uC(t) = uC(∞) + [ uC(0+) − uC(∞) ] · e−t/τ , τ = RC uC(∞):充到最终会到的电压;uC(0+):初始电压;τ:时间常数(秒)

τ 的物理意义:经过 1 个 τ,电压走完剩余差距的 63.2%;3τ 走完 95%;5τ 走完 99.3%(工程上认为"充满")。

🛁 生动例子:往浴缸放水

空浴缸放水,一开始水流最猛(压差大),快满时越来越慢——这就是指数曲线。
• 目标水位 5 V,现在 0 V,那"差距"是 5 V;
• 过一个 τ,水位到 3.16 V(走了 63.2%);
• 再过一个 τ,到 4.32 V(又走了剩余 63.2%)……永远到不了 5 V,只能无限接近。
555 就是利用"数到某个比例"来定时的:数到 2/3 或 1/3 就动作。

✏️ 例 12-0:算一次充电时间(这就是 555 单稳态的算法)

5 V 电源经 R = 10 kΩ 给 C = 10 μF 充电(初始 0 V),问充到 (2/3)×5 = 3.33 V 需要多久?

第一步:τ = RC = 104 × 10−5 = 0.1 s。

第二步:代入公式 uC = 5(1 − e−t/0.1),令其等于 3.33:
1 − e−t/0.1 = 2/3 → e−t/0.1 = 1/3 → t = 0.1 × ln3 ≈ 0.11 s。

第三步:注意到 ln3 ≈ 1.0986 ≈ 1.1,所以 t ≈ 1.1RC —— 这就是单稳态公式的来源!它不是背来的,是算出来的。

12.1 555 内部结构:五个零件

555 内部:三个 5kΩ 电阻分压产生 2/3 与 1/3 VCC,送两个比较器再驱动 RS 锁存器
R'(4)TH(6)TR'(2)OUT(3)放电管 T说明
0××0导通强制复位,优先于一切
1> 2/3 VCC> 1/3 VCC0导通TH 高 → 复位
1< 2/3 VCC> 1/3 VCC保持保持两个比较器都不动
1< 2/3 VCC< 1/3 VCC1截止TR' 低 → 置位
1> 2/3 VCC< 1/3 VCC0导通TH 优先(两个都有效时复位赢)
已学·可直接用三个 5 kΩ = 你在第 2 章学的串联分压

三个等值电阻串联接在 VCC 与地之间,中间两个节点自然就是 2/3 VCC 和 1/3 VCC——纯粹的分压,没有任何玄机。
结论:555 的两个"魔法阈值"其实就是分压器给的。如果第 5 脚(CO)外接电压,还能改变这两个阈值,从而改变定时时间或占空比。

12.2 三种基本用法(三大公式,必背)最高频

① 施密特触发器:把"歪歪扭扭"的信号变方正

把 TH 和 TR' 接在一起当输入:输入上升超过 2/3 VCC → 输出变低;输入下降低于 1/3 VCC → 输出变高。

回差电压 ΔVT = (2/3 − 1/3)VCC = (1/3)VCC

回差的作用:输入在阈值附近抖动时,输出不会跟着抖——因为上升和下降用的是不同阈值。这正是"消抖"(按键去抖)和"波形整形"的原理。

🚪 生动例子:弹簧门的"门槛"

普通比较器像"没有门槛的门":人在门口稍微前后晃,门就开开关关(输出抖动)。
施密特触发器像"有门槛 + 有回弹"的门:你得用力推到一定位置门才开,一旦开了,要退回来很远才会关。中间那段"要退多远",就是回差。它用"迟钝"换来了"稳定"。

② 单稳态触发器:按一下,亮一段时间

电路:TR' 接输入(需负脉冲触发),TH 接电容电压,DIS 接电容放电端,电容经 R 接 VCC。

  1. 稳态:输出低,放电管导通,电容被短路在 0 V;
  2. 触发:TR' 出现 < 1/3 VCC 的负脉冲 → 输出变高,放电管截止,电容开始经 R 充电;
  3. 定时:电容电压升到 2/3 VCC 时,TH 使电路复位 → 输出回低,放电管导通,电容迅速放回 0 V;
  4. 输出脉宽:就是充电时间。
tw = R·C·ln3 ≈ 1.1 R C 从 0 充到 2/3 VCC 的时间。单位:R 用 Ω、C 用 F,则 tw 为秒
✏️ 例 12-1:R = 100 kΩ,C = 10 μF,求输出脉宽

tw = 1.1 × 100×103 × 10×10−6 = 1.1 × 1 = 1.1 s。
用途:按键消抖(输出 20 ms 稳定脉冲)、延时开关、定时器、脉冲展宽。

🚽 生动例子:单稳态 = 自动冲水马桶

你按一下按钮(触发),水箱开始放水(输出变高),不管你把按钮按住多久,它只冲固定的那几秒,然后自动停止(复位)。
关键特性:输出脉宽只由 R、C 决定,与输入脉冲的宽度无关。这就是"单稳态"——只有一个稳定状态(低),另一个状态(高)只能维持一段时间。

③ 多谐振荡器:自己给自己"打拍子"

把单稳态的"放电"路径也接上电阻,让电容在 1/3 与 2/3 VCC 之间来回充放电,输出就持续振荡,不需要外部触发。

T = t1 + t2 ≈ 0.7(R1 + 2R2)C , f ≈ 1.43 / [(R1 + 2R2)C]
占空比 q = (R1 + R2) / (R1 + 2R2) (恒大于 50%) t1 = 0.7(R1+R2)C:经 R1+R2 充电;t2 = 0.7R2C:只经 R2 放电
✏️ 例 12-2:R1 = 10 kΩ,R2 = 20 kΩ,C = 0.1 μF,求频率与占空比

R1+2R2 = 10k + 40k = 50 kΩ
T ≈ 0.7 × 50k × 0.1μ = 3.5 ms,f ≈ 1/3.5ms ≈ 286 Hz
占空比 q = (10+20)/(10+40) = 30/50 = 60%。
如果想让占空比接近 50%,可以让 R1 尽量小(但不能为 0,否则放电管会烧)。

超纲·拓展占空比可调的多谐振荡器

在 R1、R2 之间串两个二极管,再用电位器分压:充电走一条路、放电走另一条路,就能独立调节 t1 和 t2,实现 1%~99% 的占空比。
典型接法:电位器 RW 的滑动端接 7 脚,两端各串一个方向相反的二极管,分别接 VCC 和电容。这是 555 做 PWM 调速、呼吸灯的标准电路。

12.3 555 的典型应用清单

应用用哪种模式关键参数
按键消抖单稳态tw 取 10~20 ms(大于抖动时间)
LED 闪烁多谐振荡f 取 1~2 Hz
波形整形 / 施密特施密特触发器回差 (1/3)VCC
定时开关(路灯延时)单稳态RC 决定延时长度
PWM 调光/调速多谐 + 二极管占空比可调
方波时钟源多谐振荡f = 1.43/[(R1+2R2)C]
分频单稳态被周期性触发输出频率 = 触发频率
⚠️ 三个计算陷阱
  • 单位:R 用 kΩ、C 用 μF 时,RC 的单位是 ms(103×10−6=10−3)。别把 0.1 s 算成 0.1 ms。
  • 多谐的 R1 加两次还是加一次:充电走 R1+R2,放电只走 R2,所以总和里 R1 只出现一次、R2 出现两次 → R1+2R2。画一遍电流路径就不会错。
  • 占空比恒 > 50%:因为充电路径比放电路径多了 R1。想小于 50% 必须加二极管。
高频考点本章必会
  • 555 内部五个部分的名字与作用(分压器、两比较器、RS 锁存器、放电管、缓冲器)。
  • 功能表:TH > 2/3VCC 复位、TR' < 1/3VCC 置位、TH 优先。
  • 三个公式:tw=1.1RC、T=0.7(R1+2R2)C、回差 VCC/3。
  • 给出 R、C 算时间/频率/占空比(注意单位换算)。
  • 各模式的应用场景判断。

🧪 本章自测

1. 555 的 5 脚(CO)外接 3 V,阈值变成多少?(VCC=5 V)

5 脚接的是比较器 C1 的参考端,正常是 2/3 VCC=3.33 V。若外接 3 V,则上阈值 = 3 V;下阈值仍为 1/3 VCC=1.67 V(C2 参考端没变)。
用途:可以微调定时时间或占空比,也可以做"电压-脉宽转换"。

2. 单稳态电路中,如果输入触发脉冲持续 5 s,输出脉宽会变成 5 s 吗?

不会。输出脉宽只由 R、C 决定(tw=1.1RC)。触发脉冲只要足够"低"且足够"窄"即可,宽度不影响输出。
但要注意:在输出高电平期间,新的触发脉冲无效(这是 555 单稳态的特点,不能"重触发")。

3. 多谐振荡器 R1=1 kΩ,R2=100 kΩ,C=1 μF,求 f 和占空比。

R1+2R2 = 201 kΩ,T = 0.7×201k×1μ ≈ 0.141 s,f ≈ 7.1 Hz。
q = 101/201 ≈ 50.2%——R1 越小,占空比越接近 50%。

4. 施密特触发器的回差为什么能"消抖"?

按键按下/松开时会有毫秒级的机械抖动,电压在阈值附近反复穿越。
若只有一个阈值,每次穿越都翻转 → 输出一串毛刺。
有回差后:电压必须冲过 2/3VCC 才翻低,而且必须掉到 1/3VCC 以下才翻回高。抖动幅度一般小于回差,所以输出只翻转一次。用"迟钝"过滤噪声。

5. 555 的输出为什么不能直接驱动大电流负载(如电机)?

555 输出级只能提供约 100~200 mA 的电流,且输出电压会随负载下降;电机启动电流可达数安培,还会产生反向电动势击穿芯片。
正确做法:555 输出 → 三极管/MOS 管 → 继电器 → 电机,中间加续流二极管。555 只负责"发号施令",不负责"干重活"。

CHAPTER 13 / DAY 13

存储器与可编程逻辑:把"真值表"存进芯片

建议 60 分钟难度 ★★☆部分院校选学 · 重点:容量计算与扩展
选学提示不同学校要求不同

阎石《数字电子技术基础》把"半导体存储器"放在第 5 章(和触发器一起),康华光教材也有专章;但很多学校只讲容量计算、扩展方法、用 ROM 实现组合逻辑这三块。本教程按"考试可考"的范围讲,内部存储单元结构只做了解。

13.1 两大类:ROM 与 RAM

类型全称特点典型用途
ROM只读存储器断电不丢数据(非易失),正常工作时只能读存程序、字库、查找表、开机代码
RAM随机存取存储器读写都行,断电丢失(易失)运行时的数据、缓存、变量
ROM 家族写入方式能改写吗备注
掩膜 ROM出厂时在制造中"印"进去不能最便宜,量大时用
PROM用户用专用设备"烧断熔丝"只能烧一次已淘汰
EPROM紫外线照射擦除后重写可,但要拆下来照 20 分钟芯片上有石英窗口
EEPROM电信号擦写可,按字节擦写可擦写 105 次以上
Flash电信号擦写(按块)可,速度快、密度高U 盘、SSD、手机存储都是它

13.2 容量计算:三个数字的关系 高频

容量 = 字数 × 位数 = 2n × m n = 地址线条数,m = 数据线条数(每字几位)
⚠️ 单位坑:b 和 B 差 8 倍

1 B(字节)= 8 b(位)。所以 8K×8 b = 64 Kb = 8 KB。
题目说"存储容量 8 KB",意思是有 8×1024×8 = 65536 个存储位,若每字 8 位,则字数是 8192 = 8K,需要 13 根地址线(213=8192)。

✏️ 例 13-1:地址线 10 根、数据线 8 根,容量是多少?

字数 = 210 = 1024 = 1K;位数 = 8。
容量 = 1K × 8(常写成 1K×8 位),即 8 Kb = 1 KB。

13.3 ROM 的内部结构:一个"查表机"

ROM 内部只有两部分:

  1. 地址译码器:把 n 位地址翻译成 2n 条字线(只有一条有效)——这不就是 74LS138 干的事吗?
  2. 存储矩阵:每条字线与若干位线交叉,交叉点有器件就是 1,没有就是 0。
核心洞察ROM 就是"与阵列 + 或阵列",天生能实现组合逻辑

地址译码器 = 与阵列(产生全部最小项);存储矩阵 = 或阵列(把需要的最小项"或"起来)。
所以任意组合逻辑函数都能用 ROM 实现:把真值表直接"烧"进去即可,地址接输入,数据出输出。不需要化简,不需要门电路。

✏️ 例 13-2:用 ROM 实现 1 位全加器

输入 A、B、Ci → 3 位地址,共 8 个地址。
需要输出 S 和 Co 两位 → 选 8×2 的 ROM。
地址 000~111 对应的内容:

地址 ABCiCo S地址 ABCiCo S
0000 01000 1
0010 11011 0
0100 11101 0
0111 01111 1

就这么简单——真值表就是"烧录文件"。这也是 FPGA 里"查找表(LUT)"的思想源头。

13.4 存储器扩展:位扩展与字扩展

方式解决的问题怎么接例子
位扩展字数够、位数不够各片地址线并联、片选并联,数据线拼接成更宽的字8 片 1K×1 → 1K×8
字扩展位数够、字数不够数据线并联,高位地址经译码器产生片选4 片 1K×8 → 4K×8
字位同时扩展都不够先位扩展成组,再字扩展成块2K×4 → 8K×8 需 8 片
✏️ 例 13-3:用 2K×4 的芯片构成 8K×8,要几片?

字数:8K ÷ 2K = 4 组(字扩展,需要 2 根高位地址经 2-4 译码器产生片选);
位数:8 ÷ 4 = 2 片并联(位扩展);
总片数 = 4 × 2 = 8 片。

⚠️ 扩展题的三个检查点
  • 地址线够不够:8K 需要 13 根地址线,其中低 11 根接所有芯片(2K=211),高 2 根接译码器产生片选。
  • 片选信号极性:译码器输出低有效,而芯片 CS' 也是低有效,直接相连即可;若芯片 CS 高有效,要加反相器。
  • 读写信号:RAM 的 WE'、OE' 所有片并联。

13.5 RAM 的两种存储单元

类型单元结构需要刷新吗速度集成度用途
SRAM(静态)6 个 MOS 管组成双稳态(本质是一个触发器)不需要快低CPU 缓存
DRAM(动态)1 个 MOS 管 + 1 个电容,靠电容存电荷需要(电容会漏电,每几 ms 刷新一次)较慢高内存条

"静态"不是说它不动,而是说不需要刷新就能保持数据。DRAM 的电容只有飞法级(10−15 F),几个毫秒就漏光,所以必须周期性重写。

13.6 可编程逻辑器件(PLD)与 FPGA 超纲·拓展

超纲·拓展从"固定接线"到"软件定义硬件"

PLD 家族:PLA(与阵列、或阵列都可编程)→ PAL(只有与阵列可编程)→ GAL(可电擦写)→ CPLD(多个 PAL 块集成)→ FPGA(查找表 + 可编程连线)。
FPGA 的核心是 LUT:一个 4 输入 LUT 就是一块 16×1 的 ROM,你把真值表写进去,它就实现任意 4 变量函数——和例 13-2 用 ROM 实现全加器是同一个思想,只是规模大了几百万倍。
Verilog 一句话示例:assign y = (a & b) | c; —— 描述的是"逻辑关系",而不是"接哪个门",综合工具会自动映射到 LUT 上。这就是"硬件描述语言"的意义:写逻辑,不画电路。

🧪 本章自测

1. 某存储器有 12 根地址线、8 根数据线,容量是多少?

字数 = 212 = 4096 = 4K;容量 = 4K×8 位 = 32 Kb = 4 KB。

2. 用 1K×4 的芯片构成 4K×8,需要几片?地址线怎么分配?

字数 4K/1K = 4 组,位数 8/4 = 2 片并联 → 8 片。
地址线共 12 根:低 10 根接所有芯片(1K=210),高 2 根接 2-4 译码器产生 4 组片选。

3. 为什么 ROM 能实现任意组合逻辑,而 RAM 一般不这么用?

ROM 的内容是固定的查找表,地址=输入、数据=输出,天然就是真值表。
RAM 虽然也能存真值表,但断电就丢,每次上电都要重新写入,而且成本更高、速度未必更快。所以"实现固定逻辑"用 ROM/Flash,"运行时可变的表"才用 RAM。

4. DRAM 为什么要刷新?多久刷一次?

因为数据存在电容上,电容会通过漏电流放电,几毫秒到几十毫秒就会丢失。
所以必须每隔几毫秒把数据"读出来再写回去"(刷新)。刷新操作占用带宽,这也是 DRAM 比 SRAM 慢的原因之一。

5. ROM 的"与阵列"和"或阵列"分别对应什么?

与阵列 = 地址译码器:产生全部最小项(每条字线对应一个地址组合)。
或阵列 = 存储矩阵:把需要的最小项或起来输出。
所以 ROM 的输出就是"若干最小项之和"——标准与或式。

CHAPTER 14 / DAY 14

数模与模数转换:数字世界与真实世界的桥

建议 70 分钟难度 ★★☆考点:分辨率、量化误差、三种 ADC 对比

现实世界是连续的(温度、声音、光线),数字电路只认 0/1。要把它们连起来,需要两座桥:DAC(数字→模拟,比如音箱出声)和 ADC(模拟→数字,比如麦克风录音)。

14.1 DAC:数字量变电压

① 权电阻网络型

n 位输入,每位接一个电阻,阻值按 R, 2R, 4R, …, 2n−1R 递增(权重越小,电阻越大)。所有电阻的电流汇入运放求和。

超纲·必补这里用到了"运放虚地"(《电路》第 5 章)

运放反相输入端接成"虚地"(电位≈0 但不相连),所以每位支路的电流 = diVref/Ri,全部流入反馈电阻 Rf,输出电压 = −I总Rf。你只需要记住结论:输出电压与数字量成正比。

缺点:n 位需要 n 种不同阻值的电阻,位数一多,阻值跨度极大(如 12 位要 1 kΩ 到 4 MΩ),集成电路里很难做准。

② R–2R 倒 T 型网络(主流)

只用 R 和 2R 两种阻值,通过梯形网络逐级分流,每级电流减半。集成度高、精度好,是目前绝大多数 DAC 芯片的结构。

VO = − (Vref / 2n) × D , D = dn−12n−1 + … + d121 + d020 D 是输入的数字量(十进制值);负号来自反相运放
✏️ 例 14-1:8 位 DAC,Vref=5 V,输入 D=1000 0000,输出多少?

D = 128,VO = (5/256)×128 = 2.5 V(正好是满量程的一半)。
若输入 0000 0001,则 VO = 5/256 ≈ 19.5 mV——这就是最小可分辨电压(1 个 LSB)。

分辨率(1 LSB)= Vref / 2n

DAC 的主要参数

参数含义备注
分辨率能分辨的最小电压变化 = 1 LSB位数越多分辨率越高
转换误差实际输出与理论值的偏差(零点误差、增益误差、非线性误差)一般要求 ≤ 1/2 LSB
建立时间输入变化到输出稳定所需时间决定最高转换速率
单调性输入增大时输出不会反而减小闭环控制场合必须单调

14.2 ADC:三步走 —— 采样、量化、编码

第一步:采样(要满足采样定理)

fs ≥ 2 fmax 采样频率必须不低于信号最高频率的 2 倍,否则会"混叠"(高频被误认为低频)
🎬 生动例子:车轮倒转的错觉

电影里汽车加速时,轮子看起来反而在倒转——因为电影每秒只拍 24 帧,采样率不够,把"转得太快"误认成"慢慢倒转"。这就是混叠。
所以 CD 音频采样率定在 44.1 kHz,因为人耳最高听到 20 kHz,44.1 > 2×20 刚好够。

采样保持电路:采样瞬间把电压存到电容上,保持到下一次采样,让 ADC 有足够时间转换。

第二步:量化(把连续值切成台阶)

n 位 ADC 把满量程 Vref 分成 2n 个台阶,每阶 = 1 LSB = Vref/2n。

输出码 D ≈ round( Vin / Vref × 2n ) , 量化误差 ≤ ±1/2 LSB
✏️ 例 14-2:8 位 ADC,Vref=5 V,输入 3.2 V,输出码是多少?误差多大?

3.2/5 × 256 = 163.84 → 四舍五入取 164 → 二进制 1010 0100。
1 LSB = 5/256 ≈ 19.5 mV,量化误差 ≤ ±9.8 mV。
如果用"截断"而不是"四舍五入",误差会达到 −1 LSB(总是偏小),精度差一倍。

第三步:编码

把量化后的电平变成二进制码输出。量化 + 编码通常在同一个电路里完成。

14.3 三种主流 ADC 架构

类型工作原理速度精度成本/复杂度典型用途
并行比较型(Flash)用 2n−1 个比较器一次性比较,直接出码最快(ns 级)较低(位数少)高(比较器数量指数增长)示波器、雷达、视频
逐次逼近型(SAR)像"猜数字":从最高位开始,每次猜一半,比较后决定该位是 0 还是 1,n 次比较出结果中等高中单片机 ADC、通用采集
双积分型先对输入积分固定时间,再对基准电压反向积分,用"计数值"表示输入大小慢(ms 级)很高低数字万用表、称重
🎯 生动例子:逐次逼近 = 猜数字游戏

我心里想一个 0~255 的数,你最多猜 8 次就能猜中:
先猜 128(最高位)——"大了"→ 最高位是 0,范围缩到 0~127;
再猜 64——"小了"→ 第二位是 1,范围 64~127;
再猜 96……每次范围减半,8 次必定命中。
这就是 SAR ADC 的全部逻辑:用一个 DAC 产生"猜测值",用比较器判断大小,逐位确定。所以 SAR ADC 内部一定含一个 DAC。

🧠 为什么双积分型抗干扰强?

因为它对输入积分了一整段时间(通常是 20 ms,正好是工频 50 Hz 的一个周期)。50 Hz 干扰在整周期上积分正好抵消为 0,所以万用表在嘈杂环境里依然稳。
代价是慢:一次转换要几十毫秒,只能测慢变量(温度、重量)。

14.4 ADC 的主要参数

参数含义
分辨率位数 n,或 1 LSB 对应的电压 Vref/2n
转换精度实际输出与理想输出的最大偏差,含量化误差、偏移误差、非线性误差
转换时间从启动到输出稳定所需时间,倒数即最高采样率
采样率每秒能完成的转换次数(SPS)
⚠️ "分辨率"和"精度"不是一回事

一个 12 位 ADC 的分辨率是 5V/4096 ≈ 1.2 mV,但如果它的非线性误差有 10 LSB,那实际精度只有 10 位左右。
分辨率是"能分多细",精度是"分得准不准"。买 ADC 时两个都要看,别被"16 位"的广告词忽悠。

高频考点本章必会
  • DAC:VO = (D/2n)Vref,分辨率 = 1 LSB = Vref/2n。
  • ADC:D = round(Vin/Vref × 2n),量化误差 ≤ ±1/2 LSB。
  • 采样定理 fs ≥ 2fmax,否则混叠。
  • 三种 ADC 的速度/精度/成本对比与适用场景。
  • R–2R 只用两种阻值,适合集成。

🧪 本章自测

1. 10 位 DAC,Vref=2.5 V,输入 D=512,输出多少?分辨率多少?

VO = (2.5/1024)×512 = 1.25 V;
分辨率 = 1 LSB = 2.5/1024 ≈ 2.44 mV。

2. 12 位 ADC,Vref=4.096 V,输入 1.5 V,输出码是多少?

1.5/4.096 × 4096 = 1500 → 1500 = 0x5DC = 0101 1101 1100。
4.096 V 这个基准是特意选的:4.096/4096 = 1 mV,正好 1 LSB = 1 mV,工程上做起来特别方便。这类"基准电压的讲究"值得记住。

3. 信号最高频率 10 kHz,采样率至少多少?如果只有 12 kHz 会怎样?

至少 20 kHz。若只有 12 kHz,不满足采样定理,会产生混叠:10 kHz 的信号会被错误地识别成 2 kHz(|f − fs|),且无法通过后续滤波恢复。

4. 为什么并行比较型 ADC 的位数一般不超过 8 位?

因为它需要 2n−1 个比较器:8 位要 255 个,10 位要 1023 个,12 位要 4095 个。
比较器占芯片面积、耗电、还有输入电容问题,数量指数增长,所以高位数一般改用逐次逼近型或流水线型。

5. 数字万用表为什么用双积分型 ADC 而不是更快的 SAR?

因为万用表测的是慢变量(电压、电阻、温度),不需要快;但要求高精度、高抗干扰。
双积分型对工频干扰有天然的整周期抵消能力,精度可达 6 位半(20 位以上),正好匹配需求。选型永远看需求,不是越快越好。

CHAPTER 15 / DAY 14

总复习:一页纸速查 + 模拟卷

建议 90 分钟考前只看这一章含 30 题模拟卷与答案

15.1 公式速查表(打印这一节就够)

① 数制与码制

进制转换整数:除基取余,倒读;小数:乘基取整,顺读;二↔八用 3 位组,二↔十六用 4 位组
负数补码补码 = 2n − |N|,或"取反加一";n 位范围 −2n−1 ~ 2n−1−1
8421BCD每 1 位十进制用 4 位二进制;1010~1111 是非法码
余 3 码 / 2421余 3 = 8421 + 0011;2421 是自补码
格雷码相邻只差 1 位;二进制→格雷:gi = bi ⊕ bi+1

② 逻辑代数

基本A+A'=1,A·A'=0,A+A=A,A·A=A,A+0=A,A·1=A,A+1=1,A·0=0
分配律A(B+C)=AB+AC;A+BC=(A+B)(A+C)
吸收 / 消因子A+AB=A;A+A'B=A+B;AB+AB'=A
冗余项AB+A'C+BC=AB+A'C(BC 可删)
摩根(AB)'=A'+B';(A+B)'=A'B'
异或 / 同或A⊕B=AB'+A'B;A⊙B=(A⊕B)';A⊕A=0,A⊕0=A,A⊕1=A'
三个规则代入(整体替换)、反演(·↔+、0↔1、原↔反,长非号不动)、对偶(只换 ·+ 和 01,变量不动)
标准式最小项:原变量记 1、反变量记 0,十进制数即下标;Y=Σm;Y=ΠM(M 规则相反)

③ 卡诺图

圈组规则只能圈 2k 个(1/2/4/8/16);圈越大越好、圈数越少越好;每 1 至少进一圈;相邻包括上下、左右、四角卷绕
合并结果圈 2k 个 → 消去 k 个变量;保留圈内始终不变的变量(恒 1 取原变量,恒 0 取反变量)
无关项记 d 或 ×;能帮我圈大就当 1,用不上就当 0;不能把 0 当 1 圈
与非门实现与或式 → 双非号 → 摩根 → 与非-与非;门数 = 与项数 + 1

④ 门电路

二极管正偏 0.7 V(硅),反偏开路;二极管门有 0.7 V 电平偏移
三极管开关截止:VBE<0.5 V;饱和:IB ≥ ICS/β,VCE(sat)≈0.3 V
MOS 开关NMOS:VGS>VTN 导通(1 通 0 断);PMOS:VGS<VTP 导通(0 通 1 断)
TTL 参数VOH=2.4、VOL=0.4、VIH=2.0、VIL=0.8、VT≈1.4 V
噪声容限VNH=VOH−VIH;VNL=VIL−VOL;取较小值
扇出N = min(IOH/IIH, IOL/IIL)
CMOS 注意静态功耗≈0;输入绝不能悬空;不用的输入接 VDD 或地;注意防静电
OC / 三态OC 门外接上拉电阻可线与;三态门有高阻态 Z,用于总线

⑤ 触发器

特性方程SR:Q*=S+R'Q(SR=0);D:Q*=D;JK:Q*=JQ'+K'Q;T:Q*=T⊕Q
SR 禁止态或非门型 S=R=1;与非门型 S'=R'=0(此时 Q=Q̄,破坏互补)
空翻电平触发时 CP 有效期间输入变几次、输出翻几次;主从/边沿结构解决
边沿74LS74 上升沿 D;74LS112 下降沿 JK;符号上小三角表示边沿触发
激励表D:D=Q*;JK:0→0 取 0×,0→1 取 1×,1→0 取 ×1,1→1 取 ×0;T:T=Q⊕Q*
异步端RD' 清 0、SD' 置 1,优先于时钟,低有效

⑥ 时序逻辑

分析五步驱动方程 → 状态方程 → 输出方程 → 状态转换表 → 状态图 + 功能
设计七步状态图 → 化简 → 编码 → 状态表 → 驱动方程 → 输出方程+电路 → 自启动检查
Mealy / MooreMealy 输出=f(状态,输入);Moore 输出=f(状态)
自启动无效状态的次态能否在有限步进入主循环;能 → 可自启动
161 功能异步清零(低有效,立即)、同步置数(低有效,等时钟)、ENT/ENP 都 1 才计数
任意进制异步清零译码 N;同步清零/置数译码 N−1
级联总模 = 各片模之积;同步级联共用 CP,RCO 接高位使能
194 模式S1S0:00 保持 / 01 右移 / 10 左移 / 11 并行置数
环形 / 扭环n 位环形 → n 个状态;n 位扭环 → 2n 个状态(能自启动)

⑦ 555 与转换器

RC 三要素uC(t)=u(∞)+[u(0+)−u(∞)]e−t/τ,τ=RC;1τ→63.2%,3τ→95%,5τ→99.3%
555 阈值TH>2/3VCC 复位(输出低);TR'<1/3VCC 置位(输出高);TH 优先
单稳态tw=1.1RC
多谐振荡T=0.7(R1+2R2)C,f≈1.43/[(R1+2R2)C],q=(R1+R2)/(R1+2R2)
施密特回差 ΔVT=(1/3)VCC
存储器容量容量 = 2n × m(n 地址线,m 数据线);1 B = 8 b
DACVO=(D/2n)Vref;分辨率 = Vref/2n
ADCD=round(Vin/Vref×2n);量化误差 ≤ ±1/2 LSB
采样定理fs ≥ 2fmax,否则混叠

15.2 芯片速查(记这 10 个就够)

型号功能关键引脚 / 要点
74LS00四 2 输入与非门最基础,实验必备
74LS1383–8 线译码器输出低有效;G1=1、G2A'=G2B'=0 才工作;产生全部最小项
74LS1488–3 线优先编码器输入输出都低有效,输出是反码;EI'、GS'、EO' 用于级联
74LS1518 选 1 数据选择器地址 CBA;S'=0 工作;Y=ΣmiDi
74LS2834 位超前进位加法器C0 进位输入;B 取反 + C0=1 可做减法
74LS854 位数值比较器单块用时级联输入接 IA=B=1、其余 0
74LS74双 D 触发器上升沿触发;有 RD'、SD' 异步端
74LS112双 JK 触发器下降沿触发;J=K=1 翻转
74LS1614 位同步二进制计数器异步清零、同步置数;ENT/ENP 都 1 才计数
74LS1944 位双向移位寄存器S1S0 四种模式;可串↔并转换

15.3 模拟卷(30 题,闭卷 90 分钟)

建议先自己在纸上写答案,再点开对照。做错的题,把题号抄到 15.4 的错题清单里。

一、选择与填空(每题 2 分,共 30 分)

1. 十进制数 45 的 8421BCD 码是(  )

0100 0101。4→0100,5→0101。

2. 化简 Y = A + A'B = (  )

Y = A + B。这是最常考的变形,直接背。

3. 四变量卡诺图最多能圈(  )个格子

16(全部为 1 时圈成一个整图)。此时 Y=1。

4. CMOS 门静态功耗几乎为零,原因是(  )

静态时 PMOS 与 NMOS 总有一只截止,电源到地之间没有直通路径,只有 nA 级漏电流。

5. 两个普通 TTL 与非门的输出能否直接相连?(  )

不能。一个输出高、一个输出低时电源对地短路,会烧芯片。要线与必须用 OC 门。

6. JK 触发器 J=K=1 时,功能是(  )

翻转(T 功能)。代入 J=K=1:Q* = 1·Q' + 0·Q = Q',即每个时钟边沿都取反,输出频率正好是时钟的一半(二分频)。

7. 4 位二进制计数器最多有(  )个状态

16(24),计数范围 0000~1111。

8. 555 单稳态的输出脉宽公式是(  )

tw=1.1RC(由 RC·ln3 得来)。

9. 8 位 ADC,Vref=5 V,1 个 LSB 等于(  )

≈19.5 mV(5/256)。

10. 存储容量 2K×8,需要(  )根地址线

11 根(211=2048=2K)。数据线 8 根。

11. (1101.1)2 = (  )10

13.5(8+4+1+0.5)。

12. −13 的 8 位补码是(  )

13 = 0000 1101 → 取反 1111 0010 → 加 1 → 1111 0011。

13. 74LS138 有(  )个输出端,输出(高/低)有效

8 个输出,低电平有效。

14. 用 74LS161 构成模 6 计数器,反馈清零法应译码状态(  )

6 = 0110。异步清零:一出现就回 0,所以译码 N。

15. 采样定理要求采样频率 fs ≥ (  )

2fmax,fmax 是信号的最高频率分量。

二、化简与分析(每题 6 分,共 42 分)

16. 用公式法化简 Y = AB + AB'C + A'B

先看前两项:AB + AB'C = A(B + B'C) = A(B+C) = AB + AC;
再加 A'B:AB + A'B = B(A+A') = B;
所以 Y = B + AC。

17. 用卡诺图化简 Y = Σm(0,2,5,7,8,10,13,15)

分组:m0、m2、m8、m10 是四个角 → B'D';
m5、m7、m13、m15 是中间 2×2 → BD;
所以 Y = B'D' + BD = B⊙D(B 与 D 同或)。

18. 化简 Y = A'B'C + A'BC + AB'C + ABC

提取 C:C(A'B' + A'B + AB' + AB) = C·1 = C。
这 4 项正好是全体最小项中含 C=1 的那 4 个,所以结果就是 C。

19. 已知 D1 = Q0'、D0 = Q1,写出状态方程与状态表,说明功能。

状态方程:Q1* = Q0',Q0* = Q1。
状态表:00→10,10→11,11→01,01→00,形成 4 状态循环。
功能:模 4 计数器(按 00→10→11→01 的顺序循环,是一种格雷码顺序的计数器)。

20. 74LS161 接成 CLR' = (Q2Q1)',计数到多少时清零?模是多少?

当 Q2Q1=11 时 CLR'=0,即计数到 1100 = 12 时立刻清零。
稳定状态为 0~11,共 12 个 → 模 12 计数器。

21. 555 多谐振荡器 R1=5.1 kΩ、R2=10 kΩ、C=0.01 μF,求频率与占空比。

R1+2R2 = 25.1 kΩ;
T = 0.7 × 25.1k × 0.01μ = 1.757×10−4 s ≈ 176 μs;
f ≈ 1/176μs ≈ 5.7 kHz;
q = (5.1+10)/25.1 = 60.2%。

22. 判断 Y = A'B + AB' 电路是否存在竞争冒险,若有请消除。

结论:不存在静态逻辑冒险。
判断两种方法都要会:
① 代数法:依次令其他变量取定值,看能否化成 A+A' 或 A·A':
 B=1 → Y = A'(只剩一项,无从冒险)
 B=0 → Y = A(只剩一项)
 A=1 → Y = B'(只剩一项)
 A=0 → Y = B(只剩一项)
始终凑不出 A+A',所以没有静态冒险。
② 卡诺图法:A'B 与 AB' 分别占 m1(01)、m2(10),两者相隔两个变量、并不相邻,卡诺图上没有"相切"的两个圈 → 无冒险。
对照:真正会出现冒险的是 Y = AB + A'C 这类式子——令 B=C=1 得 Y = A + A',这就是经典例子。判别口诀:能否让同一个变量以"原变量"和"反变量"分别出现在两个"接力"的与项中。

三、设计题(每题 8 分,共 24 分)

23. 用 74LS138 和与非门实现 F(A,B,C) = Σm(0,3,5,6)

地址 A→A2、B→A1、C→A0;使能 G1=1、G2A'=G2B'=0;
F = (Y0'·Y3'·Y5'·Y6')',用一个四输入与非门。

24. 用 74LS161 设计模 7 计数器(画出接线要点)

异步清零法:译码状态 7 = 0111,CLR' = (Q2Q1Q0)'(三输入与非门);
LOAD'=1,ENT=ENP=1,D3~D0 随意(不用置数)。
稳定状态 0000~0110,共 7 个 → 模 7。

25. 设计一个"四变量输入中 1 的个数为偶数时输出 1"的电路(用异或门)。

偶校验:Y = A⊕B⊕C⊕D。
验证:0000 有 0 个 1(偶数)→ Y=0?
注意定义:若"0 个 1"算偶数,则 Y 应为 1,此时 Y = (A⊕B⊕C⊕D)'。考试务必看清题目对"0 个 1"的约定,两种答案都可能对,取决于定义。
一般约定:偶校验位使"1 的总个数为偶数",所以 Y = (A⊕B⊕C⊕D)' 更常见。

四、计算题(每题 5 分,共 20 分)

26. 已知 VOH=2.4 V、VIH=2.0 V、VOL=0.4 V、VIL=0.8 V,求噪声容限。

VNH = 2.4−2.0 = 0.4 V;VNL = 0.8−0.4 = 0.4 V。
该接口的噪声容限取 0.4 V。

27. 用 2K×4 的芯片构成 8K×8 存储器,需要几片?

字扩展 8K/2K = 4 组;位扩展 8/4 = 2 片并联;共 8 片。
地址线 13 根:低 11 根共用,高 2 根接 2-4 译码器产生片选。

28. 10 位 DAC,Vref=5 V,输入 D=307,输出电压是多少?

VO = (5/1024)×307 = 1535/1024 ≈ 1.499 V。

29. 12 位 ADC,Vref=4.096 V,输入 2.048 V,输出码是多少?

D = 2.048/4.096 × 4096 = 2048 → 1000 0000 0000(0x800)。
正好是半量程,对应最高位为 1、其余为 0。

30. 用 JK 触发器设计模 5 计数器,写出关键步骤(不必画完整电路)。

① 需 3 个触发器(22=4 < 5),状态 000~100 共 5 个,101/110/111 为无效状态;
② 状态图:000→001→010→011→100→000;
③ 列状态表 + 激励表,用卡诺图求 J2K2、J1K1、J0K0(无效状态当无关项 d);
④ 画电路;
⑤ 检查自启动:把 101、110、111 代入驱动方程,确认能回到 000~100 的循环。
若不能自启动,需修改无效状态的次态(把 d 取成能回主循环的值)。

15.4 错题回炉清单

把做错的题号对应的知识点勾掉,回看对应章节。这张表就是你上考场前的最后一张清单。

如果你错在……说明你该回看
进制转换、补码、BCD、格雷码第 1 章——这是送分题,不能错
公式化简、摩根、最小项第 2 章,重点练 A+A'B 和冗余项
卡诺图漏圈、跨边界、无关项第 3 章,画 10 张 4 变量图
三极管饱和、MOS 导通条件第 4 章,只需记"开关"结论
噪声容限、扇出、OC/三态第 5 章,公式套一遍就够
分析题写不出功能、设计题不会抽象第 6 章,背五步/四步
138/151 实现函数、加法器减法第 7 章,动手画接线
触发器波形画错、空翻、边沿第 8 章,画 10 组波形
状态表漏项、自启动判断第 9 章,把 2n 个状态写全
时序设计驱动方程不会求第 10 章,照抄例题走一遍
任意进制 N / N−1 搞混第 11 章,记"异步用 N,同步用 N−1"
555 公式记错、单位算错第 12 章,把三个公式写 20 遍
容量计算、扩展片数第 13 章,注意 b 与 B
分辨率、量化误差、采样定理第 14 章,套公式即可

15.5 考场策略(120 分钟卷)

⏱️ 时间分配建议
  • 0–15 分钟:选择填空(送分题先拿,稳住心态)。
  • 15–40 分钟:化简与卡诺图(限时,卡住就跳)。
  • 40–80 分钟:分析题 + 设计题(占分最重,先写步骤,能写多少写多少)。
  • 80–105 分钟:计算题(555、存储器、AD/DA)。
  • 105–120 分钟:检查——重点看"低有效"和"上升沿/下降沿"有没有看错。
🎯 最后 10 分钟检查清单
  1. 所有"低有效"信号,我有没有把 0 当成"有效"来用?
  2. 触发器是上升沿还是下降沿?波形对齐了吗?
  3. 卡诺图有没有漏掉跨边界的 1?有没有圈 3 个/5 个格子?
  4. 设计题写"自启动检查"了吗?
  5. 计算题单位换算了吗(μF→F、kHz→Hz)?
  6. 状态图箭头上的"输入/输出"标了吗?
APPENDIX

附录:符号对照 · 常见疑问 · 学习资源

随时查阅工具页

A.1 逻辑门符号对照

国内教材多用国标(GB)符号(形状符号),国际标准用 IEC/IEEE 矩形符号,工厂图纸和国外教材用后者多。考试如果画图,一般接受形状符号。

门形状符号(国标)矩形符号(IEC/IEEE)表达式
与门D 形(半圆头)框内标 &AB
或门盾形(弧形底)框内标 ≥1A+B
非门三角形 + 输出小圆圈框内标 1 + 输出小圆圈A'
与非门D 形 + 输出小圆圈& + 小圆圈(AB)'
或非门盾形 + 输出小圆圈≥1 + 小圆圈(A+B)'
异或门盾形 + 输入端双弧线=1A⊕B
同或门异或门 + 输出小圆圈=1 + 小圆圈A⊙B
三态门普通门 + 下方使能端框内标 ▽(或 EN 标注)输出可为 Z

小圆圈 = 取反。看到输入端的小圆圈,说明该端低有效;看到输出端的小圆圈,说明输出取反。触发器时钟端的小三角表示边沿触发,加小圆圈表示下降沿。

A.2 常见疑问 12 问

Q1:为什么数字电路一定要用二进制,不能用十进制?

因为物理上最容易做出"两个稳定状态"的器件:开关通/断、电压高/低、磁化方向正/反。要做出 10 个能稳定区分、抗干扰、又便宜的状态,几乎不可能。二进制不是"更先进",而是"更便宜可靠"。

Q2:这么多芯片型号要全背下来吗?

不用。考试常考的只有 6~10 个(见 15.2 芯片速查)。关键是掌握"读芯片资料"的能力:看引脚名、看有效电平、看功能表。会读手册比背型号有用一百倍。

Q3:卡诺图超过 4 个变量怎么办?

5 变量用两张 4×4 图(E=0 和 E=1),对应位置可跨图合并;6 变量用四张。再多就不适合手算了,用 Q–M 列表法或计算机工具。

Q4:画触发器波形总出错,有什么诀窍?

三步:① 用竖线标出所有有效边沿;② 在每条竖线处只看那一瞬间的输入;③ 从这条竖线开始画新电平,直到下一条竖线。
千万不要"跟着输入曲线画"——触发器的输出是阶梯波,不是输入曲线的复制品。

Q5:为什么 CMOS 输入不能悬空,TTL 却可以?

TTL 输入内部有下拉/上拉结构,悬空时相当于接高电平(1),行为可预测。
CMOS 输入阻抗高达 1010 Ω,悬空时电荷无处泄漏,电位由干扰决定,可能停在 VDD/2,导致两管同时导通、功耗剧增甚至击穿。所以 CMOS 不用的输入必须接固定电平。

Q6:空翻和亚稳态是一回事吗?

不是。
• 空翻:电平触发期间输入变化导致输出多次翻转,是逻辑层面的问题,用边沿触发解决。
• 亚稳态:触发器输出停在高低之间的中间电压,持续一段时间后才随机倒向一边,是物理层面的问题(建立/保持时间被违反时出现),用"多级同步"降低概率,但无法彻底消除。

Q7:时序设计一定要用 JK 触发器吗?

不一定。题目指定就用指定的;没指定时,JK 通常更省门(激励表里"×"多),D 更简单直接(D=Q*)。现代 FPGA 内部只有 D 触发器。

Q8:反馈清零时,状态 N 只出现一瞬间,会不会被后级电路"看到"?

会,这就是隐患。异步清零产生的窄脉冲可能被后级计数器/锁存器捕获,导致误动作。
工程上更推荐反馈置数法(同步、无毛刺)。考试如果问"哪种更好",答"反馈置数法,因为消除了清零瞬间的毛刺"。

Q9:555 的输出能直接接单片机吗?

多数情况可以(555 输出接近 0/VCC,TTL/CMOS 电平兼容),但要注意:
• 555 输出电流有限(约 200 mA),不要直接驱动电机/继电器;
• 若单片机是 3.3 V 系统,5 V 的 555 输出可能超压,需要分压或电平转换。

Q10:这门课和单片机、FPGA 是什么关系?

这门课讲的是"底层零件":门、触发器、计数器。
• 单片机:把 CPU + 存储器 + 定时器 + IO 集成在一颗芯片里,用软件实现逻辑。
• FPGA:用大量 LUT(查找表)+ 可编程连线,用硬件描述语言"配置"逻辑。
学完这门课,你才能理解为什么单片机的一个定时器能分频、为什么 FPGA 的 LUT 能实现任意函数。它是所有后续课程的共同地基。

Q11:实验课最容易踩什么坑?

① 芯片方向插反(缺口朝左/朝上,看缺口或圆点);② 电源接反或超压(TTL 只能 5 V,CMOS 看型号);③ CMOS 输入悬空导致发烫;④ 没接共地(两块板子不共地,信号全乱);⑤ LED 不串限流电阻直接烧。上电前先检查电源和地,能省一半返工。

Q12:期末只有一周,怎么复习最有效?

按分值从高到低:卡诺图 → 组合设计 → 触发器波形 → 时序分析 → 任意进制计数器 → 555 计算。
每块只做真题,做完对照答案找"步骤缺哪一步",而不是"结果对不对"。这门课是步骤分课,写全步骤比算出答案更重要。

A.3 学习资源

类型推荐说明
教材阎石《数字电子技术基础》(第六版,高教社)国内最主流,本教程章节顺序基本对应它
教材康华光《电子技术基础·数字部分》另一主流,例子更多,偏工程
习题教材配套习题解答 + 历年期末真题真题 > 任何习题集
仿真Logisim(免费,最适合入门)拖门电路、看波形,不用接线,强烈推荐
仿真Multisim / Proteus更接近真实器件,可做 555、ADC 仿真
数据手册74 系列 datasheet(TI、NXP 官网)学会看功能表和时序图,做课设必备
视频各大平台"数字电子技术基础"公开课建议只看卡诺图、触发器、时序三部分
📖 最后一句

数字电路看起来符号多、芯片多,但它其实只有三个核心思想:
① 用 0/1 编码世界;② 用布尔代数化简逻辑;③ 用触发器保存状态。
剩下的所有内容——卡诺图、138、151、161、555——都是这三条思想的工程实现。
两周够你把这门课"学会",但要"学透",得动手搭一次电路、烧一次芯片。祝顺利。