標(biāo)題: 樸生電子51單片機(jī)學(xué)習(xí)之一文搞定74HC595串行驅(qū)動芯片 [打印本頁]

作者: 生非死懼    時間: 2019-3-6 12:39
標(biāo)題: 樸生電子51單片機(jī)學(xué)習(xí)之一文搞定74HC595串行驅(qū)動芯片
近來看到很多新人在學(xué)習(xí)51單片機(jī)的時候,對74HC595這款芯片特別的困惑,或者換句話說,本來大家用STC89C52這個款老的掉了八次牙的芯片,驅(qū)動一個數(shù)碼管,或者驅(qū)動八個LED燈,完美的事情,結(jié)果發(fā)現(xiàn)很多開發(fā)板上面加了74HC595來驅(qū)動八個燈或者數(shù)碼管,從而就導(dǎo)致初學(xué)者很郁悶了? 不禁想問,74HC595這究竟是個什么東西,怎么搞得我連好好的八個LED燈都不會點了呢?
那么,接下來我們就馬上給大家介紹一下這款使初學(xué)者郁悶的74HC595芯片吧。 我們驅(qū)動8位LED燈來給大家介紹一下74HC595的使用方法。
1.  LED作為所有單片機(jī)學(xué)習(xí)中需要完成的第一個基本功能,在MCU學(xué)習(xí)中有古老
的神燈之稱。相信大家在學(xué)習(xí)單片機(jī)時,見得最多的也是最簡單的下面這樣的LED燈電路了。像圖中這樣,不僅電路簡單,而且他的操作也很簡單,八個LED對應(yīng)的IO口給相應(yīng)的電平,對應(yīng)的LED既可以亮或者滅。


但也并不見得都是這樣簡單的LED電路。有的電路會使用74HC595芯片來驅(qū)8個LED或者驅(qū)動數(shù)碼管的八位段碼。如下圖所示


像上圖這樣,然后你突然發(fā)現(xiàn)自己不會點燈了。  
為什么簡單的電路要做的復(fù)雜呢?原因顯而易見,就是之前的八個LED燈需要用八個IO口,現(xiàn)在只需要三個IO口就可驅(qū)動八個LED燈。
2.   我們來簡單的介紹一下74CH595,并且來成功的使用它驅(qū)動八個LED燈。
74HC595是一款8位的串行輸入,并行輸出的芯片。如上圖所示,
SI腳是它的串行數(shù)據(jù)輸入端;
Q0—Q7是八位并行數(shù)據(jù)輸出端;
SCK,串行輸入數(shù)據(jù)移位時鐘,即一個SCK的上升沿SI的數(shù)據(jù)就向芯片里面移動一位;
RCK,并行數(shù)據(jù)輸出時鐘。即RCK的上升沿芯片里面的八位并行數(shù)據(jù)就輸出到Q0—Q7上;
OE是芯片的輸出使能腳, 即低電平的時候Q0—Q7才能輸出數(shù)據(jù);
SQH是串行輸出腳,即SI向芯片里面移動八位之后再移動第九位數(shù)據(jù)就會從SQH溢出來。
我們現(xiàn)在要實現(xiàn)的其實就是在SCK  RCK的作用下,將SI的八位數(shù)據(jù)一位一位的移入74HC595里面并且并行的呈現(xiàn)在Q0—Q7上面。


如圖所示,咱們需要實現(xiàn)的功能就是將SI上的八位串行數(shù)據(jù),在SCK,RCK的作用下并行的呈現(xiàn)在Q0—Q7上。  
3.   我們前面說了 SCK的每來一個上升沿,SI的數(shù)據(jù)就向74HC595里面移動一位。
RCK的上升沿,就使得移入74HC595芯片的數(shù)據(jù)并行的展現(xiàn)在Q0—Q7上。
在這個前提下,我們來擼一波代碼。



4.  在我們的文章中,講了74HC595來驅(qū)動八個LED燈,很多電路里面是使用
74HC595來驅(qū)動數(shù)碼管的八位段碼的。其實數(shù)碼管的八個段,就是八個LED燈,所以到此你需要學(xué)會的就是已經(jīng)可以隨心所欲的使用74HC595了。如果你還沒明白,那么說明你可能已經(jīng)比他人落后一步了,需要好好加油努力。  
5.  看到這里,我想大家基本都明白了74HC595是一個什么樣子的芯片了,而且對
它的使用應(yīng)該也開始得心應(yīng)手了吧。
如上所示,結(jié)合代碼和所講的內(nèi)容,趕緊來親自嘗試一下吧。
更多學(xué)習(xí)資料歡迎加入樸生電子51技術(shù)交流群515282844(注明來自51黑論壇)






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1