[ create a new paste ] login | about

Link: http://codepad.org/WBAyvbda    [ raw code | fork ]

C, pasted on Jan 6:
//Порт подключенный к ST_CP 74HC595
int latchPin = 9;
//Порт подключенный к SH_CP  74HC595
int clockPin = 8;
//Порт подключенный к DS 74HC595
int dataPin = 10;

byte i[] = {0b00000000, 0b00000000};
int j = 0;
int time = 50;
long tmpTime = 0;

void setup() {
  //устанавливаем режим порта выхода
  pinMode(latchPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(dataPin, OUTPUT);
}

void writeShift(byte data[]){
    //устанавливаем LOW на latchPin пока не окончена передача байта
    digitalWrite(latchPin, LOW);
    shiftOut(dataPin, clockPin, LSBFIRST, data[1]);
    shiftOut(dataPin, clockPin, LSBFIRST, data[0]);  
    //устанавливаем HIGH на latchPin, чтобы проинформировать регистр, что передача окончена.
    digitalWrite(latchPin, HIGH);
}

void loop(){
  i[0] = 0b00000001;
  while(j <= 7){
    writeShift(i);
    i[0] = i[0] << 0b00000001;
    delay(time);
    j++;
  }
  j = 0;
  i[0] = 0b00000000;
  i[1] = 0b00000001;
  
  while(j <= 3){
    writeShift(i);
    i[1] = i[1] << 0b00000001;
    delay(time);
    j++;
  }
  j = 0;
  
    while(j <= 3){
    writeShift(i);
    i[1] = i[1] >> 0b00000001;
    delay(time);
    j++;
  }
  j = 0;
  i[0] = 0b10000000;
  i[1] = 0b00000000;
  
  while(j <= 7){
    writeShift(i);
    i[0] = i[0] >> 0b00000001;
    delay(time);
    j++;
  }
  j = 0;
}


Create a new paste based on this one


Comments: