-
        

Ergebnis 1 bis 10 von 10

Thema: Binär zu 2x2 7 Segment Decoder

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    5

    Binär zu 2x2 7 Segment Decoder

    Anzeige

    Hallo,
    ich bin neu hier
    und habe auch gleich eine frage:

    Ich hab eine "Binäruhr" und möchte diese erweitern, damit auch leute die das nicht verstehn die Uhrzeit ablesen können.

    Also ich habe 4 bit für die Stunden.
    Und 6 Bit für die Minuten.

    Ich habe da an einen PIC16F871

    Die Stunden will ich auf zwei Sieben Segment anzeigen darstellen
    und die Minuten auf den 2 anderen.

    Ich will nix multiplexen oder so, das wird mir sonst zu kompliziert.

    Ich hab gedacht das ich das mit ner wertetabelle abfrag.
    einmal die stunden:
    Bsp: 1010 und dann mit anderen ports die zwei sieben segment anzeigen ansteuere, sodass die linke eine 1 und die rechte eine 0 hat. QUasi (10 Uhr)

    Aber ich hab keine AHnung mit welchem Befehl ich das machen muss.
    Kenn mich mit PALs halt besser aus, aber da reichen die ports nicht.
    Wär super wenn ihr mir ein zwei zeilen von der Tabelle schreiben könntet.

    Oder fällt euch was besseres ein?


    Grüße Thomas

  2. #2
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    wie werden deine daten angezeigt, echt binär oder was eigenes?
    Es gibt fertige decoderbausteine, welche z.B. einen 4-Bit Wert in 7-Segment für LC oder LED Anzeigen decodieren. wäre das was?
    Hier mal ein Datenblatt: http://focus.ti.com/lit/ds/symlink/sn74ls47.pdf

    Gut/OKAY ist 70er/80er Jahre Technologie, aber es muss ja nicht immer ein Prozessor sein...
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    5
    ja da kommen richtge binärwerte raus.

    den baustein kann ich leider nicht nehmen, weil ich ja von 0-12 kommen muss (bzw. von 0-59) und an dem kann man nur 1 7-seg anzeige anschließen.

    mir wäre ein ic auch lieber wie ein µC aber ich hab leider keinen entsprechenden gefunden.


    Grüße Thomas

  4. #4
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Es wäre vermutlich einfacher gleich einen µC für die richtige Uhr zu nehmen. Eventuell auch eine Uhr mit zusätzlichen Binärausgang, oder halt umschaltbar.

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    5
    klar wäre das einfacher aber die binäruhr hab ich halt schon und wollte die nur um ein gimmick erweitern =)

    es muss doch möglich sein das iwie mit nem programm zu lösen.


    Grüße

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    Zitat Zitat von TommyP87
    ja da kommen richtge binärwerte raus.

    den baustein kann ich leider nicht nehmen, weil ich ja von 0-12 kommen muss (bzw. von 0-59) und an dem kann man nur 1 7-seg anzeige anschließen.

    Grüße Thomas
    OK dann muss wohl doch ein Contoller ran.
    Bedenke: 0-12 Eingänge wären schon mal 12 Pins für deine Eingänge, dann noch 14 Pins als Augang für deine zwei 7-Seg. anzeigen sind dann schon 26 IO Pins nötig. Das bedeutet mindestens ein ATmega16, alleine wegen der benötigten IO's.

    evtl. schreib ich dir am Wochenende ein kleines Prog. Ist nicht sehr schwer.

    Aber nochmals zu Deiner Codierung:
    ich glaube nicht dass es ein echter BCD Code ist, wenn es wie die Binäre Uhr in Berlin ist.
    Code:
    12 wäre z.B. 1100
    so wie ich Dich verstehe hast du für 12 10000000000
    Und was machst Du mit den Minuten

    Die Beliner Uhr hat soweit ich mich erinnere Lampen für 5-Minuten
    und Lampen für Minuten

    Code:
    47 Minuten wären dann 111111111000 (9x 5er Minuten)
                          und     0010 (2 Minuten)
    
    Als BCD-Code wäre 47 allerdings 101111.
    Also erklär mal biitte ganz genau was Deine Uhr anzeigt und wie!
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    5
    also: die stunden und minuten sind getrennt.
    Stunden sind 4 bit
    und Minuten 6 andere bit

    wird getrennt voneinander in 2 reihen angezwit erste reihe stunden zweite reihe minuten.

    also wäre
    1100 12 Stunden
    101010 42 Minuten
    also 12.42 Uhr

    Bei den siebensegmentanzeigen der Stunde kann ich mir bei der ersten stelle jede Menge segmente sparen, da ja nur eine 1 dargestellt werden muss. und dafür brauch ich ja nur die segmente a und b.

    Ich würde das ganze ding also schon gern mit nem pic aufbauen, da wir mit denen im geschäft auch arbeiten.


    Grüße

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von darwin.nuernberg
    Registriert seit
    08.08.2004
    Ort
    A, A
    Alter
    53
    Beiträge
    1.305
    Blog-Einträge
    1
    So währen isch geschrieben habe hast Du bereits geantwortet,
    wenn ich jetzt was falsches dastehen habe dann eben nochmal...




    Wenn Deine Uhr z.B. aussieht wie die EchteMengenlehreuhr Uhr
    (siehe http://de.wikipedia.org/wiki/Mengenlehreuhr) wie sie früher am Kudamm (Kurfürstendamm) stand,
    dann brauchen wir schon 23 Eingänge (4x5h Anzeige, 4x 1h Anzeige, 11x 5Min Anzeige und 4x 1Min. Anzeige).
    Dür die Darstellung als Digitaluhr mit Stunden und Minuten kommen dann nochmal 4x7 Segmente 28 Ausgänge hinzu.

    Ich fasse mal zusammen: 23+28= 51 I/O-Pins !!!
    Hinzu käme dann noch 23 Optokoppler, da vermutlich deine Mengele Uhr mit anderen Spannungen arbeitet als der Prozessor. Gut für die 7-Segment Anzeige (LED) kämen wir zur Not noch ohne Treiber aus.

    Das hieße dann mindestens einen ATmega128!

    Und der ganze Aufwand nur weil Du nicht mit Multiplexen arbeiten willst.
    Alternativ könnte man auch mit einem kleineren Prozessor auskommen und dafür mit mehreren I²C Portexpandern (PCF 8574) sowohl auf der Eingangs als auch auf der Ausgangsseite.

    Also dann ein ATmega8 4xPCF8574 für die 7-Segment Anzeigen, 4xPCF8574 als Eingang + Optokoppler.

    Der Ganze Aufwand nur für eine Uhr?
    Ist das immer noch Dein Ernst?

    Ich rechne mal zusammen


    Code:
    1x ATmega 8                   ca. €  1,35 =  1,35
    8x PCF8574                    ca. €  1,25 = 10,00
    6x 4-fach Optokoppler (IQL74) ca. €  0,95 =  5,70
    4x 7-Segment Anzeigen         ca. €  0,55 =  2,20
    1x Steckernetzteil            ca. €  8,40 = 8,40
    Dann Kommt noch die Platine das löten und diversers anderes Kleinmaterial (Kondensatoren, Spannungsregler, Widerstände uws. usf.), das Programm dazu.
    Und das alles nur um eine Umsetzung der Anzeige einer Uhr zu erhalten.

    so daumen mal Pi etwa 30 bis 40 Euro's, etwas heftig oder?

    Mit Pic's kenn ich mich nicht aus, aber daer Aufwand (das drumherum) bleibt Dir jedoch kaum erspart. (anstelle des ATmega dann eben 'nen PIC)

    ooops, wohl etwas üner das Ziel hinaus geschossen....

    So Angepasst:
    10 Bit Eingänge, das wären dann eben "nur" 3 der Optokoppler
    Code:
    1x PIC 16Fxxx                 ca. €  x,yy =  x,yy
    8x PCF8574                    ca. €  1,25 = 10,00
    3x 4-fach Optokoppler (IQL74) ca. €  0,95 =  2,85
    4x 7-Segment Anzeigen         ca. €  0,55 =  2,20
    1x Steckernetzteil            ca. €  8,40 = 8,40
    Gruss
    Darwin (meine Projekte sind auf meiner Pinnwand zu finden)

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    01.10.2009
    Beiträge
    5
    ich wertde jetzt mal versuchen das ganze mit 2 pals oder gals zu lösen,
    die stunden funktionieren damit auf jeden fall.
    bei den minuten muss ich evtl dann was größeres nehmen.

    am montag im geschäft mal schauen was da so geht =)


    Grüße

  10. #10
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    17.08.2004
    Beiträge
    1.065
    Es wurd noch nicht genannt meine ich. Bei Sprut.de findest du den Code für eine Multiplexing-Ansteuerung einer 7-Seg Anzeige als Lernbeispiel. Wenn du natürlich nicht Multiplexen möchtest, musst du entweder genug Pins haben, oder mit Latches arbeiten. Ich finde da Pals schon etwas mit Kanonen auf Spatzen geschossen
    Ich habe für eine Binär Uhr vor einiger Zeit die Anzeige gemacht, dabei hab ich LEDs, ULN2003 als Treiber und die 74HC164 Schieberegister genommen. Da kommst du also mit 2 Pins völlig aus und kannst mit einem Unterprogramm deine Zeitanzeige hochschieben. Brauchst halt für jedes Segment ein Schieberegister und die gibts bei Reichelt für 25ct das Stück. Gibts auch im schnuckeligen SMD Gehäuse (so hab ich die verbaut).

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •