www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Zahlenumwandlung


Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Kann mir jemand sagen, wie ich am besten eine 8-Bit-Dualzahl in ein 
"LCD-freundliches" Format umwandeln kann?
Also, wie gesagt: ich hab ein Byte voll mit 0 und 1. Dieses möchte ich 
so aufsplitten, dass ich für jede Dezimal-Stelle(hunderter/zehner/einer) 
ein eigenes Byte hab. Hat jemand ne Routine in Assembler dafür? Wär echt 
nett.
thx marco

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist ganz einfach, Byte durch 10 teilen, der Rest gibt schon die 
Einer. Das Ergebnis nochmal durch 10 teilen, Rest ergibt die Zehner, 
Ergebnis die Hunderter. Zur Umwandlung in ASCII zu jeder Zahl nochmal 
0x30 addieren.

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
... wenn du mir jetzt noch sagst, wie ich durch 10 dividiere...
MfG marco

Autor: Eckhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst auch 100 abziehen, bis die Zahl kleiner als 100 ist. Bei jeder 
Subtraktion erhöhst Du Byte1 um 1. Danach fängst Du an 10 abzuziehen bis 
das ergebnis kleiner 10 ist und erhöhst Byte2. Byte 3 ist dann der Rest 
den Du übrig hast. Ist eigentlich ne Division in einzelschritten aber 
was solls.


Eckhard

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.atmel.com/atmel/products/prod203.htm
avr200, da ist (fast) alles drin, was man so als Assemblerprogrammierer 
für Multiplikation/Division ganzer Zahlen braucht.

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh, die Site kannte ich noch nicht. Steht ja wirklich (fast) alles drin 
:-)
Habs aber mit der Subtraction gemacht, da ich Stellen sofort in der 
richtigen Reihenfolge ausgeben kann, ohne Register für die 
Zwischenspeicherung zu verwenden. Die Dinger werden nämlich langsam 
knapp bei mir.

thx

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.