Logikgatterzähler auf 7-Segment-Anzeige

Unter Verwendung von Logikgattern mit Allzwecktransistoren möchte ich Zahlen auf einer 7-Segment-Anzeige abhängig von der 2-Tasten-Eingabe anzeigen. Wenn beide Tasten nicht gedrückt sind, möchte ich, dass 0 angezeigt wird. Wenn 1 gedrückt wird, möchte ich, dass 1 angezeigt wird, wenn die andere gedrückt wird, möchte ich, dass 2 angezeigt wird, und wenn beide gedrückt werden, möchte ich, dass es angezeigt wird Sagen wir 3. Ich weiß, wie man das mit separaten LEDs macht (4 verschiedene LEDs leuchten abhängig von den Schaltereingängen), aber ich habe Probleme, dies für eine 7-Segment-Anzeige herauszufinden, da sich die Ziffern überschneiden. Ich habe vielleicht einen schrecklichen Job gemacht, dies zu erklären, aber jede Information ist hilfreich.

ist das hausarbeit?
Schreiben Sie einfach eine Wahrheitstabelle auf ... und wir könnten Ihnen helfen zu verstehen, ob und wo Sie falsch liegen.

Antworten (4)

Ich würde das in 2 Schritten machen. Erstellen Sie zuerst eine Schaltung mit 4 Ausgängen, die Ihren 0-3-Codes entsprechen. Sie können dies testen, indem Sie gemeinsame LEDs an die Ausgänge anschließen. Ich glaube, dies ist eine übliche Decoderschaltung.

Der zweite Schritt besteht darin, die Transistoren mit den LED-Segmenten zu verbinden. Platzieren Sie einen Transistor auf jedem Segment. Schalten Sie den für den LED-Typ geeigneten Kollektor ein. Verbinden Sie den Emitter mit einem bestimmten Segment. Die Basis sollte an die Ausgänge Ihres Decoders angeschlossen werden.

Angenommen, Sie haben eine 7-Segment-LED mit Segmenten, die von 0 bis 7 nummeriert sind. Sie entscheiden, dass die Segmente 1 und 2 für den Decoderausgang Nr. 0 leuchten müssen. Verbinden Sie #0 mit den Basen der Transistoren, die für die Segmente 1 und 2 verantwortlich sind. Wiederholen Sie dies für die anderen 3 Ausgänge. Wenn Sie verschiedene Ausgänge haben, die sich eine Transistorbasis teilen, benötigen Sie möglicherweise Dioden, um zu verhindern, dass Strom „rückwärts“ fließt und Segmente unerwartet aufleuchtet.

Anders gesagt ... die Dioden, die mit einem bestimmten Netz verbunden sind, implementieren gemeinsam eine "ODER" -Funktion für die eingehenden Netze (sozusagen) in TTL-Logik ... wenn Ihre Decoderstufe "Open Collector" -Ausgänge hat und Sie einen schwachen Zug verwenden -Up-Widerstand, können Sie die Dioden überspringen und erhalten am Ende eine 'Wired-OR'-Konfiguration.

Ich bin mir nicht sicher, ob ich Deans Antwort zustimmen kann; Sie können die Frage "Wie kann ich einen BCD-zu-7-Segment-Decoder erstellen?" nicht beantworten. mit "benutze einen BCD-zu-7-Segment-Decoder". Seine Wahrheitstabelle ist jedoch ein guter Anfang. Schneiden Sie den unteren Teil weg, sodass Sie eine Tabelle für die Ziffern 0 bis 3 erhalten:

Geben Sie hier die Bildbeschreibung ein

Das sollte nicht zu schwer sein. Was sehen wir?

  • Das erste, was uns auffällt, ist dieses Segment B ist immer eingeschaltet, das ist also keine dekodierte Ausgabe.
  • Die Codes für Spalte G sind die gleichen wie die B Spalte.
  • Säulen A Und D sind identisch.
  • Säulen A , C Und D eine 0 und drei 1en haben. Das hat die Wahrheitstabelle eines ODER-Gatters. Überprüfen Sie, welche der Eingänge Sie invertieren müssen, damit diese Ausgänge eine ODER-Funktion der (invertierten) Eingänge bilden.
  • Ähnlich für Spalte F : Es hat eine 1 und drei Nullen, die Ihnen ein UND-Gatter geben wird. Wie müssen Sie die Eingänge ändern, um hier ein UND-Gatter zu verwenden?
  • Säulen e können aus nur einer Eingabe erstellt werden. Welcher?

Wenn Sie die Zusammenhänge nicht auf Anhieb sehen, dann fügen Sie zwei Zwischenergebnisse hinzu, die Sie aus den Eingaben ableiten: that's A Und B invertiert.

Ihre Funktionstabelle könnte so aussehen:

A = A ¯ + B
B = 1
C = A + B ¯
D = A ¯ + B
e = A ¯
F = A ¯ B ¯
G = B

Wenn Sie denken, dass ich die ganze Arbeit für Sie erledigt habe, denken Sie noch einmal darüber nach. Die eigentliche Arbeit beginnt jetzt: Erstellen Sie daraus eine Schaltung mit möglichst wenigen Gattern.

stevenvh, fair genug. Ich habe die Frage so verstanden, dass ich nach einem BCD-zu-7-Segment-Decoder fragte, ohne zu wissen, dass ein solches Gerät einen Namen hatte oder als eigenständiger IC existierte. Ihre Antwort beantwortet die gestellte Frage viel besser.

Dies kann mit einem einzelnen BCD-Decoder-IC wie dem 4511 erfolgen. Schließen Sie einen Taster an Eingang A und den anderen Taster an Eingang B an. Lassen Sie C und D getrennt. Verweisen Sie auf die Beispielschaltung unten.

Da dies jedoch wahrscheinlich Hausaufgaben sind, vermute ich, dass Sie dies mit diskreten Logikgattern und Transistoren tun müssen. Ich würde mit der folgenden Wahrheitstabelle beginnen und Ihre Tore von dort aus entwerfen. Ich bin sicher, Sie können herausfinden, wie Sie die Transistoren ansteuern, um Strom aus einer gemeinsamen Anodenanzeige zu ziehen.

Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Das Design hängt von Ihrem Ziel ab;

  • Logikdesign mit Boolescher Algebra lernen, vielleicht mit Karnaugh-Mapping, um die Lösung auf einfache logische Gleichungen zu reduzieren ... wie Stevenhs gute Erklärung

  • Um das Design mit den wenigsten Teilen zu implementieren ... wie Deans Lösung oder ein CPLD mit Stevenhs

  • Implementieren Sie das Design auf einfachste Weise ... hängt von Ihrem Wunsch ab, neue Fähigkeiten zu erlernen, aber Boolesche Algebra ist ein Muss mit de Morgans Gesetz und vielleicht sind Karnaugh-Mapping Dinge, die Sie wissen sollten. Es sieht zunächst nur schwer aus, aber dann wird es wirklich einfach, jede komplexe Anforderung der Logik zu implementieren, sobald Sie diese Methoden gelernt haben. Firmware-Lösungen mit 1$-PICs werden zu wertvollen Werkzeugen für jede Logik, ebenso wie CPLD-Chips. Es gibt immer eine Lernkurve für neue Fähigkeiten.

  • das Design auf die billigste Weise für die Massenproduktion umzusetzen, hängt von Ihrem Budget für Zeit und Teile, Erfahrung, Kreativität, Werkzeuge ab

  • Erledige einfach eine Aufgabe.. sagte nuf.

Die beste Antwort hängt von einer gut formulierten Frage ab.