Kontext: Dies ist ein Hausbrauprojekt, das KEINE Mikrocontroller als Lernübung enthält. Ich muss eine Zeit von bis zu 20 Sekunden bis zur nächsten 100stel Sekunde messen und das gemessene Zeitintervall anzeigen. Ich verwende eine 4-stellige 7-Segment-LED für die Anzeige.
Ich habe einen 100-kHz-Kristall und möchte die Zehner-, Einsen-, Zehntel- und Hundertstelsekunden (dh 23,36 Sekunden) auf einer 4-stelligen 7-Segment-LED-Anzeige anzeigen. Ich dachte, ich könnte den 4026-Chip, einen Dezimalzähler und einen LED-Treiber verwenden. Allerdings muss ich 3 davon verketten, um 100 Hz zu erreichen, und dann weitere 4 verketten, um die 4 Ziffern der Anzeige zu erhalten. 7 ICs (plus Multiplex-Logik, da das Display gemeinsame abcdefg-Leitungen verwendet, plus Zurücksetzen usw.) scheinen eine Menge zu sein.
Vermisse ich einen viel einfacheren Weg, dies zu erreichen? Die 'Regeln' sind: alle ICs oder andere Komponenten, aber keine Software (keine MCUs).
Vielen Dank.
quelle
Antworten:
Halte es einfach. Sie können ICs finden, die 100 kHz durch 1000 teilen, wie den programmierbaren Division-by-N-Zähler 74HC4059 , aber die meisten davon kosten Sie einen Arm und ein Bein, wo ein paar billige 74HC390- Zähler ausreichen . Der HC390 ist ein doppelter BCD-Zähler, sodass Sie für den zweiten nur die Hälfte des IC benötigen, dieser ist jedoch billiger als ein einzelner BCD-Zähler.
quelle
Wenn Sie eine Schaltung implementieren möchten, wie Sie sie mit handelsüblichen Chips beschreiben, würde ich schätzen, dass drei Dekaden-Zählerchips erforderlich sind (zwei davon werden zum Teilen durch fünf und einer zum Teilen durch verwendet -vier), zwei 74HC595-Chips (Schieberegister mit Latch), ein 74HC374 (8-Bit-Latch), ein Segmenttreiberchip, einige Transistoren und Widerstände zum Ansteuern von fünf LED-Ziffern-Commons und wahrscheinlich etwa 3-4 verschiedene "Klebelogiken" "Chips (Quad NAND, Quad XOR usw.)
Die Grundschaltung sieht ungefähr so aus ; Wie dargestellt, würde es eher mit 20 kHz als mit 100 kHz betrieben, aber ein Dekadenzähler, der als Division durch fünf verdrahtet ist, würde dies leicht beheben.
Die LEDs blinken Ziffern in der Reihenfolge 1000stel 100stel Zehntel Einheiten Zehner. Obwohl ich in diesem Schema einen 20-Bit-Latch mit auf Eingänge zurückgespeisten Ausgängen verwende, wäre es einfacher, einen Schieberegisterchip für 16 der Bits zu verwenden. Der Schieberegisterchip (74HC595) bietet auch den Vorteil eines freien Ausgangs-Latch (entspricht dem unten rechts).
Wenn man das "UND" - und "ODER" -Gatter oben rechts im Schaltplan weglassen würde, würde es binär zählen. Jedes Bit ist das xor von sich selbst und der vorherige Übertrag, und der neue Übertrag sollte das "und" des vorherigen Übertrags und des vorherigen Bits sein, außer dass auf dem ersten Bit jeder "Rahmen" der Übertrag erzwungen werden sollte. Sehr einfache Logik, mit der jedes Längeninkrement von einem Schieberegister ausgeführt werden kann. Eine leichte "Falte" in dieser Variante besteht darin, dass die Schaltung alle vier Bits zwischenspeichert (da alle vier Bits als Dezimalstelle angezeigt werden müssen) und auch testet, ob eine zwischengespeicherte Ziffer 9 ist und ein Übertrag gesetzt ist; In diesem Fall wird "vorgetäuscht", dass die nächsten vier Bits vom Shifter alle Einsen sind.
Wenn die Zählwerte nicht angezeigt werden müssen, ist es möglicherweise einfacher, nur einen Zehner-Zähler für jede Ziffer zu kaskadieren. Andererseits bietet diese Schaltung den Vorteil, dass fünf Ziffern auf einem einzigen Anzeigetreiber gemultiplext werden können. Falls gewünscht, könnte es leicht angepasst werden, um eine beliebige Anzahl von Ziffern zu verarbeiten, indem einfach mehr Schieberegister hinzugefügt und die Zeitschaltung eingestellt werden.
quelle