소스코드

아래는 소스코드입니다. 아두이노 IDE에 붙여넣기 하여 컴파일하고 업로드합니다.

//74HC595 실험
//74HC595 10번핀:MR--->VCC; 13번핀:OE--->GND 으로 연결
int latchPin = 5;//74HC595 12번핀으로
int clockPin = 4;//74HC595 11번핀으로
int dataPin = 2; //74HC595 14번핀으로
void setup ()
{
  pinMode(latchPin,OUTPUT);
  pinMode(clockPin,OUTPUT);
  pinMode(dataPin,OUTPUT); //모두 출력으로 설정
}
void loop()
{
  for(int a=0; a<256; a++)// a의 값을 1씩 증가시고도 256이 되면 다시 0부터 다시 시작합니다.
  {
    digitalWrite(latchPin,LOW); // 74HC595가 데이터수신이 가능하도록 ST_CP핀을 LOW레벨로 만듭니다.
    shiftOut(dataPin,clockPin,MSBFIRST,a);
    /*dataPin:데이터 출력 핀. 데이터의 각 비트가 순차적으로 출력됩니다. 핀 모드를 출력으로 설정해야합니다.
      clockPin: 데이터 출력을 쉬프트(1비트이동) 클록 출력 핀. 핀 모드를 출력으로 설정해야합니다.
      bitOrder:데이터 시프트 순서 선택 비트. MSBFIRST는 최상위 비트 먼저, LSBFIRST는 최하위 비트 먼저.
      a:출력할 데이터 값*/
    digitalWrite(latchPin,HIGH); //ST_CP 핀을 HIGH 레벨로
    delay(1000); //1초 지연
  }  
}