PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Binärumwandlung zu 3Digit dezimal



tholan
14.02.2008, 12:56
Ich habe 3 7-SegmentZiffern deren Bitmuster
(Zeichen 0 - 9) schon in einem Array definiert sind.
Die möchte ich seriell über 3 angeschlossene SiPo Schieber zur Anzeige bringen.
Nun muß ich wohl einen 8- Bitwert in 3 8-Bitwerte
für die dezimale Darstellung des Wertes auf diesen 3 Digits zerlegen.

Das Byte für das untere Digit soll also den Anteil des Wertes, der kleiner als 10 ist erhalten.
Das Byte für das mittlere Digit soll den Anteil des Wertes, der (größer als 9 und) kleiner als 100, minus der Einer erhalten.
Das Byte für das höchste Digit soll den Anteil des Wertes, der größer als 99, minus der Einer und minus der Zehner erhalten.
Dafür muß ich dann wohl "Einer", "Zehner" und "Hunderter" des Wertes ermitteln.
Bin ich da auf dem richtigen Weg?
Läßt sich das mit einfachen Bitoperationen für einem ATmega8 realisieren?
vielen Dank,
tholan

Gock
14.02.2008, 14:14
Hier stehen Algorithmnen, wie man sowas macht,
http://www.atmel.com/dyn/resources/prod_documents/doc0938.pdf
Gruß

tholan
14.02.2008, 16:34
Super!
"8-bit Binary to 2-digit BCD Conversion"
Wenn ich das blicke, dann kriege ich bestimmt die
Hunderter auch noch hin.
Ich danke Dir vielmals,
tholan