实验现象:
利用74HC595芯片实现LED流水灯效果。
理论学习:
掌握74HC595的工作原理。
实现串行数据转换为并行数据的控制模式。
学会shiftout语句的用法。
程序代码:
int latchPin = 8;
int clockPin = 12;
int dataPin = 11; //这里定义了那三个脚
unsigned char table[] = {0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //LED状态显示的变量
void setup ()
{
pinMode(latchPin,OUTPUT);
pinMode(clockPin,OUTPUT);
pinMode(dataPin,OUTPUT); //让三个脚都是输出状态
}
void loop()
{
for(int i=0; i<8; i++)
{
digitalWrite(latchPin,LOW); //将ST_CP口上面加低电平让芯片准备好接收数据
shiftOut(dataPin,clockPin,MSBFIRST,table[i]);//串行数据输入引脚为dataPin,时钟引脚为clockPin,执行MSB有限发送,发送数据table[i]
digitalWrite(latchPin,HIGH); //将ST_CP这个针脚恢复到高电平
delay(500); //延时500ms
}
}