硬件准备
74HC595直插芯片:1 个
绿色LED灯:4 个
红色LED灯:4 个
220欧的电阻:8个
面包板:1个
杜邦线:若干
硬件连线
软件程序
#define DS_pin 11 //DS引脚
#define STCP_pin 8 //ST_CP引脚,输出
#define SHCP_pin 12 //SH_CP引脚,输入
void setup() {
Serial.begin(9600);
pinMode(DS_pin, OUTPUT);
pinMode(STCP_pin, OUTPUT);
pinMode(SHCP_pin, OUTPUT);
}
void loop() {
//test();
run();
}
void run(){
for (int i = 0; i < 256; i++) {
digitalWrite(STCP_pin, LOW);
shiftOut(DS_pin, SHCP_pin, LSBFIRST, i); //低字节先出模式
digitalWrite(STCP_pin, HIGH);
delay(200);
}
}
void test() {
digitalWrite(STCP_pin, LOW);
shiftOut(DS_pin, SHCP_pin, LSBFIRST, 255); //低字节先出模式
digitalWrite(STCP_pin, HIGH);
delay(1000);
}
产品展示视频
八个小灯对应八位二进制00000000,上电后小灯从00000001每次加1至最终全亮11111111.之后复位,重复之前的效果
【Arduino29】74HC595控制LED灯
总结
在本次实验中,我学会了 74HC595 位移缓存器的使用,了解了 74HC595 中各个引脚的功能。此外,我还学会了 shiftOut() 函数的使用。