锁存器(英语: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相同。