隨著科技的發展現在的科技產物越來越多。很多出現在我們生活中,而我們卻不知道,有沒有這樣一種經歷就是有一天你不小心把自己的高端產品摔壞了,出現很多很小的機械零件卻不知道它的功能和名稱呢?有的時候你甚至不在意這個。現在小編大家知道移位寄存器嗎?
移位寄存器不僅能寄存數據,而且在時鐘信號的最用下使它其中的數據依次左移或者右移。
四位移位寄存器的原理:F0、F1、F2、F3是四個邊沿觸發的觸發器D,每一個觸發器的輸出端Q接到右邊一個觸發器的輸入端D。因為從時鐘的信號CP的上升沿加到觸發器上開始到輸出端新狀態穩定地建立起來有一段延遲的時間,所以當時鐘信號同時加到四個觸發器上的時候,每個觸發器接受的都是左邊一個觸發器中原來的而數據(F0接收的輸入數據D1)。寄存器中的數據依次右移一位。
移位寄存器按照不同的分類方法可以分為不同的類型。 如果按照移位寄存器的移位方向來進行分類, 可以分為左移移位寄存器、移位寄存器和雙向移位寄存器等;如果按照工作方式來分類,可以分為串入/串出移位寄存器、串入/並出移位寄存器和併入/串出移位寄存器等。
移位寄存器能將所儲存的數據逐位向左或向右移動,以達到計算機運行過程中所需的功能,請看圖
啟動時,先在清零端加清零脈衝,使觸發器輸出置0。然後,第一個數據D0加到觸發器1的串行輸入端,在第一個CLK脈衝的上升沿Q0=Q0,Q1=Q2。Q3=Q0。其後,第二個數據D1加到串行輸入端,在第二個CLK脈衝到達時,Q0=Q1,Q1=Q0,Q2=Q3=0。以此類推,當第四個CLK來到之後,各輸出端分別是Q0=Q3,Q1=Q2,Q2=Q1,Q3=Q0。輸出數據可用串行的形式取出,也可用並行開式取出。
把若干個觸發器串接起來,就可以構成一個移位寄存器。由4個邊沿D 觸發器構成的4位移位寄存器邏輯電路如圖8.8.1所示。數據從串行輸入端D1輸入。左邊觸發器的輸出作為右鄰觸發器的數據輸入。假設移位寄存器的初始狀態為0000,現將數碼D3D2D1D0(1101)從高位(D3)至低位依次送到D1端,經過第一個時鐘脈衝後,Q0=D3。由於跟隨數碼D3後面的數碼是D2,則經過第二個時鐘脈衝後,觸發器FF0的狀態移入觸發器FF1,而FF0變為新的狀態,即Q1=D3,Q0=D2。依此類推,可得4位右向移位寄存器的狀態, 如表8.8.1所示。
由表可知,輸入數碼依次地由低位觸發器移到高位觸發器,作右向移動。經過4個時鐘脈衝後,4個觸發器的輸出狀態Q3Q2Q1Q0與輸入數碼D3D2D1D0相對應。為了加深理解,在圖8.8.2中畫出了數碼1101(相當於D3=1,D2=1,D1=0 ,D0=1)在寄存器中移位的波形,經過了4個時鐘脈衝後,1101出現在寄存器的輸出端Q3Q2Q1Q0。這樣,就可將串行輸入(從D1端輸入)的數碼轉換為並行輸出(從Q3、Q2、Q1、Q0端輸出)的數碼。這種轉換方式特別適用於將接收到的串行輸入信號轉換為並行輸出信號,以便於列印或由計算機處理。
在圖8.8.3中還畫出了第5到第8個時鐘脈衝作用下,輸入數碼在寄存器中移位的波形(如圖8.8.2所示)。由圖可見,在第8個時鐘脈衝作用後,數碼從Q3端已全部移出寄存器。這說明存入該寄存器中的數碼也可以從Q端串行輸出。根據需要,可用更多的觸發器組成多位移位寄存器。
除了用邊沿D 觸發器外,還可用其他類型的觸發器來組成移位寄存器,例如,用主從JK 觸發器來組成移位寄存器,其級間連接方式如圖8.8.3所示。根據JK觸發器的特徵方程,由圖8.8.3可得:
FF2和FF3的接法與FF1完全相似,所以各JK 觸發器均以D 觸發器的功能工作,圖8.8.3和圖8.8.1所示電路具有相同的功能。
雙向移位寄存器:
若將圖8.8.1所示電路中各觸發器間的連接順序調換一下,讓右邊觸發器的輸出作為左鄰觸發器的數據輸入,則可構成左向移位寄存器。若再增添一些控制門,則可構成既能右移(由低位向高位)、又能左移(由高位至低位)的雙向移位寄存器。圖8.8.4是雙向移位寄存器的一種方案,它是利用邊沿D 觸發器組成的,每個觸發器的數據輸入端D 同與或非門組成的轉換控制門相連,移位方向取決於移位控制端S的狀態。
當S=1時,D0=DSR,D1=Q0,即FF0的D0端與右移串行輸入端DSR接通,FF1的D1端與Q0接通,在時鐘脈衝CP 作用下,由DSR端輸入的數據將作右向移位;反之,當S=0時,D0=Q1 ,D1=Q2,在時鐘脈衝CP作用下,Q2、 Q1的狀態將作左向移位。同理,可以分析其他兩位觸發器間的移位情況。由此可見,圖8.8.4所示寄存器可作雙向移位。當S=1時,數據作右向移位;當S=0時,數據作左向移位。可實現串行輸入——串行輸出(由DOR 或DOL 輸出)、串行輸入――並行輸出工作方式(由Q3~Q0 輸出)。
有時要求在移位過程中數據不要丟失,仍然保持在寄存器中。只要將移位寄存器的最高位的輸出接至最低位的輸入端,或將最低位的輸出接至最高位的輸入端。這種移位寄存器稱為循環移位寄存器,它也可以作為計數器用,稱為環行計數器。
移位寄存器不僅能夠寄存數碼,而且具有移位功能。移位是數字系統和計算機技術中非常重要的一個功能。如二進位數0101乘以2的運算,可以通過將0101左移一位實現;而除以2的運算則可通過右移一位實現。
移位寄存器的種類很多,有左移寄存器、右移寄存器、雙向移位寄存器和循環移位寄存器等。
圖9-14所示是由四個觸發器組成的四位左移寄存器。數碼從第一個觸發器的端串行輸入,使用前先用將各觸發器清零。現將數碼 1101從高位到低位依次送到端。
圖9-14 由觸發器組成的四位左移寄存器
表9-6 四位左移寄存器狀態表
第一個CP過後,=d3=1,其他觸發器輸出狀態仍為0,即=000,d3= 0001。第二個CP過後,=d2=1,=d3=1,而==0。經過四個CP脈衝後,=d3d2d1d0=1101,存數結束。各輸出端狀態如表9-6所示。如果繼續送四個移位脈衝,就可以使寄存的這四位數碼1101逐位從端輸出,這種取數方式為串行輸出方式。直接從 取數為並行輸出方式。
打開APP閱讀更多精彩內容聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容圖片侵權或者其他問題,請聯繫本站作侵刪。 侵權投訴