Thomas W. schrieb:
> Hallo
>
> Ich habe 3 einzelne 7-Segment Anzeigen und möchte nun, daß diese
> den dezimalen Wert eines 8-bit Registers eines PIC anzeigen.
>
> Also 1111 1111 soll 2 5 5 anzeigen.
> 0000 1110 soll 0 1 3 anzeigen
>
> Dazu muß ich im PIC die bits in die 3 Ziffern je Segment zerlegen.
> Alles andere ist vorhanden. Also auch Software, die eine Ziffer in einem
> 7-Segment anzeigt.
>
> Wie wandle ich das am einfachsten in die 3 Ziffern um?
sukzessive Subtraktion und mitzählen ist am Einfachsten, wenn man keine
schnelle Division zur Verfügung hat.
Wieviele Hunderter sind in 245?
Anzahl Hunderter = 0
245 - 100 = 145 gibt keinen Unterlauf ANzahl Hunderter = 1
145 - 100 = 45 gibt keinen Unterlauf Anzahl Hunderter = 2
45 - 100 = gibt einen Unterlauf
Anzahl Zehner = 0
45 - 10 = 35 gibt keinen Unterlauf Anzahl Zehner = 1
35 - 10 = 25 gibt keinen Unterlauf Anzahl Zehner = 2
25 - 10 = 15 gibt keinen Unterlauf Anzahl Zehner = 3
15 - 10 = 5 gibt keinen Unterlauf Anzahl Zehner = 4
5 - 10 = gibt einen Unterlauf
und die Einer, 5, bleiben noch übrig
245 kann man also zerlegen in
2 Hunderter, 4 Zehner und 5 Einer