锁存器(英语:latch),或称闩锁,是数字电路中异步时序逻辑电路系统中用来储存资讯的一种电子电路。一个锁存器可以储存一比特的资讯,通常会有多个一起出现,有些会有特别的名称,像是 “4位锁存器”(可以储存四个比特)或“8位锁存器”(可以储存八个比特)等等。
最简单的锁存器是“SR锁存器”,(又有称为“RS锁存器”),其中“S”表示“设定”(Set),“R”表示“重设”(Reset)。这种锁存器是由一对相互交错的NAND逻辑门组成。储存的比特是在输出的地方用表示。
一般来说,在存储模式中,输入及的电压都是高的,逻辑上的1(逻辑一)(换句话说,S及R的电压应该是低的,逻辑上的0(逻辑零)),而输出及则维持其原有的数值,其中为的相反。但当(设定)被设定为逻辑零而是逻辑一的时候,输出就会变成逻辑一。之后无论是否回复到逻辑一,亦会维持逻辑一的状态。另一方面,如果(重设)被设定为逻辑零而是逻辑一的时候,输出就会变成逻辑零。同样地,无论是否恢复到逻辑一,亦会维持逻辑零的状态。要注意一点就是及都不可以同一时间为逻辑上的0,故我们要在设计上避免这一个情况出现。
(注意:这里用的是S及R,而非文中的及)
门控D锁存器由SR锁存器扩展而成,增加了两个与门,一个非门和两个输入:数据()及门控(,或写为时钟脉冲,Clock Pulse 等)。S输入端被设置为D AND G,同时R输入端被设置为 AND G。当G为低电平(0)时,输出保持不变(换言之, Qnext等于Q)。当G为高电平(1)时,输出(Q)与D相同。