5.16. 触发器和锁存器

小朋友们,今天我们要学习一个非常有趣的红石概念:触发器和锁存器!它们又被称为记录电路,是红石计算机和复杂电路的重要组成部分哦!

5.16.1. 什么是触发器和锁存器?

触发器和锁存器是一种特殊的红石电路,它们可以**存储**一个二进制状态(0或1),就像是红石世界中的"记忆细胞"一样!

  • **锁存器**(Latch):可以在任何时候响应输入信号的变化

  • **触发器**(Flip-Flop):只在特定的时钟信号触发时才会响应输入信号的变化

5.16.2. 4种记录电路

在红石电路中,最常见的记录电路有4种:

  1. RS锁存器:最基本的锁存器,有两个输入(S和R)

  2. D触发器:数据触发器,有一个数据输入(D)和一个时钟输入

  3. T触发器:翻转触发器,每收到一个时钟信号就翻转一次状态

  4. JK触发器:功能最完整的触发器,结合了RS触发器和T触发器的优点

5.16.3. RS锁存器

RS锁存器是最基本的记录电路,它有两个输入:S(置位)和R(复位)。

5.16.3.1. RS锁存器的工作原理

RS锁存器的工作原理基于两个交叉耦合的逻辑门(通常是或非门):

  1. 当S=1时,输出Q=1(置位状态)

  2. 当R=1时,输出Q=0(复位状态)

  3. 当S=0且R=0时,输出保持之前的状态(保持状态)

  4. 当S=1且R=1时,输出状态不确定(禁止状态)

5.16.3.2. RS或非锁存器的真值表和特性表

RS或非锁存器真值表

S

R

Qⁿ⁺¹

0

0

Qⁿ

1

0

1

0

1

0

1

1

N/A

RS或非锁存器特性表

S

R

Qⁿ

Qⁿ⁺¹

0

0

0

0

0

0

1

1

1

0

0

1

1

0

1

1

0

1

0

0

0

1

1

0

1

1

0

N/A

1

1

1

N/A

5.16.3.3. 约束方程

RS锁存器有一个约束方程:

R · S = 0

这个方程表示S和R不能同时为1,否则会导致输出状态不确定。

5.16.3.4. 在Minecraft中实现RS锁存器

在Minecraft中,我们可以用红石火把和红石线来实现RS锁存器:

5.16.3.5. 方法一:红石火把交叉耦合

  1. 放两个方块,左右相邻

  2. 在每个方块的侧面放一个红石火把,火把朝向对方

  3. 在左边方块的顶部放一个拉杆(S输入)

  4. 在右边方块的顶部放一个拉杆(R输入)

  5. 在其中一个方块的前面放一个红石灯(Q输出)

当拉动S拉杆时,Q输出变为1(红石灯亮);当拉动R拉杆时,Q输出变为0(红石灯灭)。

5.16.3.6. 方法二:使用比较器

  1. 放一个方块,上面放一个比较器,比较器设置为减法模式

  2. 比较器的后方连接到S输入

  3. 比较器的侧面连接到R输入

  4. 比较器的前方连接到Q输出

5.16.3.7. RS锁存器的应用

RS锁存器在红石电路中有很多应用:

  • 记忆开关:保持某个状态,直到被手动复位

  • 按钮锁:用按钮触发,保持状态直到被复位

  • 基本存储单元:在红石计算机中作为最基本的存储单元

5.16.4. D触发器

D触发器(数据触发器)是一种常用的触发器,它有一个数据输入(D)和一个时钟输入(CLK)。

5.16.4.1. D触发器的工作原理

D触发器的工作原理:

  1. 当CLK信号到来时(通常是上升沿或下降沿),D触发器会捕获当前D输入的值

  2. 捕获的值会被存储并从Q输出端输出

  3. 在CLK信号之间,无论D输入如何变化,Q输出都保持不变

5.16.4.2. D触发器的真值表

D触发器真值表

CLK

D

Qⁿ⁺¹

↑

0

0

↑

1

1

0

x

Qⁿ

1

x

Qⁿ

(注:"↑"表示时钟信号的上升沿,"x"表示任意值)

5.16.4.3. 在Minecraft中实现D触发器

在Minecraft中,我们可以用以下方法实现D触发器:

  1. 使用RS锁存器和时钟信号: - 构建一个RS锁存器 - 添加一个时钟信号来控制S和R输入的有效性

  2. 使用比较器和活塞: - 利用比较器的延迟特性和活塞的状态变化来实现

5.16.4.4. D触发器的应用

D触发器在红石电路中的应用:

  • 数据存储:在红石计算机中作为寄存器使用

  • 同步电路:使电路的各个部分在同一个时钟信号下工作

  • 计数器:与其他元件配合实现计数功能

5.16.5. T触发器

T触发器(翻转触发器)是一种特殊的触发器,它只有一个时钟输入(T),每收到一个时钟信号就翻转一次状态。

5.16.5.1. T触发器的工作原理

T触发器的工作原理:

  1. 当T=1时,每收到一个时钟信号,输出状态就翻转一次

  2. 当T=0时,无论收到多少个时钟信号,输出状态都保持不变

5.16.5.2. T触发器的真值表

T触发器真值表

CLK

T

Qⁿ⁺¹

↑

0

Qⁿ

↑

1

¬Qⁿ

0

x

Qⁿ

1

x

Qⁿ

(注:"¬Qⁿ"表示Qⁿ的反状态)

5.16.5.3. 在Minecraft中实现T触发器

在Minecraft中,我们可以用以下方法实现T触发器:

  1. 使用D触发器和反馈: - 构建一个D触发器 - 将Q输出的反状态连接到D输入

  2. 使用侦测器: - 利用侦测器对方块状态变化的检测来实现翻转功能

5.16.5.4. T触发器的应用

T触发器在红石电路中的应用:

  • 计数器:每收到一个信号就计数一次

  • 频率 divider:将输入信号的频率减半

  • 振荡器:与其他元件配合产生稳定的脉冲信号

5.16.6. JK触发器

JK触发器是功能最完整的触发器,它有两个数据输入(J和K)和一个时钟输入(CLK)。

5.16.6.1. JK触发器的工作原理

JK触发器的工作原理:

  1. 当J=0且K=0时,输出状态保持不变

  2. 当J=1且K=0时,输出状态置为1

  3. 当J=0且K=1时,输出状态置为0

  4. 当J=1且K=1时,输出状态翻转

5.16.6.2. JK触发器的真值表

JK触发器真值表

CLK

J

K

Qⁿ⁺¹

↑

0

0

Qⁿ

↑

1

0

1

↑

0

1

0

↑

1

1

¬Qⁿ

0

x

x

Qⁿ

1

x

x

Qⁿ

5.16.6.3. 在Minecraft中实现JK触发器

在Minecraft中,我们可以用以下方法实现JK触发器:

  1. 使用多个D触发器: - 用两个D触发器和一些逻辑门来构建JK触发器

  2. 使用比较器和活塞: - 利用比较器的信号处理能力和活塞的状态变化来实现

5.16.6.4. JK触发器的应用

JK触发器在红石电路中的应用:

  • 通用存储单元:在红石计算机中作为通用的存储单元

  • 计数器:可以实现各种计数模式

  • 移位寄存器:与其他触发器配合实现数据的移位

5.16.7. 触发器和锁存器的选择

在设计红石电路时,我们应该根据具体需求选择合适的记录电路:

  • 需要简单的记忆功能:选择RS锁存器

  • 需要在特定时间点捕获数据:选择D触发器

  • 需要计数或频率分频:选择T触发器

  • 需要完整的控制功能:选择JK触发器

5.16.8. 实践练习

让我们来做一些小练习,巩固今天学到的知识吧!

5.16.8.1. 练习 1:构建RS锁存器

  1. 按照之前介绍的方法构建一个RS锁存器

  2. 测试S和R输入对输出的影响

  3. 观察当S和R同时为1时会发生什么

5.16.8.2. 练习 2:构建D触发器

  1. 构建一个D触发器

  2. 连接一个时钟信号和一个数据输入

  3. 测试时钟信号对数据捕获的影响

5.16.8.3. 练习 3:构建T触发器

  1. 构建一个T触发器

  2. 连接一个时钟信号

  3. 测试每输入一个时钟信号,输出状态是否翻转

5.16.8.4. 练习 4:设计一个应用电路

  1. 设计一个使用锁存器或触发器的红石电路

  2. 例如:自动门控制、密码锁、计数器等

  3. 测试电路是否按照预期工作

5.16.9. 常见问题解答

Q: 锁存器和触发器有什么区别? A: 锁存器可以在任何时候响应输入信号的变化,而触发器只在特定的时钟信号触发时才会响应输入信号的变化。

Q: 为什么RS锁存器有约束条件(R·S=0)? A: 当R和S同时为1时,RS锁存器的两个输出会同时为0,这与锁存器的基本特性(Q和¬Q状态相反)相矛盾,因此这种情况是禁止的。

Q: 如何在Minecraft中产生时钟信号? A: 可以用红石火把、中继器、比较器等元件构建振荡器来产生时钟信号。

Q: 触发器在红石计算机中有什么作用? A: 触发器在红石计算机中作为存储单元,用于存储数据和指令,是计算机内存的基本组成部分。

5.16.10. 小结

今天我们学习了:

  1. 触发器和锁存器的基本概念:它们是红石电路中的"记忆细胞",可以存储二进制状态

  2. 4种记录电路: - RS锁存器:最基本的锁存器,有S和R两个输入 - D触发器:数据触发器,在时钟信号到来时捕获数据 - T触发器:翻转触发器,每收到一个时钟信号就翻转一次状态 - JK触发器:功能最完整的触发器,结合了多种功能

  3. 每种电路的工作原理和真值表:了解它们如何响应输入信号

  4. 在Minecraft中的实现方法:用红石元件构建这些电路

  5. 应用场景:在红石计算机和复杂电路中的应用

这些知识是构建复杂红石电路和红石计算机的基础,小朋友们,你们学会了吗?

下次我们会学习更多有趣的红石知识,敬请期待哦!