本文介绍如何用arduino控制两片74hc595
使用 Q7S 将多个 74HC595 设备链接在一起。将 Q7S 连接到链中下一个 74HC595 芯片的 DS 引脚。
- 如何使用两片74hc595寄存器进行介绍
- 对控制程序进行介绍
点击两片74hc595开始仿真
3.操作介绍arduino发出的16位串行输出信号先串入第一片的DS引脚,第一片逐次输出至Q7后,剩下的数据从第一片的Q7S引脚串行输入到第二片的DS引脚上,将剩下的8位数据逐次位移到第二片的Q0~Q7上。
4.代码介绍①灯间隔显示,求余
void loop() {
for (uint8_t i = 0; i < 16; i++) {
if (i % 2 == 0) {
setRegisterPin(i, toggle);
} else {
setRegisterPin(i, !toggle);
}
writeRegisters();
}
toggle = !toggle;
delay(500);
}
②给数组赋,数组数量由bool registers[numOfRegisterPins];决定
// How many of the shift registers
#define NUM_SHIFT_REGS 2
const uint8_t numOfRegisterPins = NUM_SHIFT_REGS * 8;
bool registers[numOfRegisterPins];
void clearRegisters() {
// Reset all register pins
for (int i = numOfRegisterPins - 1; i >= 0; i--) {
registers[i] = LOW;
}
}
③将数组由寄存器引脚联系起来
void writeRegisters() {
// Set and display registers
digitalWrite(LATCH_PIN, LOW);
for (int i = numOfRegisterPins - 1; i >= 0; i--) {
digitalWrite(CLOCK_PIN, LOW);
digitalWrite(DATA_PIN, registers[i]);
digitalWrite(CLOCK_PIN, HIGH);
}
digitalWrite(LATCH_PIN, HIGH);
}
digitalWrite(DATA_PIN, registers[i]);在循环中数据引脚和数组对应起来
总结学习方法要远比一两个知识点的学习重要
结束
每天都要认真活着



