保持寄存器和输入寄存器的区别_串行移位寄存器74HC595
74HC595是8位串行移位寄存器,其中帶有移位寄存器和存儲(chǔ)寄存器,這兩個(gè)寄存器分別采用不同的時(shí)鐘控制。串行數(shù)據(jù)輸入到內(nèi)部8位移位寄存器然后再并行輸出。
01
74HC595內(nèi)部結(jié)構(gòu)
如圖所示為74HC595的內(nèi)部結(jié)構(gòu)圖,首先14引腳DS為串行移位數(shù)據(jù)線(xiàn),串行數(shù)據(jù)由DS處輸入。11號(hào)引腳SH_CP為移位寄存器的時(shí)鐘輸入。12號(hào)引腳ST_CP為存儲(chǔ)寄存器的時(shí)鐘輸出。Q7'為級(jí)聯(lián)輸出端,Q0-Q7為8位數(shù)據(jù)輸出。
接下來(lái)對(duì)74HC595的各引腳功能進(jìn)行描述。
Q0~Q7:8位數(shù)據(jù)輸出。
OE:使能端,高電平時(shí)禁止輸出,此處直接接地。
MR:數(shù)據(jù)清零端,低電平時(shí)將移位寄存器清零,此處直接接高。
Q7':級(jí)聯(lián)輸出端,級(jí)聯(lián)時(shí)接下一個(gè)595的DS端。
DS:串行數(shù)據(jù)輸入端。
ST_CP:存儲(chǔ)寄存器的時(shí)鐘輸入。上升沿時(shí)移位寄存器中的數(shù)據(jù)進(jìn)入存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器中數(shù)據(jù)保持不變。應(yīng)用時(shí)通常將ST_CP置為低電平,移位結(jié)束后再在ST_CP端產(chǎn)生一個(gè)正脈沖更新顯示數(shù)據(jù)。
SH_CP:移位寄存器的時(shí)鐘輸入。上升沿時(shí)移位寄存器中的數(shù)據(jù)依次移動(dòng)一位,即Q0中的數(shù)據(jù)移到Q1中,Q1中的數(shù)據(jù)移到Q2中,依次類(lèi)推;下降沿時(shí)移位寄存器中的數(shù)據(jù)保持不變。
02
74HC595時(shí)序圖
例如要傳輸一個(gè)8位數(shù)據(jù):01001100,DS為串行數(shù)據(jù)輸入端,只有在SH_CP為下降沿的時(shí)刻數(shù)據(jù)DS波形才能變化,上升沿時(shí)讀數(shù)據(jù),如圖中的開(kāi)始處SH_CP為下降沿,此時(shí)傳輸DS第一個(gè)數(shù)據(jù)0,接下來(lái)一直到結(jié)束端處傳輸完成最后一個(gè)0。然后只有在ST_CP為上升沿時(shí)便會(huì)將移位寄存器中的數(shù)據(jù)copy一份存儲(chǔ)到存儲(chǔ)寄存器中,實(shí)現(xiàn)串并轉(zhuǎn)換。如圖中ST_CP處的上升沿此時(shí)檢測(cè)到上升沿便開(kāi)始讀取串行傳輸?shù)臄?shù)據(jù)。
而移位的原理如下圖所示:
寫(xiě)入的數(shù)據(jù)在寄存器中依次右移,采用8個(gè)時(shí)鐘移位,1個(gè)時(shí)鐘周期進(jìn)行存儲(chǔ)。在D7端那個(gè)將溢出的數(shù)據(jù)便是在D7'輸出的數(shù)據(jù),此處D7'輸出的數(shù)據(jù)也就是級(jí)聯(lián)時(shí)下一個(gè)74HC595的輸入數(shù)據(jù)。
如圖所示為兩片74HC595的級(jí)聯(lián)圖。兩片74HC595級(jí)聯(lián),共用SH_CP移位寄存器的時(shí)鐘線(xiàn)和ST_CP存儲(chǔ)寄存器的時(shí)鐘線(xiàn)。
03
程序撰寫(xiě)
首先便是對(duì)各端口進(jìn)行定義,至于sel位選信號(hào)和seg的段選信號(hào)是接下來(lái)要控制數(shù)碼管所用到的,位選是選擇哪一只數(shù)碼管進(jìn)行顯示,段選是要顯示的內(nèi)容,此處便不加描述。
這部分程序是四分頻,FPGA的外接晶振頻率為50MHz,此處對(duì)其四分頻然后使用。
這部分便是使用狀態(tài)機(jī)來(lái)傳輸數(shù)據(jù),首先是模擬SH_CP和ST_CP的時(shí)序,然后在SH_CP的每一個(gè)下降沿處發(fā)送一個(gè)數(shù)據(jù),最后在結(jié)尾處給ST_CP一個(gè)上升沿,讀取數(shù)據(jù)實(shí)現(xiàn)串并轉(zhuǎn)換。
仿真部分的程序如圖所示,位選信號(hào)sel給一個(gè)0000_0001,段選信號(hào)給一個(gè)1100_0000,接下來(lái)看仿真圖。
圖中的3個(gè)光標(biāo)處,前兩個(gè)光標(biāo)之間傳輸?shù)谋闶莝eg的信號(hào),后兩個(gè)光標(biāo)之間的信號(hào)之間傳輸?shù)谋闶莝el的信號(hào)。
總結(jié)
以上是生活随笔為你收集整理的保持寄存器和输入寄存器的区别_串行移位寄存器74HC595的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: flutter可视化_Flutter 对
- 下一篇: idea前进和后退快捷键_必备技能:ID