Ich erstelle eine 16 x 16 LED-Matrix mit 74hc595-Schieberegistern, um die Spalten zu adressieren, und mit 4017-Dekadenzählern, um die Zeile zu steuern. Ich verwende die 4017 in Verbindung mit einem Transistor, um den Strom von den LEDs zu senken. Ich verstehe, wie man einen 4017 verwendet, um den Strom zu senken, aber ich versuche, einen anderen 4017 zu kaskadieren, damit ich mit Ausgängen bis 20 zählen kann. Ich habe ein Arduino , das das Taktsignal liefert und ENABLE
den Ausgang an Masse gebunden hat, und kann steuern CLOCK
undRESET
Eine Erklärung, warum eine vermeintliche Lösung funktioniert, wäre auch toll, da ich gerne verstehen würde, wie meine Matrix von innen nach außen funktioniert.
Eigentlich erklärt das verlinkte HC4017 Datenblatt, wie man den Zähler erweitert. Sehen Sie sich Seite 15 an. Aber Sie erhalten nur 17 Stufen aus 2 Zählern und zusätzliche 8 Stufen für jeden weiteren.
hli bemerkte zu Recht, dass das Datenblatt zeigt, wie man sie kaskadieren kann:
(Also stimme seiner Antwort zu, nicht meiner. Es sei denn, du stimmst dem Folgenden zu. :-))
Die verbleibenden 17 Zeilen für zwei Geräte reichen für Ihre 16 16 Anzeige.
Ich würde immer noch zwei 74HC595 verwenden und sie nach der Spalte '595 kaskadieren. Ich habe einen Grund in meiner anderen Antwort erwähnt: Der '595 ist billiger und Sie brauchen das UND-Gatter nicht.
Ein weiterer Grund ist, dass die gezeigte Schaltung keine Mittel zum Synchronisieren hat . Wenn Sie auf die eine oder andere Weise die Zählung verloren haben (jemals von Fehlern gehört?), zeigt Ihr Display die falschen Daten und Sie würden es nicht wissen. Sie können das beheben, indem Sie einen der MR-Eingänge abfangen. Kostet Sie zusätzliche E/A und verkompliziert Ihren Treiber. Für den '595 brauchst du keinen neuen Treiber, du hast schon einen für die Säulen. Nur noch 2 Bytes zum Durchschieben.
PetPaulsen
stevenvh
PetPaulsen