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? Danke Thomas
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
unsigned char nHex, nHunderter, nZehner, nEiner; nHunderter = nHex / 100; nHex = nHex - (nHunderter * 100); nZehner = nHex / 10; nEiner = nHex % 10; mfg.
Sorry, ich vergaß: Kann das nur in PIC Assembler machen ;-) Sonst wärs ja einfach. Danke, das mit dem "wieviele sind in" ist ne Möglichkeit. Gruß Thomas
Wenn der PIC besser dividieren könnte als der Uropa-8051 wäre es ja schön. Beim 8051 bekomme ich Quotient der Division im Akku und den Rest im Hilfsakku. Damit ist die Aufgabe mit ein paar mov und 2x div lösbar. unn tschuess B.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.