-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 16

Thema: 2stellige 7 Segmentanzeige über BCD Decoder

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.03.2006
    Beiträge
    200

    2stellige 7 Segmentanzeige über BCD Decoder

    Anzeige

    Hallo,

    da ich über die Feiertage mal wieder etwas Zeit habe...

    habe aktuell das Problem, dass ich nicht weiß wie ich mehr als eine 7 -Segmentanzeige über BCD-Decoder ansteuern kann.
    Irgendwie müsste ich die 1er und 10er Stelle voneinander trennen können.
    Ich mache das nur aus Übungszwecken und weil ich die Bauteile dafür zu Hause habe, ich weiß dass es auch andere Möglichkeiten gibt

    Noch was, wieso braucht der Debugger eigentlich so lange? Mit einem Gigaherzrechner müsste das Teil doch in Echtzeit laufen können??
    Stattdessen braucht er dafür die 10fache Zeit, irgendwie unglaublich

    Gruß, JK

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Die meisten machen sowas mit MUltiplex, d.h. der BCD-DEcoder versorgt die 7-Segmente gemeinsam, durch das einzelne Ansteuern der Kathoden von jeder anzeige legst du fest, welche leuchtet. Bei flottem Betrieb sieht es dann so aus, als würden beide gleichzeitig was zeigen.
    Klaro ?
    Am BDC die 1-er stelle, die Kathode von der 1-er LED runter, also zeigt sie die 1-er, Kathode wieder rauf.
    Dann am BCD die 10-er stelle anlegen, die Kathode von der 10-er Led runter, man sieht die 10-er. Kathode wieder rauf.
    Und das eben flott.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.03.2006
    Beiträge
    200
    aha, noch ein ruheloser Programmierer

    Nun ja, genau das habe ich schon realisiert über einen Timer. Funktioniert auch wunderbar, dank Sebastian seinem Tutorial.
    Was mir jetzt fehlt, wie ich aus einer bliebigen Zahl die 1er und 10 Stelle extrahieren kann. Anders ausgedrückt, wie mache ich aus einer 15 eine 5 und eine 1? Die 15 könnte z.B. das Ergebnis einer Addition sein, dass einem der Register steht.

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.836
    Man muß man klären, was mit "15" gemeint ist, sonst reden wir schnell aneinander vorbei.
    1) "15" => 0x0F
    2) "15" => 0x15
    im letzeren fall mußt du nur die Nibbles auseinanderkriegen

    temp = 0x15
    temp 4 mal nach rechts shiften --> 0x01 --> Zehner
    temp = 0x15
    temp AND 0x0F --> 0x05 ----> Einer
    Das kannst du beim Multiplexen "on the fly" machen

    bei 1) mußt du aber zuerst 15 --> 1 x 10 und 5 x 1 zerlegen
    gibt's mehrere Methoden.
    z.b durch zehn dividieren (ganzzahlige), bis nicht mehr geht -> Zehnerstellen , der Rest sind die 1-er.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Roboter Genie Avatar von robocat
    Registriert seit
    18.07.2006
    Beiträge
    935
    in c könnte man machen:
    a=x/10; // 15->1 zehnerstelle
    b=x%10; //15->5 einerstelle

    man könnte aber auch machen:
    a=0;
    while(x>=10){ x=x-10; a++; }

    danach hast du in a die zehner, in x den rest.

    gruesse

    EDIT: hatte pseudocode da stehen, hab ich geändert

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.09.2007
    Beiträge
    162
    So ganz war die Hardware-Seite noch nicht geklärt, glaube ich Wo fleißt den der Strom der Kathode hin? Man kann sie ja nun nicht mehr an Ground legen... Wenn alle 7 Segmente "glühen" (mit üblicherweise 10mA), dann muss da jemand 70mA "versenken".

    Es werden da gerne Universaltreiber genommen (ULN2803), aber ein einfacher NPN-Transistor tut es natürlich auch. Mit einem 3:8 Decoder kann man mit drei Beinchen dann auch 8 Stellen ansteuern.
    Da sich die Leistung aufteilt, wird sowas natürlich nicht so schrecklich hell.
    Wirklich hell wird's nur mit Latches..

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.03.2006
    Beiträge
    200
    naja, ist nur ne Testschaltung die ich auf einem Steckbrett aufgebaut habe.
    Die Leistung meines BCD-Decoders ist offensichtlich ausreichend, Treiberbausteine habe ich nicht verwendet. Im Moment zeigen beide Segmentanzeigen die selben Nummern an, im Wechsel natürlich.

    Inzwischen habe ich auch ein entsprechendes Tutorial auf mikrocontroller.net gefunden. Dort wird eine Funktion mit dem Namen out_number verwendet, das musses sein. Da muss ich nur noch durchsteigen.

  8. #8
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.09.2007
    Beiträge
    162
    Der Strom muss nicht nur irgendwo herkommen (da ist dein BCD-Decoder gerade noch ausreichend für), sondern auch irgendwo "verschwinden".. Denk mal drüber nach

  9. #9
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.03.2006
    Beiträge
    200
    na in der Anode der 7 Segmentanzeige natürlich, wo denn sonst?!
    Hab ich das Problem jetzt nicht verstanden?

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    27.09.2007
    Beiträge
    162
    ...und wie dann weiter?

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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