硬件准备
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() 函数的使用。