Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- shiftOut với 8 LED bằng 1 IC HC595
- */
- //chân ST_CP của 74HC595
- int latchPin = 8;
- //chân SH_CP của 74HC595
- int clockPin = 12;
- //Chân DS của 74HC595
- int dataPin = 11;
- //Trạng thái của LED, hay chính là byte mà ta sẽ gửi qua shiftOut
- byte ledStatus;
- void setup() {
- //Bạn BUỘC PHẢI pinMode các chân này là OUTPUT
- pinMode(latchPin, OUTPUT);
- pinMode(clockPin, OUTPUT);
- pinMode(dataPin, OUTPUT);
- }
- void loop() {
- //Sáng tuần tự
- ledStatus = 0;//mặc định là không có đèn nào sáng hết (0 = 0b00000000)
- for (int i = 0; i < 8; i++) {
- ledStatus = (ledStatus << 1) | 1;
- /**
- Bắt buộc phải có để shiftOut
- **/
- digitalWrite(latchPin, LOW); //các đèn LED sẽ không sáng khi bạn digital LOW
- //ShiftOut ra IC
- shiftOut(dataPin, clockPin, MSBFIRST, ledStatus);
- digitalWrite(latchPin, HIGH);//các đèn LED sẽ sáng với trạng thái vừa được cập nhập
- /**
- Kết thúc bắt buộc phải có
- **/
- delay(500); // Dừng chương trình khoảng 500 mili giây để thấy các hiệu ứng của đèn LED
- }
- //Tắt tuần tự
- for (int i = 0;i<8;i++) {
- ledStatus <<= 1; //Đẩy tất cả các bit qua bên trái 1 bit
- digitalWrite(latchPin, LOW);
- shiftOut(dataPin, clockPin, MSBFIRST, ledStatus);
- digitalWrite(latchPin, HIGH);
- delay(500);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement