材料准备:
面包板
arduino UNO控制板
74HC595 寄存器
LED灯16个
欧姆电阻16个
74HC595寄存器引脚说明(查看更多):
内部包含了一个8位移位寄存器和8位锁存寄存器
电路图:
注意:本例为了方便OE引脚直接接在GND上使其一直保持低电平输出数据,MR直接连接在Vcc上一直保持高电平。
8灯
16灯
实现代码:
//接ST_CP引脚
int latchPin = 8;
//接SH_CP引脚
int clockPin = 12;
//接DS引脚
int dataPin = 11;
void setup() {
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
//产生随机数
int num =rand()%(256);
//拉低电平
digitalWrite(latchPin, LOW);
//向DS一个字节
shiftOut(dataPin, clockPin, LSBFIRST,num);
//把DS引脚的数据保存到移位寄存器
digitalWrite(latchPin, HIGH);
delay(1000);
}
}