閂鎖(英語:latch),或稱闩锁,是數位電路中非同步时序邏輯電路系統中用來儲存資訊的一種電子電路。一個锁存器可以儲存一位元的資訊,通常會有多個一起出現,有些會有特別的名稱,像是 「4位锁存器」(可以儲存四個位元)或「8位锁存器」(可以儲存八個位元)等等。
最簡單的锁存器是“SR锁存器”,(又有称为“RS锁存器”),其中“S”表示“設定”(Set),“R”表示“重設”(Reset)。這種锁存器是由一對相互交錯的NAND邏輯閘組成。儲存的位元是在輸出的地方用 Q {\displaystyle Q} 表示。
一般來說,在存儲模式中,輸入 S ¯ ¯ --> {\displaystyle {\bar {S}}} 及 R ¯ ¯ --> {\displaystyle {\bar {R}}} 的電壓都是高的,邏輯上的1(邏輯一)(換句話說,S及R的電壓應該是低的,邏輯上的0(邏輯零)),而輸出 Q {\displaystyle Q} 及 Q ¯ ¯ --> {\displaystyle {\bar {Q}}} 則維持其原有的數值,其中 Q ¯ ¯ --> {\displaystyle {\bar {Q}}} 為 Q {\displaystyle Q} 的相反。但當 S ¯ ¯ --> {\displaystyle {\bar {S}}} (设定)被設定為邏輯零而 R ¯ ¯ --> {\displaystyle {\bar {R}}} 是邏輯一的時候,輸出 Q {\displaystyle Q} 就會變成邏輯一。之後無論 S ¯ ¯ --> {\displaystyle {\bar {S}}} 是否回復到邏輯一, Q {\displaystyle Q} 亦會維持邏輯一的狀態。另一方面,如果 R ¯ ¯ --> {\displaystyle {\bar {R}}} (重設)被設定為邏輯零而 S ¯ ¯ --> {\displaystyle {\bar {S}}} 是邏輯一的時候,輸出 Q {\displaystyle Q} 就會變成邏輯零。同樣地,無論 R ¯ ¯ --> {\displaystyle {\bar {R}}} 是否恢復到邏輯一, Q {\displaystyle Q} 亦會維持邏輯零的狀態。要注意一點就是 S ¯ ¯ --> {\displaystyle {\bar {S}}} 及 R ¯ ¯ --> {\displaystyle {\bar {R}}} 都不可以同一時間為邏輯上的0,故我們要在設計上避免這一個情況出現。
(注意:這裡用的是S及R,而非文中的 S ¯ ¯ --> {\displaystyle {\bar {S}}} 及 R ¯ ¯ --> {\displaystyle {\bar {R}}} )
门控D锁存器由SR锁存器扩展而成,增加了两个与门,一个非门和两个输入:数据( D {\displaystyle D} )及门控( G {\displaystyle G} ,或写为时钟脉冲 C P {\displaystyle CP} ,Clock Pulse 等)。S输入端被设置为D AND G,同时R输入端被设置为 D ¯ ¯ --> {\displaystyle {\bar {D}}} AND G。当G为低电平(0)时,输出保持不变(换言之, Qnext等于Q)。当G为高电平(1)时,输出(Q)与D相同。