IC 74HC595 DIP-16
74HC595 là thanh ghi dịch 8-bit nối tiếp-vào / song song-ra (SIPO) có mạch chốt. Chỉ tốn 3 chân GPIO để điều khiển 8 ngõ ra; nối tầng (daisy-chain) nhiều con để mở rộng vô số ngõ ra — lý tưởng để chạy LED, LED 7 đoạn, ma trận.
Thông số kỹ thuật
| Loại | Shift register 8-bit SIPO + latch |
| Điện áp hoạt động | 2 ~ 6 V |
| Dòng mỗi ngõ ra | ±35 (max) mA |
| Tần số dịch | lên tới ~100 MHz |
| Vỏ | DIP-16 |
| Nối tầng | Có (qua chân Q7′) |
Sơ đồ chân (DIP-16)
| Chân | Tên | Chức năng |
|---|---|---|
| 1–7 | Q1–Q7 | Ngõ ra song song |
| 8 | GND | Mass |
| 9 | Q7′ | Nối tiếp ra (sang IC kế) |
| 10 | MR̄ | Master reset (active LOW → nối VCC) |
| 11 | SH_CP | Shift clock |
| 12 | ST_CP | Latch clock |
| 13 | OĒ | Output enable (active LOW → nối GND) |
| 14 | DS | Dữ liệu vào nối tiếp |
| 15 | Q0 | Ngõ ra song song |
| 16 | VCC | Nguồn |
Kết nối với Arduino/ESP32
| 74HC595 | Arduino UNO | ESP32 |
|---|---|---|
| DS (14) | D11 | GPIO23 |
| SH_CP (11) | D13 | GPIO18 |
| ST_CP (12) | D8 | GPIO5 |
| OĒ (13) | GND | GND |
| MR̄ (10) | 5V | 3V3 |
Code mẫu
#define DATA_PIN 23 // DS
#define CLOCK_PIN 18 // SH_CP
#define LATCH_PIN 5 // ST_CP
void setup() {
pinMode(DATA_PIN, OUTPUT);
pinMode(CLOCK_PIN, OUTPUT);
pinMode(LATCH_PIN, OUTPUT);
}
void loop() {
for (int i = 0; i < 256; i++) {
digitalWrite(LATCH_PIN, LOW);
shiftOut(DATA_PIN, CLOCK_PIN, MSBFIRST, i); // xuất 8 bit
digitalWrite(LATCH_PIN, HIGH); // chốt ra ngõ ra
delay(150);
}
}