74HC595內(nèi)含8位串入,串/并出移位寄存器和8位三態(tài)輸出鎖存器。寄存器和鎖存器分別有各自的時(shí)鐘輸入(SCLK和SLCK),都是上升沿有效。
當(dāng)SCLK從低到高電平跳變時(shí),串行輸入數(shù)據(jù)(SER)移入寄存器;當(dāng)SLCK從低到高電平跳變時(shí),寄存器的數(shù)據(jù)置入鎖存器。
清除端(CLR)的低電平只對(duì)寄存器復(fù)位(QS為低電平),而對(duì)鎖存器無(wú)影響。當(dāng)輸出允許控制(OE)為高電平時(shí),并行輸出(Q0~Q7)為高阻態(tài),而串行輸出(QS)不受影響。
74HC595最多需要5根控制線(xiàn),即SER,SCLK,SLCK,CLR和OE。其中CLR可以直接接到高電平,用軟件來(lái)實(shí)現(xiàn)寄存器清零;如果不需要軟件改變亮度,OE可以直接接到低電平,而用硬件來(lái)改變亮度。把其余三根線(xiàn)和單片機(jī)的I/O口相接,即可實(shí)現(xiàn)對(duì)LED的控制。
數(shù)據(jù)從SER口送入74HC595,在每個(gè)SCLK的上升沿,SER口上的數(shù)據(jù)移入寄存器,在SCLK的第9個(gè)上升沿,數(shù)據(jù)開(kāi)始從QS移出。如果把第1個(gè) 74HC595的QH’和第2個(gè)74HC595的SDA相接,數(shù)據(jù)即移入第2個(gè)74HC595中,照此一個(gè)一個(gè)接下去,可接任意多個(gè)。數(shù)據(jù)全部送完后,給 SLCK一個(gè)上升沿,寄存器中的數(shù)據(jù)即置入鎖存器,此時(shí)如果OE為低電平,數(shù)據(jù)即從并口Q0~Q7輸出,把Q0~Q7與LED的8段相連,LED就可以實(shí)現(xiàn)顯示了。想要軟件改變LED的亮度,只需改變OE的占空比就行了。
1.關(guān)于74595的數(shù)據(jù)端說(shuō)明:
1)QA--QH:八位并行輸出端,可以直接控制數(shù)碼管的8個(gè)段
2)QH’:級(jí)聯(lián)輸出端??蓪⑺B下一個(gè)595的SER端
3)SER:串行數(shù)據(jù)輸入端
2.關(guān)于74595的控制端說(shuō)明:
1)/SCLR(10腳):低電平時(shí)將移位寄存器的數(shù)據(jù)清零。通常我將它接Vcc
2)/SCK:上升沿時(shí)數(shù)據(jù)寄存器的數(shù)據(jù)移位。QA--》Q(chēng)B--》Q(chēng)C--》。..--》Q(chēng)H;
下降沿移位寄存器數(shù)據(jù)不變。(脈沖寬度:5V時(shí),大于幾十納秒就行了;我通常都選微妙級(jí))
3)RCK:上升沿移位寄存器的數(shù)據(jù)進(jìn)入數(shù)據(jù)存儲(chǔ)寄存器,下降沿時(shí)存儲(chǔ)寄存器數(shù)據(jù)不變。通常我將RCK置為低電平,當(dāng)移位結(jié)束后,在RCK端產(chǎn)生一個(gè)正脈沖,更新顯示數(shù)據(jù)。
4)OE:高電平時(shí)禁止輸出(高阻態(tài))。如果單片機(jī)的引腳夠用,用一個(gè)引腳控制它,可以方便地產(chǎn)生閃爍和熄滅效果,比通過(guò)數(shù)據(jù)端移位控制要省時(shí)省力。
評(píng)論
查看更多