Forum: Mikrocontroller und Digitale Elektronik zahl in einzelne Ziffern zerlegen für 7-seg PIC


von Jens P. (Gast)


Lesenswert?

HEy Leute, bin die ganze zeit am rumüberlegen wie ich es hinbekommen 
könnte wenn ich eine Zahl habe, das ich diese in ihre einzelnen ziffern 
"auflösen" könnte um diese dann auf ner 7-segment-anzeige auszugeben.

gibt es dazu irgendwo vl schon ein beispiel? wollte diesen teil heute 
noch fertig machen, steh aber ,leider grad total aufm schlauch.


greets, Jens

von Lars (Gast)


Lesenswert?

Division der Zahl durch 10, durch hundert, durch tausend... um die 
einzelnen Ziffern BCD kodiert zu erhalten.
Ich glaube es ist auch etwas im AVR Tutorial drin, aber da wird 
subtrahiert.

von Ralf M. (Firma: Titel) (ego)


Lesenswert?

Wenn's für einen PIC sein soll da gibt es von Microchip eine AN. Da mußt 
du nach Dezimal zu BCD suchen.

MFG
ralf

von Jens P. (Gast)


Lesenswert?

also das problem ist nicht direkt wie ich den BCD-Code mache, die 
tabelle steht schon. Mir geht es also darum aus 124 eine   1 und eine 2 
und eine 4 zu machen. Ich glaube di erste antwort dürfte in diese 
richtung gehen.

von H. W. (digger72)


Lesenswert?

Ich denke , du verwechselst da was.
In der Tabelle machst du aus der auszugebenden
Zahl (eine Stelle) den entsprechenden 7-Segmentcode.
BCD-Code heisst, das in einem Byte zwei Stellen
einer Dezimalzahl codiert sind,
z.B 95h als  BCD = 95 (dezimal)
    95h normal =  149.
Hast du hier aber nicht.
Der zu wandelnde Wert ist eine Hex-Zahl (0-255).
Es führen bekanntlich viele Wege nach Rom,
imho dauern zwei Divisionen zu lange
(Rest muss auch berücksichtigt werden).
Einfacher wäre es, in einer Schleife erst jeweils
100 und dann 10 so oft zu subtrahieren, bis ein Überlauf
stattfindet und dabei Variablen für die 100er und 10er
hochzuzählen.
Der Rest entspricht der 1er Stelle.

MfG
Digger

von Jens P. (Gast)


Lesenswert?

wird wohl noch die beste lösung bleiben. merci, ich gehe ans probieren!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.