因为红石电路的设计不仅仅是一层方块,常常会出现两层三层的情况。因此为了把两三层方块表达在一张平面图上,本文章中的图例皆使用MCRedstoneSim格式以追求简洁表述:(请注意:所有的符号都是相对于一个您自己定义的“地面”而言的)
实际上“锁存器”(Latch)与“触发器”(Flip-Flop)是同一类器件的两种称呼。唯一不同:“锁存器”一般是以存储为目的时的称呼(通常为电平触发),“触发器”一般是以随时间特定变化的信号为目的的称呼(大多边沿触发)。本文中大部分情况下都会用“触发器”一词。
所谓“触发器”,它是一个整体,特征为:
1)一个时钟输入;
2)若干(有时也可能没有)普通输入;
3)输出端;
4)可有可无的反相输出端。
当时钟输入满足某种条件时(称之为“满足触发条件”),输出会依据输入而进行相应变化。满足这个“触发条件”是触发器进行反应的前提。如果没有这个前提,触发器不会对输出进行任何操作。触发条件一般分“电平触发”与“边沿触发”两种。某一个触发器只会有一个触发条件,而不可能身兼数个!
“电平触发”可能是低电平触发或高电平触发。顾名思义,一旦时钟输入保持为0(低电平触发)或1(高电平触发),则触发器作出反应。电平触发的优点是一般此类触发器建造起来较为简单,缺点也显而易见——如果满足其触发条件的电平持续时间稍长,那么触发器就有可能作出多次难以计数的抽风式的反应。
“边沿触发”的触发器侦测时钟输入的上边沿信号(从0变到1的那个瞬间)或下边沿信号(从1变到0的那个瞬间)。优点是因为触发条件是“那个瞬间”,所以触发器不会多次抽风式地反应;缺点……就是建造起来略复杂。
一般触发器最好采用边沿触发,除非某些特定情况,比如您要把其当锁存器用。
1、D触发器
在Minecraft中,D触发器属于次常见部件,只有在红石大作中才见得比较多。如果没有耐心可以跳过。
电路符号如下其中:
D为输入
>为时钟输入
S为强制Q为1,R为强制Q为0(S与R有时可以没有)
Q为输出
“Q非”为反相输出(有时可以没有)
“D”意为“Data”,“数据”之意。当触发条件满足时,输出端Q会变成与D相同。触发条件不满足时,D端对Q端无任何影响。电平触发的D触发器又被称为门控D锁存器。
常用设计方案(C为时钟输入):方案A为低电平触发(即门控D锁存器),方案B为边沿触发。
单独应用时,输出端可以被控制只对输入端特定时刻的信号起反应。这样你可以将我的4位输入集成化可编程密码门在输入端每一位加一个D触发器,改造为可以用按钮代替的拉杆。
当然,D锁存器可以当做一个1位可控存储单元。密码门里用了4个。
多个D触发器可以应用到移位寄存器当中(串行转并行)。例如你要把8位数据按顺序以一个固定的频率从一根红石线输入,想让它们依次在不同的线路中体现出来,可以这样接线:
2、T触发器
满足触发条件时,输出取反。这样T触发器只有一个T输入——时钟输入。
在版本Beta 1.7.3的更新中粘性活塞被改进,得到了一个十分有用的特性:如果一个粘性活塞被宽度只有1刻的脉冲激活,它会一次性地推/拉一个方块,但不会再把方块拉/推回来。粘性活塞的这个特性使得其非常适合建造压缩的T触发器。设计方案Z1是最常见的T触发器方案(粘性活塞与可移动方块在位于第一层的火把之上的第二层);设计方案Z2是高度最矮的——只有一格高;设计方案Z3为纵向设计;设计方案Z4由于其半埋藏的特点成为占地面积最小的方案(3x2x2)。Z4的教程如果您想使用按钮或者压力板连接设计方案Z4,第一个中继器与其右侧的方块可以被省略——只要您在那方块右侧的方块(第二层)上附着按钮或者压力板即可。
还有一些采用普通活塞的方案:
作用:T触发器输入端每改变两次,输出才会改变一次,因此可以用于时钟二分频(即频率除2)。也可以用于用按钮控制门:按一次开,再按一次关,而不是按一次按钮只能让门保持1秒的开启。
以上就是2种触发器。一时半会儿还想不出更多应用,但基本上有时大家能想到的抓耳挠腮也实现不了的电路功能往往用触发器都能解决。触发器也是时序数字电路的基础部分之一。