移位寄存器不但可以寄存數(shù)碼,而且在移位脈沖作用下,寄存器中的數(shù)碼可根據(jù)需要向左或向右移動(dòng)。移位寄存器也是數(shù)字系統(tǒng)和計(jì)算機(jī)中應(yīng)用很廣泛的基本邏輯部件。
圖1所示電路是由邊沿D觸發(fā)器組成的4位移位寄存器。
由圖1可知,由第一個(gè)D觸發(fā)器FF0的輸入端接收輸入信號(hào),其余的每個(gè)觸發(fā)器的輸入端均與前一個(gè)觸發(fā)器的輸出端相連。各觸發(fā)器的時(shí)鐘脈沖控制端與同一個(gè)時(shí)鐘脈沖CP信號(hào)相連,因此各觸發(fā)器的觸發(fā)時(shí)刻相同,都是CP脈沖的上升沿。
下面以4位二進(jìn)制代碼1101為例,說明圖1所示移位寄存器的寄存過程。
二進(jìn)制代碼1101以串行的方式從串行輸入端DI依次輸入。設(shè)各觸發(fā)器的初始狀態(tài)為零,即Q3Q2Q1Q0=0000。
![]() |
圖1 由D觸發(fā)器組成的4位移位寄存器 |
首先,將第一個(gè)二進(jìn)制碼“1”輸入串行輸入端DI。當(dāng)移位脈沖CP的第一個(gè)上升沿到達(dá)時(shí),個(gè)觸發(fā)器將各自的輸入端狀態(tài)傳輸?shù)捷敵龆恕S捎趶腃P脈沖的上升沿到達(dá)開始到各觸發(fā)器次態(tài)的建立需要一段傳輸延時(shí)時(shí)間,因此當(dāng)CP脈沖的上升沿同時(shí)作用于各觸發(fā)器時(shí),各觸發(fā)器輸入端的狀態(tài)還沒有改變。于是FF3按Q2原來的狀態(tài)觸發(fā),F(xiàn)F2按Q1原來的狀態(tài)觸發(fā),F(xiàn)F1按Q0原來的狀態(tài)觸發(fā),F(xiàn)F0按串行輸入端D1的狀態(tài)觸發(fā)。因此,當(dāng)CP的第一個(gè)上升沿到達(dá)后,各觸發(fā)器的狀態(tài)變?yōu)镼3Q2Q1Q0=0001。
同理,將第二個(gè)二進(jìn)制數(shù)碼“1”送入串行輸入端D1,當(dāng)CP的第二個(gè)上升沿到達(dá)時(shí),各觸發(fā)器的狀態(tài)變?yōu)镼3Q2Q1Q0=0011。以此類推,當(dāng)?shù)?個(gè)移位脈沖過后,將這4個(gè)二進(jìn)制代碼儲(chǔ)存到了4個(gè)觸發(fā)器的輸入端Q3Q2Q1Q0=1101。
移位數(shù)據(jù)寄存情況如表1所示。也可以用波形圖的形式表示移位寄存器的數(shù)據(jù)寄存情況,如圖2所示。
表1 移位寄存器的移位寄存過程 |
CP脈沖 | 串行輸入DI | Q3 | Q2 | Q1 | Q4 |
0 | × | 0 | 0 | 0 | 0 |
1 | 1 | 0 | 0 | 0 | 1 |
2 | 1 | 0 | 0 | 1 | 1 |
3 | 0 | 0 | 1 | 1 | 0 |
4 | 1 | 1 | 1 | 0 | 1 |
![]() |
圖2 圖1電路的波形圖 |
從圖6-5-3所示的波形圖可以看出,經(jīng)過4個(gè)CP脈沖后,串行輸入的4位二進(jìn)制代碼全部已入了移位寄存器中,同時(shí)可以從4個(gè)觸發(fā)器的輸出端同時(shí)輸出這4為二進(jìn)制代碼。如果繼續(xù)加入4個(gè)CP脈沖,則可以從串行輸入-并行輸出和串行輸出入-串行輸出。由于在移位脈沖的作用下,二進(jìn)制代碼在移位寄存器中依次右移,所以又稱為右移移位寄存器。當(dāng)移位寄存器的電路實(shí)現(xiàn)的是在移位脈沖的作用下,二進(jìn)制代碼在移位寄存器中依次左移,這種寄存器稱為左移移位寄存器。
為了便于擴(kuò)展移位寄存器的功能和增加使用的靈活性,在定型生產(chǎn)的移位寄存器集成電路上有的又附加了左移、右移控制,并行數(shù)據(jù)輸入、保持、異步置零(復(fù)位)等功能。圖3所示為4位雙向移位寄存器74LS194的邏輯電路和圖形符號(hào)。
![]() |
![]() |
圖3(a) 邏輯圖 | 圖3(b) 圖形符號(hào) |
由圖3所示,雙向移位寄存器74LS194由4個(gè)RS觸發(fā)器和輸入控制電路組成。DIR為數(shù)據(jù)右移串行輸入端,DIL為數(shù)據(jù)左移串行輸入端,D0~D3為數(shù)據(jù)并行輸入端,Q0~Q3為數(shù)據(jù)并行輸出端,同時(shí)Q3還可以作為數(shù)據(jù)串行輸出端,CP為移位脈沖控制端為清零端,移位寄存器正常工作時(shí)該端置“1”,S0、S1為雙向移位寄存器的工作狀態(tài)控制端。
74LS194既可以實(shí)現(xiàn)串行輸入,也可以并行輸入;既可以實(shí)現(xiàn)串行輸出,也可以并行輸出,在串行寄存方式中,既可以實(shí)現(xiàn)右移寄存,也可以實(shí)現(xiàn)左移寄存,還可以保持?jǐn)?shù)據(jù)不變。74LS194雙向移位寄存器的這些工作狀態(tài)都是由控制端S0、S1實(shí)現(xiàn)的,如表1所示。表1稱為74S194的邏輯功能表。
表1 74LS194的邏輯功能表 |
![]() |
S1 | S4 | 工作狀態(tài) |
0 | × | × | 置零 |
1 | 0 | 0 | 保持 |
1 | 0 | 1 | 右移 |
1 | 1 | 0 | 左移 |
1 | 1 | 1 | 并行輸入 |
當(dāng)S1=S0=0時(shí),移位寄存器處于數(shù)據(jù)保持狀態(tài)。此時(shí)不論輸入端和移位脈沖輸入端有何變化,移位寄存器各輸出端的狀態(tài)保持不變。
當(dāng)S1=0,S0=1時(shí),移位寄存器保持右移寄存狀態(tài)。隨著位移脈沖的到來,右移串行輸入端DIR的數(shù)據(jù)依次寄存到寄存器中,并且移位寄存器中的數(shù)據(jù)依次右移。
當(dāng)S1=1,S0=0時(shí),移位寄存器處于左移寄存狀態(tài)。隨著移位脈沖的到來,左移串行輸入端DIL的數(shù)據(jù)依次寄存到寄存器中,并且移位寄存器中的數(shù)據(jù)依次左移。
當(dāng)S1=1,S0=1時(shí),位移寄存器處于并行輸入寄存狀態(tài)。此時(shí)串行輸入端的數(shù)據(jù)不起任何作用。當(dāng)移位脈沖CP來一個(gè)脈沖時(shí),寄存器將并行輸入端D0~D3的數(shù)據(jù)并行輸入到并行輸出端Q0~Q3。
例1 用兩片4位雙向移位寄存器74LS194接成一個(gè)8位雙向移位寄存器。
解 所要涉及的8位雙向移位寄存器需要完成8位二制數(shù)據(jù)的寄存,因此需要由兩片4位雙向移位寄存器74LS194組成。同時(shí),8位雙向移位寄存器應(yīng)具備4位雙向移位寄存器所有的邏輯功能,即能實(shí)現(xiàn)并行輸入、左移寄存、右移寄存、數(shù)據(jù)保持和異步清零等功能。
如圖4所示,通過分析,將兩片4位雙向移位寄存器的輸入和輸出同時(shí)作為8位雙向移位寄存器的輸入和輸出。將74LS194(I)的右移串行輸入端作為8位雙向移位寄存器的右移串行輸入端,同時(shí)將74LS194(I)的串行輸出端與右側(cè)74LS194(II)的右移串行輸入端相連。同樣,將74LS194(II)的左移輸入端作為8位雙向移位寄存器的左移串行輸出端,同時(shí)將74LS194(II)的串行輸出端與74LS194(I)的左移串行輸入端相連。將兩片4位雙向移位寄存器的移位脈沖輸入端、清零端和工作狀態(tài)輸入端分別相連。這樣,就實(shí)現(xiàn)了用兩片4位雙向移位寄存器74LS19474LS194接成一個(gè)8位雙向移位寄存器。
![]() |
圖4 例1的電路圖 |