24位移位寄存器設計
發布時間:2014/7/19 20:44:55 訪問次數:1658
甲發球時(按下按鈕):D觸發器(T1)清零,經T9反相后,使T12與門輸出“1”, ISO7241ADWR為預置Q.=1準備;同時T2、T3輸出為“1”,使Ts、T6為“1”。移位寄存器(74LS194)S,S。一11,預置,使Qi =i;甲發球按鈕松開時,T。輸出又為“0”,使Ts為1、T6為O,最后使SIS。一01,乒乓球右移,發球成功。右移到Q。。或Q21時,乙正好擊球,T,、T。輸出脈沖,T。時鐘端得一脈沖,使T3翻轉為1,進而使T。為0、T6為1,又使SIS。一10,左移,擊球成功;同時,Tio與門輸出為“O”,不會記分和清零;如果提前擊球,Ti。、Ti,得一正脈沖,T,。、Ti。得一負脈沖,使移位寄存器清零,同時丁,,輸出的正脈沖使甲方加一分;如果沒有及時擊球,致使Qz。從O到l,同樣T,,輸出一正脈沖,使甲方加一分;同時T1。發出清零負脈沖,使移位寄存器清零。所以只有及時擊球,才能成功。
同樣道理,乙發球時,甲及時(球移到Q2或Q3)擊球就成功,如果甲提前或不及時(球移到Qo或后)擊球就失敗,乙方就加分,其基本過程和上述甲發球時一樣分析。
jfjs22是22進劁減法計數器,到記分21時,為一局結束。
74LS161是十六進制分頻器,和后面的D觸發器組成32分頻,輸入脈沖CP直接作為置數脈沖,經過32分頻后的脈沖作為乒乓球的移動脈沖。4個七段譯碼器和外接數碼管顯示雙方得分結果。
可以用6個雙向移位寄存器( 74LS194)設計,如圖6.96所示,將6個雙向移位寄存器的Sl、S。、CLK、CLR分別連在一起統一控制。24位移位寄存器左移時,S.S。一10,將右邊的QA接到左邊的左移數據輸入端SLSI; 24位移位寄存器右移時,S.S。一01,將左邊的QD接到右邊的右移數據輸入端SRSI,這樣就實現24位雙向移位寄存器,S,S。一11時,置數。發球按鈕按下時,先置數再移動發球。這里用24位雙向移位寄存器來模擬乒乓球的移動也可以另行設計用加減計數器接譯碼器來模擬乒乓球的移動,還可以在可編程邏輯器件內部直接用VHDL語言編程來實現乒乓球的移動。
甲發球時(按下按鈕):D觸發器(T1)清零,經T9反相后,使T12與門輸出“1”, ISO7241ADWR為預置Q.=1準備;同時T2、T3輸出為“1”,使Ts、T6為“1”。移位寄存器(74LS194)S,S。一11,預置,使Qi =i;甲發球按鈕松開時,T。輸出又為“0”,使Ts為1、T6為O,最后使SIS。一01,乒乓球右移,發球成功。右移到Q。。或Q21時,乙正好擊球,T,、T。輸出脈沖,T。時鐘端得一脈沖,使T3翻轉為1,進而使T。為0、T6為1,又使SIS。一10,左移,擊球成功;同時,Tio與門輸出為“O”,不會記分和清零;如果提前擊球,Ti。、Ti,得一正脈沖,T,。、Ti。得一負脈沖,使移位寄存器清零,同時丁,,輸出的正脈沖使甲方加一分;如果沒有及時擊球,致使Qz。從O到l,同樣T,,輸出一正脈沖,使甲方加一分;同時T1。發出清零負脈沖,使移位寄存器清零。所以只有及時擊球,才能成功。
同樣道理,乙發球時,甲及時(球移到Q2或Q3)擊球就成功,如果甲提前或不及時(球移到Qo或后)擊球就失敗,乙方就加分,其基本過程和上述甲發球時一樣分析。
jfjs22是22進劁減法計數器,到記分21時,為一局結束。
74LS161是十六進制分頻器,和后面的D觸發器組成32分頻,輸入脈沖CP直接作為置數脈沖,經過32分頻后的脈沖作為乒乓球的移動脈沖。4個七段譯碼器和外接數碼管顯示雙方得分結果。
可以用6個雙向移位寄存器( 74LS194)設計,如圖6.96所示,將6個雙向移位寄存器的Sl、S。、CLK、CLR分別連在一起統一控制。24位移位寄存器左移時,S.S。一10,將右邊的QA接到左邊的左移數據輸入端SLSI; 24位移位寄存器右移時,S.S。一01,將左邊的QD接到右邊的右移數據輸入端SRSI,這樣就實現24位雙向移位寄存器,S,S。一11時,置數。發球按鈕按下時,先置數再移動發球。這里用24位雙向移位寄存器來模擬乒乓球的移動也可以另行設計用加減計數器接譯碼器來模擬乒乓球的移動,還可以在可編程邏輯器件內部直接用VHDL語言編程來實現乒乓球的移動。
上一篇:設計思路
上一篇:22進制加法計數器設計