移位寄存器不僅有存放數碼而且有移位的功能。 下圖是由JK觸發器組成的四位移位寄存器 F0接成D觸發器,數碼由D端輸入。設寄存器的二進制數為“1011”,按移位脈沖(即時鐘脈沖)的工作節拍從高位到低位依次串行送到D端。工作之初先清零。首先D=1,第一個移位脈沖的下降沿來到時使觸發器F0翻轉,Q0=1,其他仍保持“0”態。接著D=0,第二個移位脈沖的下降沿來到時使F0和F1同時翻轉,由于F1的J端為1,F0的J端為0,所以Q1=1,Q0=0,Q2和Q3仍為“0”。表22.2.1是其狀態表,移位一次,存入一個新數碼,直到第四個脈沖的下降沿來到時,存數結束。這時,可以從四個觸發器的Q端得到并行的數碼輸出。如果再經過四個移位脈沖,則所存的“1011”逐位從Q3端串行輸出。 下圖是由維持阻塞型D觸發器組成的四位移位寄存器。它既可并行輸入(輸入端為 當工作于并行輸入/串行輸出時(串行輸入端D為“0”),首先清零,使四個觸發器的輸出全為“0”。再給“寄存指令”之前,G3-G0四個“與非”門的輸出全為“1”。當加上該指令時,并設并行輸入的二進制數d3d2d1d0=1011,于是G3,G1,G0輸出置“1”負脈沖,使觸發器F3,F1,F0的輸出為“1”,G2和F2的輸出未變。這樣,就把“1011”輸入寄存器。而后輸入移位脈沖C,使d0,d1,d2 ,d3依次(從低位到高位)從 Q0輸出(右移),各個觸發器的輸出端均為恢復為“0”。 下圖所示的是應用于加法器中的一種。圖中,Ⅰ,Ⅱ,Ⅲ是三個n位的移位寄存器,Ⅰ和Ⅱ是并行輸入/串行輸出,Ⅲ是串行輸入/并行輸出。 1)進行運算之前先將各個寄存器和進位D觸發器清零。 2)給“寄存指令”(正脈沖),將加數A0-An-1和被加數B0-Bn-1分別送入寄存器Ⅰ和Ⅱ。下 3)輸入移位脈沖C,兩個寄存器中的數碼依次逐位右移(從低位到高位),并送入全加器中逐位相加。 4)逐位相加后,將本位和數Si存入寄存器Ⅲ;將進位數Ci-1暫時存放在進位觸發器中,以便和本位數Ai,Bi相加。D觸發器具有將輸入數碼延遲一步輸出的功能,所以用它作為進位觸發器。 5)相加完畢后,給“取出指令”(正脈沖),將和數從移位寄存器Ⅲ和進位觸發器中取出。最高位Cn-1即為進位數,是存放在進位觸發器中的。 |
電工學習網 ( )
GMT+8, 2021-12-6 21:12