数字电路与逻辑代数之前置知识与工具入门
文章摘要 本文为零基础学习者提供数字电路入门知识,分为三部分:1)电路基础概念,用类比方式解释电压、电流和电阻,介绍数字逻辑电平标准;2)芯片引脚图解读方法,以74LS00为例讲解引脚编号规则和功能表;3)时序图分析方法,说明关键时序参数如上升沿、传播延迟、建立时间和保持时间。文章强调实践性知识,避免复杂公式推导,帮助读者快速掌握数字电路的基本"语言"和工具使用方法,为后续学习
第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
- 从引脚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_bar、OE_bar、CLR_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 基本操作
第一步:放置元器件
- 在左侧"元器件库"中找到需要的门电路(如AND、OR、NOT)
- 点击选中,在画布上点击放置
- 常用元器件位置:
- 基本门:Gates → AND Gate / OR Gate / NOT Gate
- 输入:Wiring → Pin(设置为Input)
- 输出:Wiring → Pin(设置为Output)
- 时钟:Wiring → Clock
第二步:连线
- 选择"箭头"工具(或按Escape)
- 将鼠标移到引脚端点(出现绿色圆点)
- 点击并拖动到另一个引脚端点
- 连线成功后变为黑色;蓝色表示未连接
第三步:运行仿真
- 点击工具栏的"手形"工具(或按Ctrl+E)
- 点击输入引脚(Pin)切换0/1
- 观察输出引脚的变化(绿色=1,黑色=0)
4.3 用Logisim验证与非门真值表
操作步骤:
- 放置一个2输入AND门
- 放置一个NOT门,连接到AND门输出
- 放置两个输入Pin(A和B)
- 放置一个输出Pin(F)
- 连线: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系列芯片:
- 在元器件库中找到"Memory"或"Plexers"分类
- 常用芯片位置:
- 译码器: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 使用逻辑分析仪观察波形
- 在仪器库中找到"Logic Analyzer"(逻辑分析仪)
- 将需要观察的信号连接到逻辑分析仪的输入端
- 运行仿真,双击逻辑分析仪查看波形
- 可以同时观察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{(与非 = 各自取反后或)}A⋅B=A+B(与非 = 各自取反后或)
A+B‾=A‾⋅B‾(或非 = 各自取反后与)\overline{A + B} = \overline{A} \cdot \overline{B} \quad \text{(或非 = 各自取反后与)}A+B=A⋅B(或非 = 各自取反后与)
直觉理解:
- “不是(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在左上角)
- 芯片左侧引脚在a-e列,右侧引脚在f-j列
- 用跳线连接芯片引脚到电源轨或其他元器件
7.3 搭建74LS00电路的步骤
目标:用74LS00实现 F = NOT(A AND B)
材料:74LS00芯片×1,LED×1,电阻330Ω×1,跳线若干,5V电源
步骤:
- 将74LS00插入面包板中间
- 引脚14(VCC)→ 红色电源轨(+5V)
- 引脚7(GND)→ 蓝色地轨(GND)
- 引脚1(1A)→ 开关S1(另一端接VCC或GND)
- 引脚2(1B)→ 开关S2(另一端接VCC或GND)
- 引脚3(1Y)→ 330Ω电阻 → LED正极 → LED负极 → GND
- 接通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=1,21=22^1 = 221=2,22=42^2 = 422=4,23=82^3 = 823=8,24=162^4 = 1624=16
- 28=2562^8 = 25628=256,210=10242^{10} = 1024210=1024,216=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 课程知识地图
颜色说明:
- 🟢 绿色:前置基础,必须先学
- 🟠 橙色:考试核心,重点攻克
10.2 推荐学习顺序
第一阶段(1~2周):打基础
- 第00章:工具入门,装好Logisim,能画简单电路
- 第01章:了解课程全貌
- 第02章:搞定进制转换和补码(必考!)
- 第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 每章学习建议
学每章的正确姿势:
不要这样学:
- ❌ 只看不做,不动手仿真
- ❌ 跳过练习题直接看答案
- ❌ 不理解就死记硬背公式
- ❌ 一次学太多,不及时复习
第十一节:实验安全与规范
11.1 使用面包板的安全规范
- 先断电再接线:每次修改电路前,先关闭电源
- 检查极性:LED有正负极,接反不亮但不会损坏;电解电容接反会爆炸(本课程不用)
- 限流电阻:LED必须串联限流电阻(通常330Ω~1kΩ),否则会烧毁
- CMOS防静电:拿CMOS芯片前先触摸金属物体放静电,或戴防静电手环
11.2 仿真软件使用规范
- 及时保存:每隔10分钟保存一次,防止软件崩溃丢失工作
- 命名规范:文件名用"章节_功能_日期"格式,如"06_74LS138_20241201"
- 截图记录:仿真结果截图保存,方便写实验报告
- 版本管理:重要修改前另存为新版本
11.3 实验报告规范(李老师要求)
李老师的实验报告通常要求包含:
- 实验目的:一句话说明本次实验要验证什么
- 实验原理:简述相关理论(引用教材公式和真值表)
- 电路图:Logisim/Multisim截图,标注关键引脚
- 实验步骤:按步骤描述操作过程
- 实验结果:真值表或时序图,实测值与理论值对比
- 误差分析:如果有偏差,分析原因
- 实验总结:学到了什么,遇到了什么问题,如何解决
第十二节:练习题
练习题 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=G⋅P(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验证步骤:
- 放置一个XNOR门(在Gates分类中)
- 连接两个输入Pin(A和B)
- 连接一个输出Pin(F)
- 切换到仿真模式,逐一测试4种输入组合
- 验证:A=B时F=1(绿色),A≠B时F=0(黑色)
章节小结
本章核心要点
- 电路基础:高电平=逻辑1,低电平=逻辑0;VCC接电源,GND接地
- 芯片读法:找缺口定引脚1,逆时针数引脚编号;VCC和GND必须接
- 信号流向:从左到右,气泡=取反,低有效引脚名称有下划线
- 时序图:横轴时间,纵轴电平;上升沿↑,下降沿↓;建立时间和保持时间
- 仿真工具:Logisim适合初学,Multisim更接近实际;先仿真再搭硬件
- 面包板:同行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程序
- 打开Quartus → File → New Project Wizard
- 设置工程名和目录
- File → New → VHDL File(或Verilog HDL File)
- 输入上面的代码,保存
- Processing → Start Compilation(编译)
- 查看编译报告,确认无错误
- 打开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章 前置知识与工具入门 完
更多推荐



所有评论(0)