閂鎖(英語:latch),或稱鎖存器,是數位電路中非同步時序邏輯電路系統中用來儲存資訊的一種電子電路。一個鎖存器可以儲存一位元的資訊,通常會有多個一起出現,有些會有特別的名稱,像是 「4位鎖存器」(可以儲存四個位元)或「8位鎖存器」(可以儲存八個位元)等等。

「閂鎖」的各地常用名稱
中國大陸鎖存器
臺灣鎖存器、閂鎖
港澳鎖存器

SR鎖存器

 
SR 鎖存器,留意圖中的輸入為NOT S及NOT R

最簡單的鎖存器是「SR鎖存器」,(又有稱為「RS鎖存器」),其中「S」表示「設定」(Set),「R」表示「重設」(Reset)。這種鎖存器是由一對相互交錯的NAND邏輯閘組成。儲存的位元是在輸出的地方用 表示。

一般來說,在存儲模式中,輸入  的電壓都是高的,邏輯上的1(邏輯一)(換句話說,S及R的電壓應該是低的,邏輯上的0(邏輯零)),而輸出  則維持其原有的數值,其中  的相反。但當 (設定)被設定為邏輯零而 是邏輯一的時候,輸出 就會變成邏輯一。之後無論 是否回復到邏輯一, 亦會維持邏輯一的狀態。另一方面,如果 (重設)被設定為邏輯零而 是邏輯一的時候,輸出 就會變成邏輯零。同樣地,無論 是否恢復到邏輯一, 亦會維持邏輯零的狀態。要注意一點就是  都不可以同一時間為邏輯上的0,故我們要在設計上避免這一個情況出現。

SR鎖存器真值表

(注意:這裡用的是S及R,而非文中的  )

S R Q Qnext 解釋
0 0 0 0 維持
0 0 1 1 維持
0 1 0 0 重設
0 1 1 0 重設
1 0 0 1 設定
1 0 1 1 設定
1 1 0 - 不允許
1 1 1 - 不允許

門控D鎖存器

門控D鎖存器由SR鎖存器擴展而成,增加了兩個與門,一個非門和兩個輸入:數據( )及門控( ,或寫為時鐘脈衝 Clock Pulse 等)。S輸入端被設置為D AND G,同時R輸入端被設置為  AND G。當G為低電平(0)時,輸出保持不變(換言之, Qnext等於Q)。當G為高電平(1)時,輸出(Q)與D相同。

門控D鎖存器真值表
輸入:門控 G 輸入:數據 D 狀態 Q 狀態 Qnext 備註
0 0 0 0 G 為 0,故保持原狀態
0 0 1 1 G 為 0,故保持原狀態
0 1 0 0 G 為 0,故保持原狀態
0 1 1 1 G 為 0,故保持原狀態
1 0 0 0 G 為 1,置數 Qnext = D
1 0 1 0 G 為 1,置數 Qnext = D
1 1 0 1 G 為 1,置數 Qnext = D
1 1 1 1 G 為 1,置數 Qnext = D

參考