74HC595 是一款漏極開路輸出的CMOS 移位寄存器,輸出端口為可控的三態輸出端,亦能串行輸出控制下一級級聯芯片。
腳位說明:
腳位編號 | 腳位名稱 | 說明 |
1、2、3、4、 5、6、7、15 |
QA - QH | 三態輸出腳位 |
8 | GND | 電源地 |
9 | SQH | 串行數據輸出腳位 |
10 | SCLR | 移位寄存器清除端 |
11 | SCK | 數據輸入時鐘線 |
12 | RCK | 輸出存儲器鎖存時鐘線 |
13 | OE | 輸出使能 |
14 | SI | 數據線 |
16 | VCC | 電源端 |
1. 實驗材料
Arduino*1
USB傳輸線*1
麵包板*1
麵包板跳線*N
LED*8
電阻220 Ω *1
74HC595 *1
2. 電路接線圖
3. Arduino參考程式
#define SI 2//74HC595的14腳 數據輸入引腳SI
#define RCK 4//74hc595的12腳 輸出存儲器鎖存線RCK
#define SCK 5//74hc595的11腳 時鐘線 SCK
void setup() {
// put your setup code here, to run once:
pinMode(SI, OUTPUT);//PIN 2設為輸出模式
pinMode(RCK, OUTPUT);//PIN 4設為輸出模式
pinMode(SCK, OUTPUT);//PIN 5設為輸出模式
}
void loop() {
// put your main code here, to run repeatedly:
for(int i=0; i<256; i++){//讓八個LED顯示八位二進制數,範圍0~255
updateLEDs(i);//LED更新
delay(1000);//延時1秒
}
}
void updateLEDs(int value){
digitalWrite(RCK, LOW);//輸出存儲器鎖存為LOW,可將資料寫入
shiftOut(SI, SCK, MSBFIRST, value);//串行數據輸出,高位在先
digitalWrite(RCK, HIGH);//輸出存儲器鎖存為HIGH,不可將資料寫入
}
4. 實驗結果
看到八個LED顯示八位二進制數,循環自加1。
留言列表