7-Segment-Anzeigen mit Tastenfeld ansteuern

Von: , Frage gestellt am Do, 28. Aug 2008

Hallo,
ich würde gerne vier 7-segment-anzeigen mit einem tastenfeld ansteuern.

Genauer gesagt soll auf der ersten 7-segment-anzeige die erste zahl stehen, die gedrückt wird, auf der zweiten anzeige die zweite zahl, auf der dritten anzeige die dritte zahl und auf der vierten anzeige die vierte zahl.

Die Zahlen sollen möglichst so lange stehen bleiben, bis sie mit hilfe eines "reset-tasters" wieder "gelöscht" werden.

Habe schon ne menge gegooglet, aber nichts gefunden.
Ich weiß leider nur soviel, das man einen IC braucht der als "speicher" dient und einen der die "signale" für die 7-segment anzeigen umwandelt.

Ich hoffe ihr könnt mir helfen, Danke im vorraus:
Moritz Klein

16 Antworten zu dieser Frage

  1. Antwort von nach einer Stunde 0 hilfreich
    Re: 7-Segment-Anzeigen mit Tastenfeld ansteuern

    Hallo,
    ich würde Dir ganz allgemein einen Mikroprozessor als Problemlösung anbieten. Aber ich kenne das eigentliche Problemn nicht - das wird ja wohl nicht darin bestehen, ein Paar Tasten anzuzeigen und dann wieder zu löschen.
    Also: was soll denn eigentlich gemacht werden und warum und was weißt Du bereits und was steht Dir zur Verfügung?
    Gruß
    loderunner

    • Antwort von nach 3 Stunden 0 hilfreich
      Re^2: 7-Segment-Anzeigen mit Tastenfeld ansteuern

      Das es mit einem Mikroprozessor "einfacher" wäre ist mir bekannt, aber ich habe absolut keine möglichkeit einen zu programmieren bzw. ein passendes programm zu schreiben.

      Das problem besteht darin das ich einfach kein ahnung habe wie ich diese schaltung aufbauen soll :-(

      100% wissen tue ich leider nichts (trotz googeln), aber ich vermute man braucht einen IC der die signale des tastenfeldes verarbeitet, einen der die signale dann für die 7-segment-anzeigen umwandelt und einen als kleinen speicher, so dass die angezeigten zahlen stehen bleiben..
      Und wie das funktioniert das die schaltung automatisch für die nächste zahl die nächste anzeige nimmt ist mir völlig fremd :-(

      Moritz

      • Antwort von nach 5 Stunden 0 hilfreich
        Re^3: 7-Segment-Anzeigen mit Tastenfeld ansteuern

        Hallo Moritz, Das es mit einem Mikroprozessor "einfacher" wäre ist mir
        bekannt, aber ich habe absolut keine möglichkeit einen zu
        programmieren bzw. ein passendes programm zu schreiben.
        Würdest du das Programm hinkriegen ?

        Grundsätzlich lässt sich jeder Algorithmus als Programm oder als Hardware realisieren.
        Unterschiede gibt es dann nur in der Ausführungsgeschwindigkeit und in der Änderbarkeit. Naja, das Programm ist weniger sperrig ;-) Das problem besteht darin das ich einfach kein ahnung habe wie
        ich diese schaltung aufbauen soll :-(
        zuerst musst du dir überlegen wie das ganze funktionieren soll und welche Elemente du dazu benötigst.

        Zuerst musst du einmal erkennen, wenn eine Taste gedrückt wird und wann sie wieder losgelassen wird.

        Grundsätzlich benötigst du, wie du schon erkannt hast, für jede 7-Seg-Anzeige noch einen Zwischenspeicher.
        Hier hast du schon einmal 2 Möglichkeiten:
        1. Du speicherst 4-Bit und steuerst damit einen BCD zu 7Seg-Decoder an.
        2. 8-Bit Zwischenspeicher bekommt man recht günstig, zudem auch mit Bustreibern als Ausgang, welche auch eine 7-Seg-Anzeige direkt treiben kann (z.B. 74xx374). Also kannst du auch die Ausgangswerte des BCD zu 7Seg-Decoders abspeichern.

        Mit der Variante 2, kannst du dir 3 ICs sparen, wenn 4 7Seg-Anzeigen angesteuert werden.

        Jetzt musst du noch aus den einzelnen Tasten BCD erzeugen. Dies kann man z.B. mit Dioden und einem Pullup-Widerstand machen.

        Dann benötigst du noch einen Zähler, welcher die Tastendrücke zählt und entsprechend auf die nächste Anzeige weiterschaltet.

        Ein Reset beim Einschalten ist auch noch wichtig.
        Sonst hast du die wildesten Zeichen und es ist nicht klar, an welcher Stelle erste Ziffer gespeichert wird.

        Dann kommen noch die Probleme mit der Fehlbedienung:
        1. Was passiert wenn man sich verdrückt hat ?
        2. Was wenn 2 Tasten gleichzeitig gedrückt werden ?
        3. Display löschen ? (dazu brauchst du nur eine Taste, welche einen Reset auslöst)


        Dann ist noch ein wichtiger Effekt bei den Tasten zu berücksichtigen !
        Als elektromechanisches Bauteil, schaltet so eine Taste nicht richtig schön, sondern prellt. Bei guten Tasten erhältst du die ersten paar ms nach der Betätigung eine Anzahl von Impulsen. Das selbe hast du, wenn auch etwas weniger, beim loslassen der Taste. Deine Logik-ICs sind so schnell, dass sie das prellen als einzelne Impulse verarbeiten.

        MfG Peter(TOO)

        • Antwort von nach 6 Stunden 0 hilfreich
          Re^4: 7-Segment-Anzeigen mit Tastenfeld ansteuern

          Hallo Peter,
          erst einmal vielen Dank für deine ausführliche Antwort!!!

          ich fürchte ich würde ein solches Programm nicht hinbekommen, ich habe zwar schon einige kleinere Programme mit visual basic 6.0 programmiert, auch mit schon mit Interface, aber mit was microporzessoren betrifft stehe ich völlig bei 0.

          Vielleicht hilft es ja, wenn ich mal dazusage das ich eine Alarmanlage bauen möchte. Die Schaltung für das eigentliche Codeschloss habe ich. Als kleinen Bonus würde ich nur gerne die eingegebenen Zahlen darstellen.

          Als Tastenfeld habe ich ein Drucktastenfeld mit 12 einzelnen Anschlüssen, also KEIN Matrix (Conrad Artikel-Nr.: 195561 – 62).

          Die Sache mit dem BCD erzeugen habe ich nicht verstanden, ich dachte das übernimmt ein IC?

          Als Zähler dachte ich das man das mit einem IC 4017 realisieren kann, sodass jedesmal wenn man eine taste drückt diese erscheint, es eine paar wenige Millisekunden geht und er 4017 das zur nächsten anzeige „wechselt“.

          Zu den Problemen bei einer Fehlermeldung:
          1. Sollte man sich verdrücken sollte gar nichts passieren, sodass man nicht merkt dass der Code falsch ist, denn die Schaltung für das codeschloss schaltet ja sowieso nicht durch.
          2. Wenn 2 Tasten gleichzeitig gedrückt werden, sollte denke ich entweder einfach keine taste „übernommen“ werden, oder beide zahlen, oder „es wird eine ausgesucht“.
          3. ein einfacher Taster wäre sicher das Beste, der parallel zu einem optokoppler oder relai überbrückt wird wenn der Code richtig ist.

          Das mit dem entprellen habe ich schon einmal gehört, ich glaube mich aber zu erinnern dass man dieses Problem ganz einfach mit einem Kondensator beheben kann?!

          MFG
          Moritz Klein

          • Antwort von nach 8 Stunden 0 hilfreich
            Re^5: 7-Segment-Anzeigen mit Tastenfeld ansteuern

            Hallo Moritz ............ aber mit was microporzessoren betrifft stehe ich völlig bei 0.
            Ich glaube, für Dich, der Du noch keine Kenntnisse der Mikroprozessortechnik hast, wäre eine Schaltung aus der „Steinzeit“ der IC-Logik am besten geeignet.

            Ich beschreibe Dir nur mal einen möglichen Weg Als Tastenfeld habe ich ein Drucktastenfeld mit 12 einzelnen Anschlüssen, also KEIN Matrix (Conrad Artikel-Nr.: 195561 – 62).
            Die Sache mit dem BCD erzeugen habe ich nicht verstanden, ich dachte das übernimmt ein IC?
            Es ist für die weitere Verarbeitung am einfachsten, wenn man die Einzelsignale der Tasten in binäre Signale wandelt, diese in ein Schieberegister (4 Bit parallel, 4 Stufen) einspeist und mit jedem Tastendruck um eine Stufe weiter schiebst.

            Dazu baust Du Dir hinter dem Tastenfeld eine Diodenmatrix auf, die Dir auf 4 Leitungen den Binärwert der betätigten Taste sowie auf einer Leitung das Signal, dass eine Taste gedrückt ist, ausgibt.

            Mit den Binärsignalen gehst Du auf ein Schieberegister, welches Du z.B. aus 2 ICs 4015 aufbaust. Mit der 5. Leitung (Taste betätigt) gehst Du auf ein Monoflop (kann man aus zwei NAND-Gates, einem Widerstand und einem Kondensator bauen. Das Ausgangssignal des Monoflops ist das Clock-Signal für das Schieberegister.

            Des Weiteren benötigst Du eine Schaltung, welche erkennt, wenn nach dem Reset die 4. Tastenbetätigung erfolgte, um weitere Eingaben zu sperren. Ich würde das mit einem weiteren Baustein 4015 bauen.

            Die an den parallelen Ausgängen der Schieberegister anstehenden Binärsignale würde ich dann mit 4 Bausteinen 4558 in die Ansteuersignale für die 7-Segment-Anzeigen umsetzen. Das mit dem Entprellen habe ich schon einmal gehört, ich glaube mich aber zu erinnern dass man dieses Problem ganz einfach mit einem Kondensator beheben kann?!
            Stimmt!

            Ich hoffe, ich habe Dir genügend Stoff zum Nachdenken gegeben
            merimies

            • Antwort von nach einem Tag 0 hilfreich
              Re^6: 7-Segment-Anzeigen mit Tastenfeld ansteuern

              Hallo merimies,
              kurze zwischenfrage!

              Du hast geschrieben "Dazu baust Du Dir hinter dem Tastenfeld eine Diodenmatrix auf, die Dir auf 4 Leitungen den Binärwert der betätigten Taste sowie auf einer Leitung das Signal, dass eine Taste gedrückt ist, ausgibt."
              Ich weiß zwar was eine Diodenmatrix ist (glaube ich), mir ist aber nicht klar wie ich 12 unterschiedliche signale von 12 tastern in 4 leitungen unterbringen soll

              Außerdem bust du sicher das du 4558 meinst? Ich habe gelsen der sei für LCD, und für 7 segment azeigen kämen nur 4511, 4513 oder 4543 in frage?!?!

              Moritz

            • Antwort von nach einem Tag 0 hilfreich
              Re^7: 7-Segment-Anzeigen mit Tastenfeld ansteuern

              Hallo merimies,
              kurze Zwischenfrage!
              Guten Morgen, Moritz! Du hast geschrieben "Dazu baust Du Dir hinter dem Tastenfeld eine Diodenmatrix auf, die Dir auf 4 Leitungen den Binärwert der betätigten Taste sowie auf einer Leitung das Signal, dass eine Taste gedrückt ist, ausgibt."
              Ich weiß zwar was eine Diodenmatrix ist (glaube ich), mir ist aber nicht klar wie ich 12 unterschiedliche Signale von 12 Tastern in 4 Leitungen unterbringen soll
              Zum Beispiel so?
              http://images3.bilder-speicher.de/show-image_org-080... Außerdem bist du sicher, dass du 4558 meinst? Ich habe gelesen, der sei für LCD, und für 7 Segment Anzeigen kämen nur 4511, 4513 oder 4543 in Frage?!?!
              Ich habe das noch mal nachgeprüft. 4558 ist schon möglich, allerdings kann der nur einen Strom von 10mA pro Segment treiben. Besser ist wahrscheinlich der 4511. Der 4513 ist mir unbekannt, der 4543 ist für LCD. Moritz
              Gruß
              merimies

            • Antwort von nach einem Tag 0 hilfreich
              Re^8: 7-Segment-Anzeigen mit Tastenfeld ansteuern

              Hallo merimies,
              Zum Beispiel so?
              http://images3.bilder-speicher.de/show-image_org-080...
              Wobei man sich dann eigentlich den 7-Seg-Decoder sparen kann, indem man mit 7 Dioden gleich die einzelnen Segmente ansteuert.

              Jetzt stellt sich aber die Frage ob er 7-SegAnzeigen mit Common Anode oder Common Cathode verwendet.....

              MfG Peter(TOO)

            • Antwort von nach einem Tag 0 hilfreich
              Re^9: 7-Segment-Anzeigen mit Tastenfeld ansteuern

              Hallo merimies,
              Hallo Zum Beispiel so?
              http://images3.bilder-speicher.de/show-image_org-080...
              Wobei man sich dann eigentlich den 7-Seg-Decoder sparen kann,
              indem man mit 7 Dioden gleich die einzelnen Segmente
              ansteuert.
              Ist durchaus eine Überlegung wert, aber dann müsste er, da er ja 4 Anzeigen ansteuern will, ein 7+1 Bit breites 4-stufiges Schieberegister aufbauen. Und da die Ausgänge der Standard-CMOS-Bausteine nicht den nötigen Segmentstrom treiben können, benötigt er pro Segment noch einen Treibertransistor (= 28 Transistoren). Ich sehe da keinen Vorteil , selbst wenn er Transistorarrays oder Buffer 4050 verwendet.

              In meiner Schaltung - im Morgengrauen zusammengehauen - ist noch eine Unkorrektheit enthalten: Natürlich benötigen die Leitungen "A"; "B"; "C"; "D" und "Taste betätigt" noch je einen Pull Down Widerstand (~10k), damit die CMOS-Bausteine damit korrekt angesteuert werden können. Jetzt stellt sich aber die Frage ob er 7-SegAnzeigen mit
              Common Anode oder Common Cathode verwendet.....
              Das spielt aber erst eine Rolle bei der Auswahl des Dekoders. MfG Peter(TOO)
              MfG Merimies



Keine passende Antwort gefunden? Jetzt eigene Frage stellen!