2.6 74HC595¶
Überblick¶
In dieser Lektion lernen Sie, wie Sie 74HC595 verwenden. 74HC595 besteht aus einem 8-Bit-Schieberegister und einem Speicherregister mit parallelen Ausgängen mit drei Zuständen. Es wandelt die serielle Eingabe in eine parallele Ausgabe um, sodass Sie IO-Ports einer MCU einsparen können.
Erforderliche Komponenten¶

Fritzing-Schaltung¶

In diesem Beispiel verwenden wir 74HC595 zur Steuerung der LED. Geben Sie jedem Datenausgangsstift (Q0-Q7) einen 220-Ohm-Widerstand und verbinden Sie ihn dann mit der LED. Der Schaltplan ist wie folgt:

Schematische Darstellung¶

Code¶
Bemerkung
Sie können die Datei
2.6_74HC595.ino
unter dem Pfadsunfounder_vincent_kit_for_arduino\code\2.6_74HC595
direkt öffnen.Oder kopieren Sie diesen Code in Arduino IDE.
Wenn Sie die Codes auf das Mega2560-Board hochgeladen haben, können Sie sehen, wie die LEDs nacheinander aufleuchten.
Code-Analyse¶
Deklarieren Sie ein Array, speichern Sie mehrere 8-Bit-Binärzahlen, die verwendet werden, um den Arbeitszustand der acht LEDs zu ändern, die von 74HC595 gesteuert werden.
int datArray[] = {B00000000, B00000001, B00000011, B00000111, B00001111, B00011111, B00111111, B01111111, B11111111};
Setzen Sie STcp
zuerst auf Low-Pegel und dann auf High-Pegel. Er erzeugt einen ansteigenden Flankenimpuls von STcp
.
digitalWrite(STcp,LOW);
shiftOut()
wird verwendet, um ein Datenbyte bitweise herauszuschieben, was bedeutet, dass ein Datenbyte in datArray[num] mit dem DS-Pin in das Schieberegister verschoben wird. MSBFIRST bedeutet, sich von hohen Bits zu bewegen.
shiftOut(DS,SHcp,MSBFIRST,datArray[num]);
Nachdem digitalWrite(STcp,HIGH)
ausgeführt wurde, befindet sich STcp an der steigenden Flanke. Zu diesem Zeitpunkt werden die Daten im Schieberegister in das Speicherregister verschoben.
digitalWrite(STcp,HIGH);
Nach 8 Mal wird ein Datenbyte in das Speicherregister übertragen. Dann werden die Daten des Speicherregisters an den Bus (Q0-Q7) ausgegeben. Zum Beispiel schaltet Shiftout「B00000001」 die von Q0 gesteuerte LED ein und schaltet die von Q1~Q7 gesteuerte LED aus.
Phänomen Bild¶
