第00章:前置知识与工具入门

🚀 写在最前面:这一章是专门为零基础同学准备的"热身"。如果你从来没接触过电路,不知道芯片引脚图怎么看,不知道时序图是什么——这章就是为你写的。读完这章,你就有了学习后续所有内容的"语言基础"。


本章学习目标

读完本章,你将能够:

  • ✅ 理解电压、电流、电阻的直觉含义(不需要推导公式)
  • ✅ 看懂芯片引脚图,知道每个引脚是干什么的
  • ✅ 看懂逻辑电路图,理解信号从哪里来、到哪里去
  • ✅ 看懂时序图,理解信号随时间的变化关系
  • ✅ 会用Logisim画逻辑电路并仿真
  • ✅ 会用Multisim搭74系列芯片电路

第一节:电路基础——你需要知道的最少知识

1.1 电压是什么?

类比:把电路想象成水管系统。

  • 电压(Voltage)= 水压,是推动电流流动的"力"
  • 电流(Current)= 水流量,是电荷的流动速度
  • 电阻(Resistance)= 水管的细细程度,阻碍电流流动

在数字电路里,你只需要记住两件事

  • 高电压(如5V或3.3V)= 逻辑"1"
  • 低电压(接近0V)= 逻辑"0"

单位

  • 电压单位:伏特(V),毫伏(mV)= 0.001V
  • 电流单位:安培(A),毫安(mA)= 0.001A,微安(μA)= 0.000001A
  • 电阻单位:欧姆(Ω),千欧(kΩ)= 1000Ω,兆欧(MΩ)= 1000000Ω

1.2 高电平和低电平

数字电路不用精确的电压值,而是用"范围"

电压
5V ─────────────────────────────── VCC(电源)
     ↑
4.9V ┤  ← V_OH(输出高电平最小值)
     │  高电平区域(逻辑"1")
3.5V ┤  ← V_IH(输入高电平最小值)
     │
     │  ← 不确定区域(禁止区)
     │
1.5V ┤  ← V_IL(输入低电平最大值)
     │  低电平区域(逻辑"0")
0.1V ┤  ← V_OL(输出低电平最大值)
     ↓
0V ─────────────────────────────── GND(地)

关键点

  • 输出高电平(V_OH)必须高于输入高电平阈值(V_IH),才能被下一级正确识别为"1"
  • 输出低电平(V_OL)必须低于输入低电平阈值(V_IL),才能被下一级正确识别为"0"
  • 中间的"不确定区域"是禁止区,信号不应该长时间停留在这里

1.3 VCC、VDD 和 GND

在电路图中,你会经常看到这三个符号:

符号 含义 典型值
VCC 电源正极(TTL电路用) +5V
VDD 电源正极(CMOS电路用) +3.3V 或 +5V
GND 地(电源负极,参考零点) 0V

记忆方法:VCC/VDD是"高的那端",GND是"低的那端",电流从高流向低。

1.4 晶体管作为开关

数字电路的核心器件是晶体管(Transistor),它的作用就像一个电控开关

NMOS晶体管(N沟道):
  栅极(G)电压高 → 开关闭合(导通)→ 漏极(D)到源极(S)有电流
  栅极(G)电压低 → 开关断开(截止)→ 漏极(D)到源极(S)无电流

PMOS晶体管(P沟道):
  栅极(G)电压低 → 开关闭合(导通)
  栅极(G)电压高 → 开关断开(截止)

记忆口诀:N管高电平导通,P管低电平导通。

CMOS反相器(NOT门)的工作原理

VDD(5V)
  │
 [PMOS] ← 栅极接输入A
  │
  ├──── 输出F
  │
 [NMOS] ← 栅极接输入A
  │
GND(0V)

当A=1(高电平):NMOS导通,PMOS截止 → F连接到GND → F=0
当A=0(低电平):PMOS导通,NMOS截止 → F连接到VDD → F=1

这就是"非门"(NOT门)的物理实现!


第二节:如何读懂芯片引脚图

2.1 芯片的外观

74系列芯片通常是DIP封装(双列直插封装),像一只小虫子趴在电路板上:

        ┌─────────────┐
   1 ───┤             ├─── 14
   2 ───┤  74LS00     ├─── 13
   3 ───┤  四2输入    ├─── 12
   4 ───┤  与非门     ├─── 11
   5 ───┤             ├─── 10
   6 ───┤             ├─── 9
   7 ───┤             ├─── 8
        └─────────────┘
         ↑
      缺口/圆点(标记引脚1的位置)

读引脚编号的规则

  1. 找到芯片上的缺口(半圆形凹槽)或圆点(印在芯片表面)
  2. 缺口/圆点左下角的引脚是引脚1
  3. 从引脚1开始,逆时针数:左侧从下到上(1→7),右侧从上到下(8→14)

2.2 以74LS00为例读引脚图

74LS00:四2输入与非门(内含4个独立的NAND门)

引脚图:
        ┌─────────────┐
  1A ───┤1          14├─── VCC (+5V)
  1B ───┤2          13├─── 4B
  1Y ───┤3          12├─── 4A
  2A ───┤4          11├─── 4Y
  2B ───┤5          10├─── 3B
  2Y ───┤6           9├─── 3A
 GND ───┤7           8├─── 3Y
        └─────────────┘

读法

  • 引脚14(VCC):接+5V电源 ← 必须接,否则芯片不工作
  • 引脚7(GND):接地 ← 必须接,否则芯片不工作
  • 引脚1(1A)、引脚2(1B):第1个NAND门的两个输入
  • 引脚3(1Y):第1个NAND门的输出,1Y = NOT(1A AND 1B)
  • 引脚4~6:第2个NAND门(2A、2B输入,2Y输出)
  • 引脚8~10:第3个NAND门(3Y输出,3A、3B输入)
  • 引脚11~13:第4个NAND门(4Y输出,4A、4B输入)

⚡ 新手最常犯的错误

  • 忘记接VCC和GND → 芯片完全不工作
  • 把引脚编号数错 → 接线全部错误
  • 把输入和输出接反 → 逻辑功能错误

2.3 信号流向的读法

在逻辑电路图中,信号从左到右流动(约定俗成):

输入信号 ──→ [逻辑门/芯片] ──→ 输出信号
  (左侧)                        (右侧)

特殊符号的含义

符号 含义 示例
小圆圈(气泡) 取反(低电平有效) 输出端有气泡=低有效输出
三角形 缓冲器(增强驱动) 三态缓冲器
斜线+数字 总线(多根线) /8 表示8根线
箭头方向 信号流向 →输入,←输出

低电平有效的识别

  • 引脚名称后面有下划线或"_bar":如 CS_barOE_barCLR_bar
  • 引脚名称前面有斜杠:如 /CS/OE
  • 引脚符号上有气泡(小圆圈)

例子:74LS138的使能端

  • G1:高电平有效(G1=1时使能)
  • G2A_bar:低电平有效(G2A_bar=0时使能)
  • 同时满足 G1=1 且 G2A_bar=0 且 G2B_bar=0,芯片才工作

2.4 功能表(真值表)的读法

功能表描述了芯片在不同输入组合下的输出。

以74LS138为例

G1 G2A_bar G2B_bar A2 A1 A0 输出
0 X X X X X 全为1(禁止)
X 1 X X X X 全为1(禁止)
1 0 0 0 0 0 Y0=0,其余=1
1 0 0 0 0 1 Y1=0,其余=1
1 0 0 1 1 1 Y7=0,其余=1

读法规则

  • X(Don’t Care)= 无关,该输入是0还是1都不影响结果
  • = 上升沿(时钟从低变高的瞬间)
  • = 下降沿(时钟从高变低的瞬间)
  • 表格从上到下优先级依次降低(上面的行优先)

第三节:如何读懂时序图

3.1 时序图的基本结构

时序图(Timing Diagram)描述信号随时间变化的关系,是数字电路分析的核心工具。

时间轴 ──────────────────────────────────→ 时间

CLK  ─┐  ┌──┐  ┌──┐  ┌──┐  ┌──
      └──┘  └──┘  └──┘  └──┘
       ↑    ↑    ↑    ↑
      上升沿(触发时刻)

D    ──────┐        ┌────────
           └────────┘
            ↑       ↑
          变化时刻  变化时刻

Q    ──────────┐        ┌────
               └────────┘
                ↑
              响应CLK上升沿后的变化

坐标轴说明

  • 横轴:时间,从左到右
  • 纵轴:电平,高(1)在上,低(0)在下
  • 波形:矩形波,高平台=逻辑1,低平台=逻辑0

3.2 关键时序概念

上升沿(Rising Edge):信号从低电平变为高电平的瞬间,用 ↑ 表示

下降沿(Falling Edge):信号从高电平变为低电平的瞬间,用 ↓ 表示

传播延迟(Propagation Delay,tpd):输入变化到输出响应之间的时间差

输入 ──┐
       └──────────────────
                ↑
              变化时刻 t=0

输出 ──────────────┐
                   └──────
                   ↑
                 t = tpd(延迟后才响应)

建立时间(Setup Time,tsu):时钟有效沿之前,数据必须稳定的最短时间

保持时间(Hold Time,th):时钟有效沿之后,数据必须继续保持稳定的最短时间

数据D ──────┬──────────────────────────
            │← tsu →│← th →│
            │        ↑      │
            │      CLK上升沿 │
            │               │
CLK   ──────────────┐────────────────
                    └

⚡ 违反建立/保持时间的后果:触发器进入亚稳态,输出不确定,可能导致系统崩溃。

3.3 如何画时序图(步骤)

以上升沿D触发器为例,已知CLK和D,画Q:

步骤1:画出CLK波形(方波)

步骤2:找出所有CLK上升沿的时刻(↑)

步骤3:在每个上升沿时刻,读取D的当前值

步骤4:Q在上升沿后变为该D值,并保持到下一个上升沿

CLK  ─┐  ┌──┐  ┌──┐  ┌──┐  ┌──
      └──┘  └──┘  └──┘  └──┘
       ↑1   ↑2   ↑3   ↑4

D    ──┐     ┌────┐     ┌──
       └─────┘    └─────┘
       0     1    1     0    ← 各上升沿时D的值

Q    ──────┐     ┌────┐
           └─────┘    └──
       0   0    1    1   0   ← Q在上升沿后更新

分析

  • ↑1时刻:D=0 → Q保持0
  • ↑2时刻:D=1 → Q变为1
  • ↑3时刻:D=1 → Q保持1
  • ↑4时刻:D=0 → Q变为0

3.4 时序图中的常见标注

标注 含义
上升沿触发
下降沿触发
斜线区域 信号处于变化中(不稳定)
X 或阴影 无关状态(don’t care)
Z 高阻态(三态门禁止时)
双线 总线(多位信号)

第四节:Logisim 快速上手

4.1 Logisim 是什么

Logisim 是一款免费开源的数字逻辑电路仿真软件,非常适合初学者。

  • 官网:http://www.cburch.com/logisim/
  • 特点:界面简单,拖拽操作,即时仿真
  • 用途:画逻辑电路图、验证真值表、观察信号变化

4.2 Logisim 基本操作

第一步:放置元器件

  1. 在左侧"元器件库"中找到需要的门电路(如AND、OR、NOT)
  2. 点击选中,在画布上点击放置
  3. 常用元器件位置:
    • 基本门:Gates → AND Gate / OR Gate / NOT Gate
    • 输入:Wiring → Pin(设置为Input)
    • 输出:Wiring → Pin(设置为Output)
    • 时钟:Wiring → Clock

第二步:连线

  1. 选择"箭头"工具(或按Escape)
  2. 将鼠标移到引脚端点(出现绿色圆点)
  3. 点击并拖动到另一个引脚端点
  4. 连线成功后变为黑色;蓝色表示未连接

第三步:运行仿真

  1. 点击工具栏的"手形"工具(或按Ctrl+E)
  2. 点击输入引脚(Pin)切换0/1
  3. 观察输出引脚的变化(绿色=1,黑色=0)

4.3 用Logisim验证与非门真值表

操作步骤

  1. 放置一个2输入AND门
  2. 放置一个NOT门,连接到AND门输出
  3. 放置两个输入Pin(A和B)
  4. 放置一个输出Pin(F)
  5. 连线:A→AND输入1,B→AND输入2,AND输出→NOT输入,NOT输出→F

验证

A(点击切换) B(点击切换) F(观察颜色) 预期
0(黑) 0(黑) 绿(1) NAND(0,0)=1 ✓
0(黑) 1(绿) 绿(1) NAND(0,1)=1 ✓
1(绿) 0(黑) 绿(1) NAND(1,0)=1 ✓
1(绿) 1(绿) 黑(0) NAND(1,1)=0 ✓

4.4 在Logisim中使用74系列芯片

Logisim内置了常用74系列芯片:

  1. 在元器件库中找到"Memory"或"Plexers"分类
  2. 常用芯片位置:
    • 译码器:Plexers → Decoder
    • 多路选择器:Plexers → Multiplexer
    • 触发器:Memory → D Flip-Flop / JK Flip-Flop
    • 计数器:Memory → Counter

注意:Logisim的芯片是功能模型,引脚布局与实际74系列芯片不同,但逻辑功能相同。


第五节:Multisim 快速上手

5.1 Multisim 是什么

Multisim(NI Multisim)是National Instruments公司开发的专业电路仿真软件,李小玲老师课堂常用。

  • 特点:支持真实74系列芯片模型,仿真更接近实际
  • 用途:搭建芯片级电路、观察时序波形、测量电气参数

5.2 搭建第一个74LS138电路

目标:验证74LS138译码器的功能

步骤1:新建工程

  • 打开Multisim → File → New → Blank
  • 保存为"74LS138_test.ms14"

步骤2:放置74LS138芯片

  • 按Ctrl+W打开元器件库
  • 搜索"74LS138"
  • 选择"74LS138D"(DIP封装),放置到画布

步骤3:连接电源和地

  • 放置VCC(5V)电源符号,连接到引脚16(VCC)
  • 放置GND符号,连接到引脚8(GND)

步骤4:连接使能端

  • 引脚6(G1)接VCC(高电平,使能)
  • 引脚4(G2A_bar)接GND(低电平,使能)
  • 引脚5(G2B_bar)接GND(低电平,使能)

步骤5:连接输入和输出

  • 引脚1(A0)、2(A1)、3(A2)各接一个开关(Switch)
  • 引脚715(Y0Y7)各接一个LED指示灯

步骤6:运行仿真

  • 按F5或点击"Run"按钮
  • 拨动开关改变A2A1A0的值
  • 观察哪个LED熄灭(低有效,熄灭=选中)

5.3 使用逻辑分析仪观察波形

  1. 在仪器库中找到"Logic Analyzer"(逻辑分析仪)
  2. 将需要观察的信号连接到逻辑分析仪的输入端
  3. 运行仿真,双击逻辑分析仪查看波形
  4. 可以同时观察CLK、D、Q等多路信号的时序关系

第六节:逻辑符号速查

6.1 基本逻辑门符号

门名称 中文 逻辑表达式 文字描述符号 真值表(2输入)
AND 与门 F = A·B [A,B]→[AND]→F 全1出1,有0出0
OR 或门 F = A+B [A,B]→[OR]→F 有1出1,全0出0
NOT 非门 F = Ā [A]→[NOT]→F 0变1,1变0
NAND 与非门 F = A·B上划线 [A,B]→[NAND]→F 全1出0,有0出1
NOR 或非门 F = A+B上划线 [A,B]→[NOR]→F 全0出1,有1出0
XOR 异或门 F = A⊕B [A,B]→[XOR]→F 相同出0,不同出1
XNOR 同或门 F = A⊙B [A,B]→[XNOR]→F 相同出1,不同出0

6.2 记忆口诀

与门:全1才出1,有0就出0("苛刻",全部同意才通过)
或门:有1就出1,全0才出0("宽松",一个同意就通过)
非门:取反,0变1,1变0
与非门:与门后取反(全1出0)
或非门:或门后取反(全0出1)
异或门:相同出0,不同出1("挑剔",不一样才出1)
同或门:相同出1,不同出0(异或的反)

6.3 德摩根定理(必背)

A⋅B‾=A‾+B‾(与非 = 各自取反后或)\overline{A \cdot B} = \overline{A} + \overline{B} \quad \text{(与非 = 各自取反后或)}AB=A+B(与非 = 各自取反后或)

A+B‾=A‾⋅B‾(或非 = 各自取反后与)\overline{A + B} = \overline{A} \cdot \overline{B} \quad \text{(或非 = 各自取反后与)}A+B=AB(或非 = 各自取反后与)

直觉理解

  • “不是(A且B)” = “不是A,或者不是B”(只要有一个不满足就行)
  • “不是(A或B)” = “不是A,且不是B”(两个都不满足才行)

第七节:面包板使用指南

7.1 面包板的结构

面包板(Breadboard)是无需焊接的实验电路板:

面包板结构(俯视图):

  + ─────────────────────────────── +  ← 电源轨(红色,接VCC)
  - ─────────────────────────────── -  ← 地轨(蓝色,接GND)

  a b c d e   f g h i j
1 ○ ○ ○ ○ ○   ○ ○ ○ ○ ○
2 ○ ○ ○ ○ ○   ○ ○ ○ ○ ○
3 ○ ○ ○ ○ ○   ○ ○ ○ ○ ○
  ↑           ↑
  同一行a-e内部连通  同一行f-j内部连通
  (左右两侧不连通)

连通规则

  • 同一行的a-e(或f-j)内部连通
  • 左右两侧(a-e 和 f-j)不连通,中间是芯片插槽
  • 上下两条电源轨各自连通(红色接VCC,蓝色接GND)

7.2 插入74系列芯片

  1. 将芯片跨中间槽插入(引脚1在左上角)
  2. 芯片左侧引脚在a-e列,右侧引脚在f-j列
  3. 用跳线连接芯片引脚到电源轨或其他元器件

7.3 搭建74LS00电路的步骤

目标:用74LS00实现 F = NOT(A AND B)

材料:74LS00芯片×1,LED×1,电阻330Ω×1,跳线若干,5V电源

步骤

  1. 将74LS00插入面包板中间
  2. 引脚14(VCC)→ 红色电源轨(+5V)
  3. 引脚7(GND)→ 蓝色地轨(GND)
  4. 引脚1(1A)→ 开关S1(另一端接VCC或GND)
  5. 引脚2(1B)→ 开关S2(另一端接VCC或GND)
  6. 引脚3(1Y)→ 330Ω电阻 → LED正极 → LED负极 → GND
  7. 接通5V电源,拨动S1和S2,观察LED

预期结果

  • S1=0,S2=0:LED亮(NAND输出1)
  • S1=0,S2=1:LED亮
  • S1=1,S2=0:LED亮
  • S1=1,S2=1:LED灭(NAND输出0)

7.4 常见故障排查

故障现象 可能原因 解决方法
芯片完全不工作 VCC或GND未接 检查引脚14和7的连接
输出始终为高 输入端悬空 CMOS输入端必须接确定电平
输出始终为低 输出端短路到GND 检查连线是否有短路
LED不亮 LED方向接反 调换LED方向(长脚接正极)
结果不对 引脚编号数错 重新确认引脚1的位置

第八节:专有名词速查词典

📖 遇到不认识的词,先来这里查。每个词都有"一句话解释"和"类比"。

数字电路基础词汇

术语(中文) 术语(英文) 一句话解释 生活类比
逻辑门 Logic Gate 实现基本逻辑运算的电路单元 像一个判断"是/否"的小裁判
真值表 Truth Table 列出所有输入组合和对应输出的表格 像乘法口诀表,查表就知道结果
布尔代数 Boolean Algebra 只有0和1的数学体系 像只有"是"和"否"的逻辑语言
组合逻辑 Combinational Logic 输出只取决于当前输入的电路 像自动贩卖机:投币→出货,无记忆
时序逻辑 Sequential Logic 输出取决于当前输入和历史状态的电路 像银行账户:余额=历史存取款记录
触发器 Flip-Flop 能存储1位信息的基本存储单元 像一个只能记住"开"或"关"的开关
锁存器 Latch 电平触发的存储单元 像一扇门:开着时随时进出,关上时锁住
寄存器 Register 多个触发器组成的多位存储单元 像一排储物柜,每格存一位
计数器 Counter 能对脉冲计数的时序电路 像超市的取号机,每按一次加1
译码器 Decoder 将n位二进制码转换为2^n个输出之一 像电梯按钮:按3楼,只有3楼灯亮
编码器 Encoder 将2^n个输入之一转换为n位二进制码 像键盘:按A键,输出A的ASCII码
多路选择器 Multiplexer (MUX) 从多路输入中选一路输出 像电视遥控器:选1频道,只看1频道
加法器 Adder 实现二进制加法的组合逻辑电路 像计算器里的加法按钮
竞争冒险 Race Hazard 信号延迟不同导致的短暂错误输出 像两个人同时说话,声音混在一起

芯片相关词汇

术语(中文) 术语(英文) 一句话解释
集成电路 Integrated Circuit (IC) 把很多晶体管集成在一块硅片上的芯片
DIP封装 Dual In-line Package 双列直插封装,像虫子一样的芯片外形
引脚 Pin 芯片的金属腿,用于连接外部电路
扇出 Fan-out 一个门能驱动的同类门的最大数量
扇入 Fan-in 一个门的输入端数量
传播延迟 Propagation Delay 输入变化到输出响应的时间差
噪声容限 Noise Margin 电路能承受的最大噪声干扰幅度
高阻态 High-Impedance (Hi-Z) 三态门禁止时的输出状态,相当于断路
线与 Wired-AND 多个OC门输出直接相连实现的与逻辑
使能端 Enable 控制芯片是否工作的引脚

时序相关词汇

术语(中文) 术语(英文) 一句话解释
时钟 Clock (CLK) 周期性方波信号,是时序电路的节拍器
上升沿 Rising Edge 时钟从低变高的瞬间
下降沿 Falling Edge 时钟从高变低的瞬间
建立时间 Setup Time (tsu) 时钟沿前数据必须稳定的最短时间
保持时间 Hold Time (th) 时钟沿后数据必须保持的最短时间
亚稳态 Metastability 触发器输出不确定的危险状态
同步电路 Synchronous Circuit 所有触发器共用同一时钟的电路
异步电路 Asynchronous Circuit 触发器不共用时钟的电路
状态机 State Machine (FSM) 用状态图描述的时序逻辑电路
状态转换图 State Transition Diagram 描述状态机各状态和转换条件的图

第九节:数学基础快速补充

9.1 你需要的数学只有这些

学数字电路不需要高等数学,但需要以下基础:

集合与逻辑

  • “且”(AND):两个条件都满足
  • “或”(OR):至少一个条件满足
  • “非”(NOT):条件取反

幂运算

  • 20=12^0 = 120=121=22^1 = 221=222=42^2 = 422=423=82^3 = 823=824=162^4 = 1624=16
  • 28=2562^8 = 25628=256210=10242^{10} = 1024210=1024216=655362^{16} = 65536216=65536
  • 记忆:每增加1位,数量翻倍

取模运算

  • 7mod  4=37 \mod 4 = 37mod4=3(7除以4余3)
  • 在计数器中:模N计数器计到N-1后回到0

9.2 二进制运算规则

加法(逢2进1):

  0 + 0 = 0
  0 + 1 = 1
  1 + 0 = 1
  1 + 1 = 10(进位!)

例子:1011 + 0110 = ?

  1011
+ 0110
------
  1  ← 1+0=1
  0  ← 1+1=10,写0进1
  0  ← 0+1+1(进位)=10,写0进1
  1  ← 1+0+1(进位)=10,写0进1
  1  ← 进位
= 10001(十进制:11+6=17 ✓)

逻辑运算(按位):

AND: 1·1=1, 1·0=0, 0·1=0, 0·0=0
OR:  1+1=1, 1+0=1, 0+1=1, 0+0=0
XOR: 1⊕1=0, 1⊕0=1, 0⊕1=1, 0⊕0=0
NOT: ~1=0, ~0=1

9.3 常用换算速查

十进制 二进制 十六进制
0 0000 0
1 0001 1
2 0010 2
3 0011 3
4 0100 4
5 0101 5
6 0110 6
7 0111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F

记忆技巧:十六进制的AF对应十进制1015,背下来就行。


第十节:知识体系总览与学习路径

10.1 课程知识地图

第00章
前置知识与工具入门
电路基础、芯片读法、仿真工具

第01章
数字电路基础
数字vs模拟、课程概览

第02章
数制与码制
二进制、十六进制、补码

第03章
逻辑代数基础
布尔代数、德摩根定理

第04章
逻辑函数化简
卡诺图、代数法

第05章
门电路
CMOS/TTL、三态门、OC门

第06章
组合逻辑电路
74LS138、74LS151、加法器

第07章
触发器
D/JK/T触发器、时序分析

第08章
时序逻辑电路
74LS161计数器、状态机设计

第09章
脉冲电路
555定时器

第10章
存储器与PLD
ROM/RAM、FPGA

第11章
数模转换
DAC/ADC

颜色说明

  • 🟢 绿色:前置基础,必须先学
  • 🟠 橙色:考试核心,重点攻克

10.2 推荐学习顺序

第一阶段(1~2周):打基础

  1. 第00章:工具入门,装好Logisim,能画简单电路
  2. 第01章:了解课程全貌
  3. 第02章:搞定进制转换和补码(必考!)
  4. 第03章:掌握布尔代数和德摩根定理

第二阶段(2~3周):攻核心
5. 第04章:卡诺图化简(必考!多练)
6. 第05章:门电路参数(TTL/CMOS对比)
7. 第06章:组合逻辑设计(74LS138是重中之重)

第三阶段(2~3周):学时序
8. 第07章:触发器时序分析(画波形图)
9. 第08章:计数器设计(74LS161必须会用)

第四阶段(1~2周):扫尾
10. 第09章:555定时器计算
11. 第10章:存储器扩展设计
12. 第11章:DAC/ADC指标计算

10.3 每章学习建议

学每章的正确姿势

1. 先看学习目标
(5分钟)

2. 读核心概念
(30分钟)

3. 打开Logisim仿真
(20分钟)

4. 做练习题
(30分钟)

5. 对照考试重点速查
(10分钟)

6. 复习错题
(15分钟)

不要这样学

  • ❌ 只看不做,不动手仿真
  • ❌ 跳过练习题直接看答案
  • ❌ 不理解就死记硬背公式
  • ❌ 一次学太多,不及时复习

第十一节:实验安全与规范

11.1 使用面包板的安全规范

  1. 先断电再接线:每次修改电路前,先关闭电源
  2. 检查极性:LED有正负极,接反不亮但不会损坏;电解电容接反会爆炸(本课程不用)
  3. 限流电阻:LED必须串联限流电阻(通常330Ω~1kΩ),否则会烧毁
  4. CMOS防静电:拿CMOS芯片前先触摸金属物体放静电,或戴防静电手环

11.2 仿真软件使用规范

  1. 及时保存:每隔10分钟保存一次,防止软件崩溃丢失工作
  2. 命名规范:文件名用"章节_功能_日期"格式,如"06_74LS138_20241201"
  3. 截图记录:仿真结果截图保存,方便写实验报告
  4. 版本管理:重要修改前另存为新版本

11.3 实验报告规范(李老师要求)

李老师的实验报告通常要求包含:

  1. 实验目的:一句话说明本次实验要验证什么
  2. 实验原理:简述相关理论(引用教材公式和真值表)
  3. 电路图:Logisim/Multisim截图,标注关键引脚
  4. 实验步骤:按步骤描述操作过程
  5. 实验结果:真值表或时序图,实测值与理论值对比
  6. 误差分析:如果有偏差,分析原因
  7. 实验总结:学到了什么,遇到了什么问题,如何解决

第十二节:练习题

练习题 0.1

🎓 场景:你是一名刚入学的大二学生,第一次接触数字电路实验室,看到桌上有一块74LS00芯片。

下列关于74LS00芯片的说法,正确的是:

A. 74LS00是一个8位加法器
B. 74LS00内含4个独立的2输入与非门
C. 74LS00的VCC引脚应接GND
D. 74LS00的输出是模拟信号

查看答案

答案:B

74LS00是"四2输入与非门",内含4个独立的NAND门,每个门有2个输入和1个输出。

  • A错误:74LS00是逻辑门,不是加法器(加法器是74LS283)
  • C错误:VCC引脚应接+5V电源,GND引脚才接地
  • D错误:数字电路输出的是数字信号(高电平或低电平)

在实验室中,拿到芯片后第一件事是查引脚图,确认VCC(引脚14)和GND(引脚7)的位置,然后再连接其他信号。


练习题 0.2

🏠 场景:你在设计一个智能门锁,需要用逻辑门判断"密码正确(A=1)且指纹匹配(B=1)"时才开门(F=1)。

该逻辑功能对应的门电路是:

A. OR门(或门)
B. AND门(与门)
C. NOT门(非门)
D. XOR门(异或门)

查看答案

答案:B

"密码正确 且 指纹匹配"→ F = A AND B,对应AND门(与门)。

  • 只有A=1且B=1时,F=1(门开)
  • 任何一个条件不满足,F=0(门不开)

这正是AND门的功能:全1才出1,有0就出0。

在实际门锁系统中,还需要考虑防抖动(用SR锁存器)和超时锁定(用计数器),这些都是后续章节的内容。


练习题 0.3

🔬 场景:在Logisim中仿真一个电路,你发现输入A=1、B=1时,输出F=0;其他情况F=1。

该电路实现的是什么逻辑功能?

A. AND门 B. OR门 C. NAND门 D. NOR门

查看答案

答案:C

分析:只有A=B=1时F=0,其他情况F=1,这正是NAND(与非)门的真值表:

A B F
0 0 1
0 1 1
1 0 1
1 1 0

NAND门 = AND门后接NOT门,“全1出0,有0出1”。

在Logisim中验证:放置一个NAND门,连接两个输入开关,逐一测试4种输入组合,观察输出是否与上表一致。


练习题 0.4 ⭐⭐

🚦 场景:交通灯控制系统中,某路口的绿灯信号G和行人按钮信号P共同控制蜂鸣器B:当绿灯亮(G=1)且行人按下按钮(P=1)时,蜂鸣器响(B=1)。

(1) 写出B的逻辑表达式
(2) 画出真值表
(3) 用74LS08(四2输入与门)实现,说明引脚连接

查看答案

(1) 逻辑表达式B=G⋅PB = G \cdot PB=GP(G与P的AND)

(2) 真值表

G(绿灯) P(行人按钮) B(蜂鸣器)
0 0 0
0 1 0
1 0 0
1 1 1

(3) 74LS08引脚连接

74LS08内含4个AND门,使用第1个门:

  • 引脚14(VCC)→ +5V
  • 引脚7(GND)→ GND
  • 引脚1(1A)→ 绿灯信号G
  • 引脚2(1B)→ 行人按钮信号P
  • 引脚3(1Y)→ 蜂鸣器驱动电路输入B

实际应用说明:蜂鸣器需要较大电流驱动,74LS08的输出电流(约8mA)可能不够,实际中需要在引脚3后加一个三极管驱动电路。


练习题 0.5 ⭐⭐

🎮 场景:你在用Logisim设计一个"猜拳游戏"电路,需要判断玩家A(出石头=0,出剪刀=1)和玩家B(出石头=0,出剪刀=1)是否平局(两人出一样的)。

(1) 平局的逻辑条件是什么?
(2) 对应哪种逻辑门?
(3) 在Logisim中如何验证?

查看答案

(1) 平局条件:A和B出一样的,即A=B(同为0或同为1)

(2) 对应逻辑门:XNOR门(同或门)

  • A=0,B=0(都出石头):平局,F=1 ✓
  • A=0,B=1(A石头,B剪刀):不平局,F=0 ✓
  • A=1,B=0(A剪刀,B石头):不平局,F=0 ✓
  • A=1,B=1(都出剪刀):平局,F=1 ✓

XNOR(同或):相同出1,不同出0,正好符合"平局"的判断。

(3) Logisim验证步骤

  1. 放置一个XNOR门(在Gates分类中)
  2. 连接两个输入Pin(A和B)
  3. 连接一个输出Pin(F)
  4. 切换到仿真模式,逐一测试4种输入组合
  5. 验证:A=B时F=1(绿色),A≠B时F=0(黑色)

章节小结

本章核心要点

  1. 电路基础:高电平=逻辑1,低电平=逻辑0;VCC接电源,GND接地
  2. 芯片读法:找缺口定引脚1,逆时针数引脚编号;VCC和GND必须接
  3. 信号流向:从左到右,气泡=取反,低有效引脚名称有下划线
  4. 时序图:横轴时间,纵轴电平;上升沿↑,下降沿↓;建立时间和保持时间
  5. 仿真工具:Logisim适合初学,Multisim更接近实际;先仿真再搭硬件
  6. 面包板:同行a-e连通,先接电源地再接信号,LED要串限流电阻

下章预告

第01章:数字电路基础说课与课程须知

了解了工具和基础知识,下一章我们将正式进入数字电路的世界:

  • 数字信号与模拟信号的本质区别
  • 数字电路在手机、计算机中的应用
  • 完整的课程知识体系和学习路径
  • Multisim的详细使用方法

第00章 前置知识与工具入门 完


附录:Logisim 操作速查

常用快捷键

快捷键 功能
Ctrl+E 切换编辑/仿真模式
Ctrl+S 保存
Ctrl+Z 撤销
Ctrl+1 选择工具(箭头)
Ctrl+2 连线工具
Escape 取消当前操作
空格 仿真模式下切换时钟

常用元器件位置

元器件 在Logisim中的位置
AND门 Gates → AND Gate
OR门 Gates → OR Gate
NOT门 Gates → NOT Gate
NAND门 Gates → NAND Gate
NOR门 Gates → NOR Gate
XOR门 Gates → XOR Gate
输入引脚 Wiring → Pin(设为Input)
输出引脚 Wiring → Pin(设为Output)
时钟 Wiring → Clock
D触发器 Memory → D Flip-Flop
JK触发器 Memory → JK Flip-Flop
计数器 Memory → Counter
译码器 Plexers → Decoder
多路选择器 Plexers → Multiplexer
7段显示 Input/Output → 7-Segment Display

常见问题解决

问题1:连线显示蓝色

  • 原因:连线悬空,没有连接到任何引脚
  • 解决:检查连线两端是否都连接到引脚端点(出现绿色圆点才算连上)

问题2:输出始终为红色(错误)

  • 原因:电路中有短路或逻辑错误
  • 解决:检查是否有两个输出直接相连

问题3:仿真时输入无法切换

  • 原因:没有切换到仿真模式
  • 解决:按Ctrl+E切换到仿真模式(手形光标)

问题4:时钟不工作

  • 原因:仿真模式下时钟需要手动触发或设置自动运行
  • 解决:在仿真菜单中选择"Ticks Enabled"开启自动时钟

附录:Multisim 操作速查

搭建74系列芯片电路的标准流程

步骤1:新建工程
  File → New → Blank → 保存

步骤2:放置芯片
  Ctrl+W → 搜索芯片型号(如"74LS138")→ 选择 → 放置

步骤3:连接电源和地
  放置VCC符号(+5V)→ 连接到芯片VCC引脚
  放置GND符号 → 连接到芯片GND引脚

步骤4:连接输入
  放置开关(Switch)或字信号发生器(Word Generator)
  连接到芯片输入引脚

步骤5:连接输出
  放置LED或逻辑探针(Logic Probe)
  连接到芯片输出引脚

步骤6:运行仿真
  按F5或点击Run按钮
  操作输入,观察输出

步骤7:观察波形
  放置逻辑分析仪(Logic Analyzer)
  连接需要观察的信号
  双击逻辑分析仪查看波形

常用仪器

仪器名称 用途 快捷键
万用表(Multimeter) 测量电压、电流、电阻 -
示波器(Oscilloscope) 观察模拟波形 -
逻辑分析仪(Logic Analyzer) 观察数字信号时序 -
字信号发生器(Word Generator) 产生数字测试序列 -
逻辑转换仪(Logic Converter) 真值表↔逻辑表达式↔电路图互转 -

附录:常见74系列芯片一览

芯片型号 功能 所在章节
74LS00 四2输入与非门 第03章
74LS04 六反相器 第05章
74LS08 四2输入与门 第03章
74LS32 四2输入或门 第03章
74LS86 四2输入异或门 第03章
74LS138 3线-8线译码器 第06章
74LS148 8线-3线优先编码器 第06章
74LS151 8选1数据选择器 第06章
74LS283 4位超前进位加法器 第06章
74LS85 4位数值比较器 第06章
74HC74 双D触发器(上升沿) 第07章
74LS76 双JK触发器(下降沿) 第07章
74LS161 4位同步二进制计数器 第08章
74LS90 十进制计数器 第08章
74LS194 4位双向移位寄存器 第08章
NE555 555定时器 第09章
74LS244 八三态缓冲器 第05章
74LS245 八双向三态收发器 第05章

💡 提示:每个芯片的详细引脚图和使用方法,请查阅本教程的《附录-芯片速查手册》。


附录:VHDL/Verilog 入门预览

为什么要学HDL?

李老师课程要求掌握VHDL或Verilog,用代码描述硬件电路。

HDL(硬件描述语言)与软件编程的区别

特性 软件(C语言) 硬件(VHDL/Verilog)
执行方式 顺序执行 并行执行
描述对象 算法流程 硬件结构
时间概念 无(或用延时函数) 有(时钟、延迟)
综合结果 机器码 逻辑门网表

VHDL最小示例:AND门

-- 文件:and_gate.vhd
-- 功能:2输入与门

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;  -- 引入标准逻辑库

entity and_gate is             -- 实体:定义接口(相当于芯片引脚)
    Port (
        A : in  STD_LOGIC;    -- 输入A
        B : in  STD_LOGIC;    -- 输入B
        F : out STD_LOGIC     -- 输出F
    );
end and_gate;

architecture Behavioral of and_gate is  -- 架构:定义功能
begin
    F <= A AND B;  -- F等于A与B(<= 是信号赋值符号)
end Behavioral;

Verilog最小示例:AND门

// 文件:and_gate.v
// 功能:2输入与门

module and_gate (    // 模块:定义接口
    input  A,        // 输入A
    input  B,        // 输入B
    output F         // 输出F
);
    assign F = A & B;  // F等于A与B(assign是连续赋值)
endmodule

对比:Verilog语法更接近C语言,VHDL更严格。李老师课程两种都会涉及,建议先学Verilog。

在Quartus中运行第一个HDL程序

  1. 打开Quartus → File → New Project Wizard
  2. 设置工程名和目录
  3. File → New → VHDL File(或Verilog HDL File)
  4. 输入上面的代码,保存
  5. Processing → Start Compilation(编译)
  6. 查看编译报告,确认无错误
  7. 打开RTL Viewer查看综合后的电路图

第00章 前置知识与工具入门 完

现在你已经具备了学习数字电路的所有基础知识!让我们开始正式的学习旅程吧。


附录:与C语言的类比

你已经学过C语言,这里把数字电路的概念与C语言对比,帮助你快速理解。

变量与信号

C语言 数字电路 说明
int x = 0; 信号线,初始为低电平 存储一个值
bool flag = true; 高电平信号 只有0和1
x = a & b; F = A AND B 按位与
x = a | b; F = A OR B 按位或
x = ~a; F = NOT A 按位取反
x = a ^ b; F = A XOR B 按位异或

条件判断与逻辑门

// C语言:if语句
if (A == 1 && B == 1) {
    F = 1;
} else {
    F = 0;
}
// 等价于:F = A AND B(与门)
// C语言:复杂条件
if ((A == 1 && B == 1) || C == 1) {
    ALARM = 1;
}
// 等价于:ALARM = AB + C(与或逻辑)

循环与计数器

// C语言:计数循环
int count = 0;
while (count < 10) {
    count++;
    // 每次循环加1
}
// 等价于:模10计数器(74LS161实现)

数组与存储器

// C语言:数组
int memory[1024];  // 1024个整数
memory[address] = data;  // 写入
data = memory[address];  // 读取
// 等价于:1K×n位RAM(第10章)

函数与组合逻辑

// C语言:函数
int nand_gate(int a, int b) {
    return !(a && b);
}
// 等价于:NAND门,F = NOT(A AND B)

关键区别:C语言是顺序执行(一行一行),数字电路是并行执行(所有门同时工作)。这是理解硬件的最重要概念。


第00章 前置知识与工具入门 完


附录:常见问题解答(FAQ)

Q1:我没学过物理,能学数字电路吗?

完全可以!数字电路只需要理解"高电平=1,低电平=0"这一个核心概念。本教程的第00章专门为零基础同学设计,不需要任何物理基础。

Q2:Logisim和Multisim有什么区别,用哪个?

  • Logisim:免费、简单、适合初学,画逻辑图和验证真值表
  • Multisim:专业、接近实际芯片,李老师课堂常用

建议:先用Logisim学概念,再用Multisim做实验验证。

Q3:VHDL和Verilog学哪个?

两个都会涉及,但Verilog语法更接近C语言,建议先学Verilog。李老师课程两种都会讲,以VHDL为主。

Q4:面包板实验必须做吗?

李老师的实验课会要求用面包板搭电路,这是课程的重要组成部分。建议认真对待,动手能力是硬件工程师的核心技能。

Q5:考试会考什么?

根据往年经验:

  • 选择填空(40分):芯片功能、参数计算、基本概念
  • 计算题(30分):进制转换、补码运算、噪声容限
  • 分析设计题(30分):组合逻辑设计、时序逻辑分析

重点:74LS138、74LS161、D/JK触发器时序图、卡诺图化简。


附录:学习进度自测清单

完成每章学习后,用以下清单检验掌握程度:

第00章(本章)完成标准

  • 能说出VCC、GND、高电平、低电平的含义
  • 能看懂74LS00的引脚图,知道每个引脚的功能
  • 能在Logisim中画一个AND门电路并仿真
  • 能在面包板上接一个LED(串限流电阻)
  • 能看懂简单的时序图(CLK和D的关系)

第01章完成标准

  • 能说出数字信号和模拟信号的区别
  • 能画出课程知识体系的思维导图
  • 能在Multisim中搭建一个简单的74系列芯片电路

第02章完成标准

  • 能在30秒内完成8位二进制和十进制的互转
  • 能求任意8位有符号数的补码
  • 能用双符号位法判断补码运算是否溢出

第03章完成标准

  • 能默写德摩根定理(两条)
  • 能用布尔代数化简简单逻辑表达式
  • 能将逻辑表达式转换为逻辑图

第00章 前置知识与工具入门 完

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐