在數字電路中,移位寄存器(英語:shiftregister)是一種在若干相同時間脈衝下工作的以觸發器為基礎的器件,數據以並行或串行的方式輸入到該器件中,然後每個時間脈衝依次向左或右移動一個比特,在輸出端進行輸出。這種移位寄存器是一維的,事實上還有多維的移位寄存器,即輸入、輸出的數據本身就是一些列位。實現這種多維移位寄存器的方法可以是將幾個具有相同位數的移位寄存器並聯起來。
移位寄存器不僅能寄存數據,而且能在時鐘信號的作用下使其中的數據依次左移或右移。
四位移位寄存器的原理圖如圖所示。F0、F1、F2、F3是四個邊沿觸發的D觸發器,每個觸發器的輸出端Q接到右邊一個觸發器的輸入端D。因為從時鐘信號CP的上升沿加到觸發器上開始到輸出端新狀態穩定地建立起來有一段延遲時間,所以當時鐘信號同時加到四個觸發器上時,每個觸發器接收的都是左邊一個觸發器中原來的數據(F0接收的輸入數據D1)。寄存器中的數據依次右移一位。
移位寄存器可以用來寄存代碼,還可以用來實現數據的串行—並行轉換、數值的運算以及數據的處理等。
根據移位方向,常把它分成左移寄存器、右移寄存器和雙向移位寄存器三種。根據移位數據的輸入-輸出方式,又可將它分為串行輸入-串行輸出、串行輸入-並行輸出、並行輸入-串行輸出和並行輸入-並行輸出四種電路結構。
此外,有些移位寄存器還具有預置數功能,可以把數據並行地置入寄存器中。
利用移位寄存器能進行數據運算、數據處理,實現數據的串行—並行互相轉換,還可接成各種移位寄存器式計數器,如環形計數器、扭環形計數器等。
移位寄存器是一種存儲器,存在裡邊的數據可以從低位向高位移動或從高位向低位移動。例如一個8位的移位寄存器,存在其中的數據為11001010,如果向左(高位)移動一次,就變成1001010X,原來的最高位的1移出,最低位的X可以是新移入的數據,也可以是0(不同型號的移位寄存器對此有不同的規定)。
移位寄存器應用很廣,可構成移位寄存器型計數器;順序脈衝發生器;串行累加器;可用作數據轉換,即把串行數據轉換為並行數據,或把並行數據轉換為串行數據等。本實驗研究移位寄存器用作環形計數器和數據的串、並行轉換。本實驗研究移位寄存器用作環形計數器和數據的串、並行轉換。
把移位寄存器的輸出反饋到它的串行輸入端,就可以進行循環移位,如圖7-2所示,把輸出端Q3和右移串行輸入端SR相連接,設初始狀態Q0Q1Q2Q3=1000,則在時鐘脈衝作用下Q0Q1Q2Q3將依次變為0100→0010→0001→1000→„„,如表7-2所示,可見它是一個具有四個有效狀態的計數器,這種類型的計數器通常稱為環形計數器。圖7-2電路可以由各個輸出端輸出在時間上有先後順序的脈衝,因此也可作為順序脈衝發生器。
如果將輸出QO與左移串行輸入端SL相連接,即可達左移循環移位。
①串行/並行轉換器
串行/並行轉換是指串行輸入的數碼,經轉換電路之後變換成並行輸出。圖7-3是用二片CC40194(74LS194)四位雙向移位寄存器組成的七位串/並行數據轉換電路。
圖7-3 七位串行/並行轉換器
電路中S0端接高電平1,S1受Q7控制,二片寄存器連接成串行輸入右移工作模式。Q7是轉換結束標誌。當Q7=1時,S1為0,使之成為S1S0=01的串入右移工作方式,當Q7=0時,S1=1,有S1S0=10,則串行送數結束,標誌著串行輸入的數據已轉換成並行輸出了。
串行/並行轉換的具體過程如下:
轉換前,RC端加低電平,使1、2兩片寄存器的內容清0,此時S1S0=11,寄存器執行並行輸入工作方式。當第一個CP脈衝到來後,寄存器的輸出狀態Q0~Q7為01111111,與此同時S1S0變為01,轉換電路變為執行串入右移工作方式,串行輸入數據由1片的SR端加入。隨著CP脈衝的依次加入,輸出狀態的變化可列成表7-3所示。
由表7-3可見,右移操作七次之後,Q7變為0,S1S0又變為11,說明串行輸入結束。這時,串行輸入的數碼已經轉換成了並行輸出了。
當再來一個CP脈衝時,電路又重新執行一次並行輸入,為第二組串行數碼轉換作好了準備。
②並行/串行轉換器
並行/串行轉換器是指並行輸入的數碼經轉換電路之後,換成串行輸出。
圖7-4是用兩片CC40194(74LS194)組成的七位並行/串行轉換電路,它比圖7-3多了兩隻與非門G1和G2,電路工作方式同樣為右移。
寄存器清「0」後,加一個轉換起動信號(負脈衝或低電平)。此時,由於方式控制S1S0為11,轉換電路執行並行輸入操作。當第一個CP脈衝到來後,Q0Q1Q2Q3Q4Q5Q6Q7的狀態為0D1D2D3D4D5D6D7,並行輸入數碼存入寄存器。從而使得G1輸出為1,G2輸出為0,結果,S1S2變為01,轉換電路隨著CP脈衝的加入,開始執行右移串行輸出,隨著CP脈衝的依次加入,輸出狀態依次右移,待右移操作七次後,Q0~Q6的狀態都為高電平1,與非門G1輸出為低電平,G2門輸出為高電平,S1S2又變為11,表示並/串行轉換結束,且為第二次並行輸入創造了條件。轉換過程如表7-4所示。
中規模集成移位寄存器,其位數往往以4位居多,當需要的位數多於4位時,可把幾片移位寄存器用級連的方法來擴展位數。
打開APP閱讀更多精彩內容聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴