Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. /*
  2. shiftOut với 8 LED bằng 1 IC HC595
  3. */
  4. //chân ST_CP của 74HC595
  5. int latchPin = 8;
  6. //chân SH_CP của 74HC595
  7. int clockPin = 12;
  8. //Chân DS của 74HC595
  9. int dataPin = 11;
  10.  
  11. //Trạng thái của LED, hay chính là byte mà ta sẽ gửi qua shiftOut
  12. byte ledStatus;
  13. void setup() {
  14. //Bạn BUỘC PHẢI pinMode các chân này là OUTPUT
  15. pinMode(latchPin, OUTPUT);
  16. pinMode(clockPin, OUTPUT);
  17. pinMode(dataPin, OUTPUT);
  18. }
  19.  
  20. void loop() {
  21. //Sáng tuần tự
  22. ledStatus = 0;//mặc định là không có đèn nào sáng hết (0 = 0b00000000)
  23. for (int i = 0; i < 8; i++) {
  24. ledStatus = (ledStatus << 1) | 1;
  25.  
  26. /**
  27. Bắt buộc phải có để shiftOut
  28. **/
  29.  
  30. digitalWrite(latchPin, LOW); //các đèn LED sẽ không sáng khi bạn digital LOW
  31.  
  32. //ShiftOut ra IC
  33. shiftOut(dataPin, clockPin, MSBFIRST, ledStatus);
  34.  
  35. digitalWrite(latchPin, HIGH);//các đèn LED sẽ sáng với trạng thái vừa được cập nhập
  36.  
  37. /**
  38. Kết thúc bắt buộc phải có
  39. **/
  40.  
  41. 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
  42. }
  43.  
  44. //Tắt tuần tự
  45. for (int i = 0;i<8;i++) {
  46. ledStatus <<= 1; //Đẩy tất cả các bit qua bên trái 1 bit
  47. digitalWrite(latchPin, LOW);
  48. shiftOut(dataPin, clockPin, MSBFIRST, ledStatus);
  49. digitalWrite(latchPin, HIGH);
  50. delay(500);
  51. }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement