Forum: Mikrocontroller und Digitale Elektronik binärwert in Dezimal


von Axel(ojojo) (Gast)


Lesenswert?

Hi, wie kann ich einen 8Bit Wert (0-255) als (dreistellige) Dezimal Zahl 
auf einem Display ausgeben ?

jo
Axel

von XCyber (Gast)


Lesenswert?

ich verwende imagecraft icc avr dort gibt es die funktion
void itoa(char *buf, int value, int base)
die dazu verwendet werden kann.
sonst kannst du es einfach selbst programmieren:
255 DIV 100 = 2
(255 - 2*100) DIV 10 =  5
(255 - 2*100 -5*10) = 5
oder
255 DIV 100 = 2
(255 MOD 100) DIV 10 = 5
(255 MOD 10) = 5

du musst dann jeweils zu der erhaltenen zahl (die rechts vom = steht) 
den offset für das zeichen '0' auf deinem display hinzuzählen.
zb. hast du die ziffern 1, 4 und 8 für 148 erhalten und die 0 auf deinem 
display hat dem dezimalwert 48 so erhältst du die 3 zeichen für dein 
display indem du jeweils 48 addierst, also: 1+48=49, 4+48=52 und 
8+48=56. diese werte kannst du dann nacheinander an dein display senden 
und du solltest die dezimaldarstellung des bytewertes sehen.

vielleicht gibs auch einfachere methoden als die die ich mir gerade 
ausgedacht habe, falls du was rausfindest kasst du es ja hier posten.

lg
XCyber

von Thomas (Gast)


Lesenswert?

Hallo,

es binär-decoder für die Ansteuerung der displays du gibts einfach den 
Wert an den Port und der Wandler gibts am Display richtig aus.

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.