ArduinoUNO实战-第十九章-利用74HC595芯片实现流水灯效果

一、参考
二、目标
利用74HC595芯片实现流水灯效果
三、理论学习
74HC595是常用的串转并芯片,支持芯片级联实现少量IO口控制多个IO口输出功能
14脚:DS,串行数据输入引脚
13脚:OE,输出使能控制脚,它是低电才使能输出,所以接GND
12脚:STCP,存储寄存器时钟输入引脚。上升沿时,数据从移位寄存器转存带存储寄存器。
11脚:SHCP,移位寄存器时钟引脚,上升沿时,移位寄存器中的bit 数据整体后移,并接受新的bit(从SER输入)。
10脚:MR,低电平时,清空移位寄存器中已有的bit数据,一般不用,接 高电平(5V)即可。
9 脚 :Q7S,串行数据出口引脚。当移位寄存器中的数据多于8bit时,会把已有的bit“挤出去”,就是从这里出去的。用于595的级联。
Q0~Q7: 并行输出引脚
接线图
代码
int latchPin = 8;
int clockPin = 12;
int dataPin = 11;//这里定义了三个脚
int table[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void setup()
{
pinMode(latchPin,OUTPUT);
pinMode(clockPin,OUTPUT);
pinMode(dataPin,OUTPUT);
}
void loop()
{
for(int i=0;i<8;i++)
{
digitalWrite(latchPin,LOW);//加低电平让芯片准备接收数据
shiftOut(dataPin,clockPin,MSBFIRST,table[i]);
digitalWrite(latchPin,HIGH);//将这个脚恢复为高电平
delay(500);
}
}