Advertisement
KRITSADA

74HC595 x 2 with Arduino UNO

Sep 4th, 2018
2,244
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. //Pin connected to ST_CP of 74HC595
  2. int L = 1;
  3. //Pin connected to SH_CP of 74HC595
  4. int CLK = 2;
  5. ////Pin connected to DS of 74HC595
  6. int DAT = 0;
  7. unsigned int I,J,K;
  8. void setup() {
  9.   pinMode(L, OUTPUT);  pinMode(CLK, OUTPUT);  pinMode(DAT, OUTPUT);
  10. }
  11. void HC595_L(unsigned int D){
  12.         digitalWrite(L, LOW);
  13.         shiftOut(DAT, CLK, LSBFIRST, D&0xFF);  
  14.         shiftOut(DAT, CLK, LSBFIRST, (D&0xFF00)>>8);
  15.         digitalWrite(L, HIGH);
  16. }
  17. void HC595_M(unsigned int D){
  18.         digitalWrite(L, LOW);
  19.         shiftOut(DAT, CLK, MSBFIRST, (D&0xFF00)>>8);
  20.         shiftOut(DAT, CLK, MSBFIRST, D&0xFF);  
  21.         digitalWrite(L, HIGH);
  22. }
  23. void loop() {
  24.     for ( J=0;J<16;J++) {
  25.             K = 1<<J; HC595_L(K); delay(150);
  26.     }
  27.     for (J=0;J<3;J++) {
  28.         HC595_L(0xFFFF); delay(1000);
  29.         HC595_L(0x0000); delay(1000);
  30.     }
  31.     for ( J=0;J<16;J++) {
  32.             K = 1<<J; HC595_M(K); delay(150);
  33.     }
  34.     for (J=0;J<3;J++) {
  35.         HC595_L(0xFFFF); delay(1000);
  36.         HC595_L(0x0000); delay(1000);
  37.     }
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement