官方, 3個595, 第3個是開關
官方, 3個595, 第3個是開關
最遠, 次遠, 最近, 先送次序。
左, 顯示那支腳,
右, 數字
int latchPin = 5;//st_cp pin 12
int clockPin = 16;//sh_cp pin 11
int dataPin = 4;
#define uc unsigned char
uc table[10];
void setup()
{
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop()
{
fix_tab();
while(1){
for(int j=0;j<10;j++){
digitalWrite(latchPin, LOW);// shift out the bits:
shiftOut(dataPin, clockPin, MSBFIRST, 0);//最遠
shiftOut(dataPin, clockPin, MSBFIRST, table[j]);//次遠
shiftOut(dataPin, clockPin, MSBFIRST, ~(1<<(j%8)));//最近
digitalWrite(latchPin, HIGH);// pause before next value:
delay(1000);
}
}
}
void fix_tab()
{
uc i;
for(i=0;i<10;i++){ table[i]=0; }
table[0]=~((1<<2)|(1<<0)|(1<<5)|(1<<4)|(1<<3)|(1<<1));
table[1]=~((1<<0)|(1<<5));
table[2]=~((1<<2)|(1<<0)|(1<<6)|(1<<3)|(1<<4));
table[3]=~((1<<2)|(1<<0)|(1<<5)|(1<<4)|(1<<6));
table[4]=~((1<<1)|(1<<0)|(1<<6)|(1<<5));
table[5]=~((1<<2)|(1<<1)|(1<<6)|(1<<5)|(1<<4));
table[6]=~((1<<2)|(1<<3)|(1<<6)|(1<<5)|(1<<4)|(1<<1));
table[7]=~((1<<1)|(1<<2)|(1<<0)|(1<<5));
table[8]=~((1<<2)|(1<<3)|(1<<0)|(1<<6)|(1<<1)|(1<<5)|(1<<4));
table[9]=~((1<<2)|(1<<1)|(1<<0)|(1<<6)|(1<<5)|(1<<4));
}
留言