74HC595實(shí)驗(yàn) 74HC595 簡(jiǎn)單說(shuō)來(lái)就是具有8 位移位寄存器和一個(gè)存儲(chǔ)器,以及三態(tài)輸出功能。 這里我們用它來(lái)控制8 個(gè)LED 小燈。我們?yōu)槭裁匆?4HC595 來(lái)控制小燈呢?一定會(huì)有 很多朋友會(huì)問(wèn)這個(gè)問(wèn)題,我想問(wèn)的是我們要是單純的用Arduino 控制8 個(gè)小燈的話要占用多少個(gè)I/O 呢?答案是8 個(gè),但是我們的Arduino 168 有幾個(gè)I/O 口呢?加上模擬接口也就20 個(gè)吧,這8 個(gè)小燈占用了太多的資源了,我們用74HC595 的目的就是減少I/O 口的使用數(shù)量。用74HC595 以后我們可以用3 個(gè)數(shù)字I/O 口控制8 個(gè)LED 小燈豈不美哉。下面是我們要準(zhǔn)備的元器件。 74HC595 直插芯片*1 紅色M5 直插LED*4 綠色M5 直插LED*4 220Ω直插電阻*8 面包板*1 面包板跳線*1 扎 準(zhǔn)備好元件我們就按下面的原理圖連接電路。 file:///C:\Users\juli\AppData\Local\Temp\ksohtml\wps1641.tmp.png 注意:74HC595的OE腳,要連接GND. file:///C:\Users\juli\AppData\Local\Temp\ksohtml\wps1651.tmp.png 注意:74HC595的OE腳,要連接GND. 此電路圖看似復(fù)雜,我們仔細(xì)分析以后再結(jié)合參考實(shí)物就會(huì)發(fā)現(xiàn)很簡(jiǎn)單。 下面是參考源程序: int data = 2;//74HC595的14腳 數(shù)據(jù)輸入引腳SI int clock = 5;//74hc595的11腳 時(shí)鐘線 SCK int latch = 4;//74hc595的12腳 輸出存儲(chǔ)器鎖存線RCK int ledState = 0; const int ON = HIGH; const int OFF = LOW; void setup() { pinMode(data, OUTPUT); pinMode(clock, OUTPUT); pinMode(latch, OUTPUT); } void loop() { for(int i = 0; i < 256; i++) { updateLEDs(i); delay(500); } } void updateLEDs(int value) { digitalWrite(latch, LOW);// shiftOut(data, clock, MSBFIRST, ~value);//串行數(shù)據(jù)輸出,高位在先 digitalWrite(latch, HIGH);//鎖存 } 下載完程序大家就可以看到8 個(gè)小燈閃爍的美妙場(chǎng)景了。 實(shí)驗(yàn)現(xiàn)象是看到八位LED顯示八位二進(jìn)制數(shù),循環(huán)自加1。
|