AND 门是数字逻辑的基本构建模块,只有当所有输入都为 'ON' 时,输出才会 'ON'。
数字逻辑 101:从 AND、OR、NOT 门入门
AND、OR 和 NOT 是三个最基础的逻辑门。本入门教程将在浏览器中从零开始构建每一个,并把它们组合成一个 NAND 门。
TL;DR: AND、OR 和 NOT 是三个最基础的逻辑门。AND 仅在所有输入都为 1 时输出 1;OR 在任一输入为 1 时输出 1;NOT 把单一输入取反。把它们组合起来就能得到 NAND——一种通用门,所有其他数字电路都可以由它构建。
学习数字逻辑最快的方法就是动手搭电路。看真值表当然有用,但拨动开关、观察输出变化才是直觉形成的地方。本教程将带你在 digisim.io 上一步步构建三个最基础的逻辑门——NOT、AND 和 OR。每个章节结束时,你都会拥有一个亲手搭出来的可工作电路。
无需任何先决知识,也不必安装任何软件。打开浏览器访问 digisim.io,跟着做即可。
开始之前:开关到灯泡的最简电路
每个数字电路都有输入和输出。在 digisim.io 中,基础输入是 INPUT_SWITCH(点击在 0 和 1 之间切换),基础输出是 OUTPUT_LIGHT(收到 1 时亮起)。在接触任何门之前,先搭一个最简单的电路熟悉一下界面。

搭建步骤:
- 打开 digisim.io/circuits/new。
- 从元件面板拖一个 Input Switch 到画布上。
- 在它右边再拖一个 Output Light。
- 点击开关上的输出节点(小圆点)并拖到灯泡的输入节点上,会出现一根连线。
- 点击开关切换状态。灯泡随之响应:开关为 1 时亮,为 0 时灭。
这印证了一个最基本的概念:数字信号通过导线从源端流向目的端。从这里开始构建的每个电路,都是在源端和目的端之间加入逻辑。
1. 搭建 NOT 门电路(反相器)
NOT 门接收单一输入并将其翻转。输入 1 输出 0,输入 0 输出 1。它是最简单的门,先从它入手能让你对接线流程更有把握。

一步步搭建
- 放置输入。 把一个 Input Switch 拖到画布左侧。
- 放置门。 从 Logic Gates 区拖一个 NOT Gate,放在开关右边。
- 放置输出。 在 NOT 门右边放一个 Output Light。
- 连线:输入到门。 点击开关的输出节点,拖到 NOT 门的输入节点。
- 连线:门到输出。 点击 NOT 门的输出节点,拖到灯泡的输入节点。
- 测试每种输入组合。 总共只有两种:
| 输入 (A) | 期望输出 (Y) | 你应该看到 |
|---|---|---|
| 0 | 1 | 开关 OFF,灯亮 |
| 1 | 0 | 开关 ON,灯灭 |
布尔表达式:
你学到了什么
- NOT 门有且仅有一个输入和一个输出。
- 它始终输出与输入相反的值。
- 门符号上的小圆圈(气泡)表示”取反”。后面在 NAND 和 NOR 门上你会再次见到这个气泡。
实际应用:低有效复位线
在微控制器和处理器中,复位引脚通常是”低电平有效”的——也就是说,引脚被拉到 0 时芯片才复位。NOT 门可以让设计者把”按下按钮 = 1”的信号转换为芯片所期待的低有效信号。这种用法几乎出现在每一个嵌入式系统里。
2. 搭建 AND 门电路(把关者)
AND 门只有在所有输入都为 1 时才输出 1。两输入情况下共有四种组合,只有一种会让输出为 1。这使得 AND 门天然适合”多个条件必须同时满足”的场景。

一步步搭建
- 在画布左侧上下放两个 Input Switch。这就是输入 A 和 B。
- 在右侧、两个开关之间居中放一个 AND Gate。
- 在 AND 门右侧放一个 Output Light。
- 连线:开关 A 接到 AND 门的上输入。
- 连线:开关 B 接到 AND 门的下输入。
- 连线:AND 门输出 接到灯泡。
- 系统地测试全部四种组合。 按真值表逐行验证:
| 输入 A | 输入 B | 期望输出 (Y) | 你应该看到 |
|---|---|---|---|
| 0 | 0 | 0 | 两个都 OFF,灯灭 |
| 0 | 1 | 0 | 仅 B ON,灯灭 |
| 1 | 0 | 0 | 仅 A ON,灯灭 |
| 1 | 1 | 1 | 两个都 ON,灯亮 |
布尔表达式:
AND 运算行为类似乘法:输入中只要有一个 0,输出就被强制为 0。
你学到了什么
- AND 门要求一致同意。每个输入都必须为 1,输出才为 1。
- 对于 个输入,AND 门有 种输入组合,但只有一种会让输出为 1。
- 系统地(而非随机地)测试所有组合,正是工程师验证正确性的方式。
常见陷阱:悬空输入
如果 AND 门有输入未连接,它就是悬空输入。在物理电路中,悬空输入会拾取电磁噪声,行为不可预测。在 digisim.io 中,模拟器对此有优雅的处理,但”每个引脚都连上”的好习惯在你转向真实硬件时至关重要。如果需要一个固定输入值,请使用置 0 或 1 的 CONSTANT 元件。
实际应用:双钥匙安全系统
AND 门天然刻画了任何”需要同时授权”的系统:需要两把钥匙同时转动的银行金库、需要两位军官共同操作的核武器发射系统、同时需要密码和硬件令牌的网页应用——它们都实现了 AND 逻辑。

3. 搭建 OR 门电路(包容性触发器)
OR 门在至少一个输入为 1 时输出 1。只有所有输入都为 0 时才输出 0。AND 门强调”所有条件都必须满足”,OR 门则强调”任一条件即可”。

一步步搭建
- 在左侧放两个 Input Switch。
- 在中间放一个 OR Gate。
- 在右侧放一个 Output Light。
- 连线:开关 A 接到 OR 门的上输入。
- 连线:开关 B 接到 OR 门的下输入。
- 连线:OR 门输出 接到灯泡。
- 测试全部四种组合:
| 输入 A | 输入 B | 期望输出 (Y) | 你应该看到 |
|---|---|---|---|
| 0 | 0 | 0 | 两个都 OFF,灯灭 |
| 0 | 1 | 1 | 仅 B ON,灯亮 |
| 1 | 0 | 1 | 仅 A ON,灯亮 |
| 1 | 1 | 1 | 两个都 ON,灯亮 |
布尔表达式:
注意:这是逻辑或,不是算术加法。在布尔代数中,,因为输出已经达到了它能取的最高电平。
你学到了什么
- OR 门只需要一个输入为 1,输出就会触发。
- 四种输入组合中有三种会输出 1(对比 AND 门,只有四种中的一种)。
- OR 门是 AND 门的对偶。德摩根定理形式化地表达了这种对偶性: 。
实际应用:紧急停止系统
工厂车间往往在机器周围多个工位都布置紧急停止按钮。任意一个按钮被按下,机器都必须停止。这就是 OR 逻辑: Button_1 OR Button_2 OR Button_3 = STOP。增加按钮数量,只是给 OR 门多接几个输入而已。
4. 三者结合:搭建一个使能电路
既然你已经分别搭出了三个门,接下来把它们组合成一个能展示门如何协同工作的电路。我们将构建一个反相使能电路:数据信号只有当使能开关为 ON 时才能传到输出,且输出再被取反。
一步步搭建
- 放两个 Input Switch。 用文本工具标注一个为 “Data”,另一个为 “Enable”。
- 在右侧放一个 AND Gate。
- 在 AND 门后放一个 NOT Gate。
- 在末端放一个 Output Light。
- 连线: Data 开关接 AND 输入 A;Enable 开关接 AND 输入 B;AND 输出接 NOT 输入;NOT 输出接灯泡。
- 测试行为:
- 设 Enable = 0。让 Data 在 0 和 1 之间切换。灯始终亮(因为 AND 输出始终为 0,NOT 把它反转为 1)。
- 设 Enable = 1。再切换 Data。当 Data = 0,AND 输出 0,NOT 输出 1,灯亮。当 Data = 1,AND 输出 1,NOT 输出 0,灯灭。
该电路的布尔表达式:
你刚刚用分立的 AND 和 NOT 元件搭出了一个 NAND 门。 NAND 门 是数字设计中最重要的门之一。它本身就是函数完备的——也就是说,所有其他门(AND、OR、NOT、XOR)都可以仅用 NAND 门构造出来。
你学到了什么
- 门可以串联:一个门的输出可以直接作为另一个门的输入。
- AND 与 NOT 组合就得到 NAND——通用门。
- 复杂行为来自简单、可组合的构建块。
5. 用示波器验证时序
静态测试(拨开关、看灯)只能验证逻辑正确性。但数字电路是在时间维度上工作的,理解时序行为是把”功能正确”的设计变成”可靠”设计的关键。
digisim.io 中的 OSCILLOSCOPE(示波器)能让你看到信号随时间变化的波形。
一步步搭建
- 从你在第 2 节搭好的 AND 门电路开始。
- 把其中一个 Input Switch 替换为 CLOCK 元件。时钟会以固定频率自动在 0 和 1 之间交替。
- 另一个 Input Switch 保留作为手动控制。
- 在画布上添加一个 OSCILLOSCOPE。
- 把示波器的一个通道接到时钟输出(快速切换的那个信号)。
- 再把另一个通道接到 AND 门输出。
- 把手动开关设为 1,观察:示波器的一个通道显示时钟波形,另一个通道显示 AND 门输出。它们应当一致——因为当另一个输入为 1 时,AND 门会让时钟信号穿透。
- 现在把手动开关切到 0。AND 门输出立刻平直变成 0,与时钟无关。你刚刚把 AND 门当作了一个信号闸门,可以按需阻断时钟信号。
这就是真实处理器中时钟门控(clock gating)的概念基础。在量产芯片设计中实际上不会用普通的 AND 门来做这件事——因为使能信号可能在脉冲中途变化,从而在时钟上产生毛刺。真实硅芯片使用的是集成时钟门控单元(ICG):一个锁存器,把使能信号”困住”直到时钟变低,后接一个 AND。最终行为与你刚刚演示的相同,但无毛刺。结论依然成立:当某个功能单元空闲时,它的时钟会被门控关闭,从而停止不必要的翻转、节约能耗。
你学到了什么
- 示波器揭示了静态灯泡看不到的行为:时序关系、传输延迟、信号门控。
- AND 门可以充当任意数字信号的可控通断开关。
- 时钟门控是处理器设计中真实存在的省电技术,你刚刚演示了它的核心机制。
速查表:三个门一目了然
| 门 | 输入 | 输出规则 | 布尔表达式 | 主要用途 |
|---|---|---|---|---|
| NOT | 1 | 取反 | 信号反相、低有效逻辑 | |
| AND | 2+ | 全部为 1 才输出 1 | 条件使能、掩码 | |
| OR | 2+ | 任一为 1 即输出 1 | 多源触发 |
下一步
现在你已经亲手实践了三个最基础的门。从这里出发,自然的进阶路径是:
- NAND 与 NOR 门 —— 你在第 4 节其实已经搭过 NAND。NOR 门则是 OR 后接 NOT。两者都是通用门。
- XOR 门 —— 输入不同则输出 1。挑战:试着用 AND、OR、NOT 把它搭出来。
- 半加器 —— 一个 XOR 加一个 AND,实现两个一位数的加法。这是迈向算术电路的第一步。
- 全加器 —— 把半加器串联起来处理进位,实现多位加法。
每一步都直接建立在你今天练习的技能之上。核心原则始终如一:放置元件、连线、系统地测试、必要时用示波器验证时序。