Với số lượng chân ra vi điều khiển ít, VD muốn điều khiển 16 led ta có thể dung 8 chân VĐK, bằng cách quét hàng quét cột ta có thể truy cập tới từng vị trí con led cần điều khiển, tương tự với 64 led thì cần với 16 chân VĐK. Vd với việc chân VĐK chỉ có tối đa 16 chân đi, việc điều khiển với số lượng led lớn hơn 64 thì không thể thực hiện bằng cách quét hàng, cột được. Vậy thì ta làm thế nào? Câu trả lời là ta chỉ cần 3 chân Digital bạn có thể điều khiển được rất nhiều led thông qua IC 74GC595.
Pin | Name | Description |
---|---|---|
PINS 1-7, 15 | Q0 đến Q7 | các chân xuất tín hiệu, giống như các chân Digital được cài đặt là OUTPUT |
PIN 8 | GND | Ground, Cực âm |
PIN 9 | Q7 | Chân xuất ra tín hiệu Serial |
PIN 10 | MR | Master Reclear, nối cực dương để bật IC hoạt động |
PIN 11 | SH_CP | Shift register clock pin |
PIN 12 | ST_CP | Storage register clock pin (latch pin) |
PIN 13 | OE | Output enable, nối cực âm để các đèn LED có thể sáng được |
PIN 14 | DS | Serial data input |
PIN 16 | Vcc | Cấp nguồn cho IC và LED. |
Hình mô phỏng Proteus
Hình thưc tế
Điều khiển 3 IC tướng ứng 24 led
Vậy cách hoạt động của IC này như thế nào?
int latchpin = 8; int clockpin = 12; int datapin = 11; byte data; void setup() { pinMode(latchpin , OUTPUT); pinMode(clockpin, OUTPUT); pinMode(datapin, OUTPUT); } void loop() { digitalWrite(latchpin, LOW); shiftOut(datapin, clockpin, MSBFIRST, 0b00000001); digitalWrite(latchpin, HIGH); delay(2000); }
int latchpin = 8; int clockpin = 12; int datapin = 11; byte data; void setup() { pinMode(latchpin , OUTPUT); pinMode(clockpin, OUTPUT); pinMode(datapin, OUTPUT); } void loop() { digitalWrite(latchpin, LOW); shiftOut(datapin, clockpin, MSBFIRST, 0b00000001); digitalWrite(latchpin, HIGH); digitalWrite(latchpin, LOW); shiftOut(datapin, clockpin, MSBFIRST, 0b00000010); digitalWrite(latchpin, HIGH); digitalWrite(latchpin, LOW); shiftOut(datapin, clockpin, MSBFIRST, 0b00000100); digitalWrite(latchpin, HIGH); delay(2000); }
Cũng giống như trên nhưng dữ liệu đầu tiên vào sẽ đi xuống dưới nằm dưới cùng, VD có 2 dữ liệu, trên code là A B, khi hiển thị A sẽ được truyền trước, và tiếp đó là B Pin 9 là được nối qua chân data, dữ liệu truyền được lấy từ thanh ghi dịch.
Thông tin