74HC595詳解
工作電壓2-6V,推薦5V。
14腳串行輸入:595的數(shù)據(jù)來源只有這一個(gè)口,一次只能輸入一個(gè)位,那么連續(xù)輸入8次,就可以積攢為一個(gè)字節(jié)了。
13腳OE 輸出使能控制腳:如果它不工作,那么595的輸出就是高阻態(tài),595就不受我們程序控制了,這顯然違背我們的意愿。OE的上面畫了一條線,表示他是低電平有效。于是我們將他接GND。
10腳SRCLR 位移寄存器清空腳:他的作用就是將位移寄存器中的數(shù)據(jù)全部清空,這個(gè)很少用到,所以我們一般不讓他起作用,也是低電平有效,于是我們給他接VCC。
12腳RCLK存儲(chǔ)寄存器:數(shù)據(jù)從位移寄存器轉(zhuǎn)移到存儲(chǔ)寄存器,也是需要時(shí)鐘脈沖驅(qū)動(dòng)的,這就是12腳的作用。它也是上升沿有效。
11腳SRCLK移位寄存器時(shí)鐘輸入:當(dāng)一個(gè)新的位數(shù)據(jù)要進(jìn)來時(shí),已經(jīng)進(jìn)入的位數(shù)據(jù)就在移位寄存器時(shí)鐘脈沖的控制下,整體后移,讓出位置。
分析下數(shù)據(jù)輸入和輸出過程:
假如,我們要將二進(jìn)制數(shù)據(jù)0111 1111 輸入到595的移位寄存器中,下面來上一張動(dòng)態(tài)圖,模擬了前2個(gè)位輸入的情景。 第一個(gè)從SER送入的bit將會(huì)從Q7出去。
數(shù)據(jù)傳輸完畢后是這樣的。
存儲(chǔ)寄存器:
存儲(chǔ)寄存器是直接和8個(gè)輸出引腳相通的,將移位寄存器的數(shù)據(jù)轉(zhuǎn)移到存儲(chǔ)寄存器后,Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 就可以接受帶到我們開始輸入的一個(gè)字節(jié)的數(shù)據(jù)。所謂存儲(chǔ)寄存器,就是數(shù)據(jù)可以存在這個(gè)寄存器中,并不會(huì)隨著一次輸出就消失,只要595不斷電,也沒有新的數(shù)據(jù)從移位寄存器中過來,數(shù)據(jù)就一直不變且有效。新的數(shù)據(jù)過來后,存儲(chǔ)寄存器中的數(shù)據(jù)就會(huì)被覆蓋更新。
在上面的程序中沒用到9腳,如果要讓2個(gè)595串聯(lián)起來的話,就需要它了。
想一下,我們將移位寄存器的8個(gè)位填滿后,再往移位寄存器中塞一個(gè)會(huì)怎么樣?也許你想到了。
對(duì)!移位寄存器的最后一個(gè)位數(shù)據(jù)會(huì)被擠出去,從哪里出去?就是從9腳輸出的(第一個(gè)595移位寄存器需要8個(gè)脈沖,級(jí)聯(lián)的下一個(gè)595第一位Q0實(shí)際需要第9個(gè)脈沖...以此類推)。如果我們把第一個(gè)595的
9腳連接到第二個(gè)的串行數(shù)據(jù)輸入腳SER,那么,就形成了595的級(jí)聯(lián)。這樣,如果我們用2個(gè)595組合成了一個(gè)新的超級(jí)595,