-
        

Ergebnis 1 bis 7 von 7

Thema: BCD Anzeige zweistellig aber wie?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.05.2005
    Ort
    Hannover
    Alter
    39
    Beiträge
    135

    BCD Anzeige zweistellig aber wie?

    Anzeige

    Hallo,
    also habe heute den ganzen Tag mit einem Mega 8 experementeirt.
    Und bin glücklich, das nun ne menge Lämpchen blinkén
    Programiere ihm in Pascal.
    Jetzt habe ich eine BCD Anzeige und einen 74LS47 Treiber angeschlossen, wie bekomme ich es jetzt hin das er nicht nur von 0-? zählt sonder mit einem zweiten IC und BCD bis 99???
    Nutze Port D um 8Bit ausgabe nutzen zu können. Hatte gehofft das geht mit zwei 74Ls47

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    08.08.2004
    Ort
    Stuttgart
    Alter
    40
    Beiträge
    11
    Huhu,

    so schwierig sollte das nicht sein. Je nach dem mit was Du programmierst (Assembler / Basic / C) musst Du halt deine Zahl in Zehner und Einer aufteilen und dann auf die jeweiligen Ports ausgeben.

    In C könte das in wtwa so aussehen:

    int zahl, zehner, einer;
    zahl = 57;
    //Zehner berechnen
    zehner = zahl / 10;
    einer = zahl %10;
    PORTD = (zehner << 4) | einer;

    Grüßle Jochen

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    08.08.2004
    Ort
    Stuttgart
    Alter
    40
    Beiträge
    11
    mmmh,

    wer lesen kann ist klar im vorteil
    >Programiere ihm in Pascal

    naja, aber der Code sollte in Pascal übertagbar sein

    Ist halt schon spät / früh

    Gääähn

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.05.2005
    Ort
    Hannover
    Alter
    39
    Beiträge
    135
    hmm, stimmt, so sollte es gehen. Aber wie schreibt man das nun so, das ich das gleiche Port nutzen kann also für die einer bit 0-3 und für die zehner 4-7?
    Wäre einfacher als die verdrahtung wieder zu ändern

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    08.08.2004
    Ort
    Stuttgart
    Alter
    40
    Beiträge
    11
    Na so wie ich es geschrieben habe
    Indem Du die Zehner mit einem Shift-Befehl um 4-Bits nach oben schiebst.
    in C geht das mit dem Befehl
    (Zehner << 4)
    Wie das in Pascal geht weiß ich nimmer sollte aber mit Dr. Google leicht herauszfinden sein.

    Noch mal als Erklärung was folgender Befehl macht:
    PORTD = (zehner << 4) | einer;

    1. Wird die Zehner-Zahl um vier Bits nach oben geschoben also an PD4-PD7
    2. Dann wird mit der Einer-Zahl Oder-Verknüpft -> die Einer-Zahl ist auf PD0-PD3

    So, viel Spaß noch beim Basteln, Jochen

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.05.2005
    Ort
    Hannover
    Alter
    39
    Beiträge
    135
    klingt gut, habe jetzt erstmal verschiene Port genommen, werde es aber nochmal ändern.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    09.05.2005
    Ort
    Hannover
    Alter
    39
    Beiträge
    135
    hmm, klappt ja alles super, aber bekomme ich so auch eine 3te und 4te stelle?
    Er zählt z.B. bis 99 und macht dann bei 100 Murcks, da der BCD Chip bis 15 zählt.
    Ich müsste also bei 99 an den dritten chip übergeben.
    habe eine Verdrahtung wie diese hier
    http://www.dumdididum.de/blackstrom/...r_uhr/plan.gif
    die zahlen werden dadurch angezeigt, das er immer auf alle gleichzeitig die gleichen Bits anlegt, aber immer nur das in diesem Momdent richtige LED BCD einschaltet.

Berechtigungen

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