close

14.JPG

74HC595 是一款漏極開路輸出的CMOS 移位寄存器,輸出端口為可控的三態輸出端,亦能串行輸出控制下一級級聯芯片。

74HC595.JPG

腳位說明:

腳位編號 腳位名稱 說明

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

402868.jpg

USB傳輸線*1

402867.jpg

麵包板*1

402898.jpg

麵包板跳線*N

402985.jpg

LED*8

402897.jpg

電阻220 Ω *1

402896.jpg

74HC595 *1

403160.jpg

2. 電路接線圖

5.jpg

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,不可將資料寫入
}

6.JPG

4. 實驗結果

403163.jpg

看到八個LED顯示八位二進制數,循環自加1。

arrow
arrow
    創作者介紹
    創作者 鄭智遠 的頭像
    鄭智遠

    Michael_Jheng的部落格

    鄭智遠 發表在 痞客邦 留言(0) 人氣()