www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 8 bit Zahl in ASCII Code umwandeln?


Autor: Micheal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forumsteilnehmer,

ich habe ein Problem, wo ich jetzt denkmäßig gar nicht mehr
weiterkomme.

In der Speicheradresse 0x0060 liegt die Zahl z.Bps. 42. Diese möchte
ich auf einem LCD Display 2*16 Zeichen ausgeben lassen. Dies bedeutet
ja das ich einmal die 4 und dann die 2 ausgeben lassen muss. Diese
würde ich vorher gerne noch einmal im Speicher ablegen.

also folgendes:

0x0060 -> 00101010
       |
       | Umwandeln und Speichern
       V

0x0060 -> 00000100 = 4
0x0062 -> 00000010 = 2


Ich hoffe ich kann mich ratsuchend an Euch wenden und würde mich über
jede Idee bzw. Anregung freuen.

Gruß
Michel

Autor: Dieter B (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Micheal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Dieter,

danke für den Link, leider programmiere ich Assembler, da ich von C
keine Ahnung habe :(.

Gruß
Michel

Autor: Khani (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael,

ist ziemlich simpel : Algorithmus quick and dirty.

1. 10000 von Wert abziehen
2. x inkrementieren
3. Wert > 0 ?
   ja   : ab zu 1.
   nein : ab zu 4.
4. x dekrementieren und ausgeben (oder irgendwo speichern)
5. x = 0, Wert = Wert +10000
6. 1000 von Wert abziehen
7. x inkrementieren
.....
wenn die Sache mit den Zehnern zu Ende ist, dann bleiben nur noch die
Einser.

Kurz gesagt einfach solange die höheren Stellen abziehen, bis es
negativ wird und dann mit der nächstniedrigen Stelle weitermachen. In
asm kann man das schön implementieren, wenn man es richtig gut machen
will, dann muss man ein bißchen tricksen - wurde aber im Forum schon
mal behandelt, wie man das macht (peter dannegger ?)

MfG, Khani

Autor: edi.edi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#00000010b + #030h ---> #032h ascii...2 dezimal

Autor: Micheal (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Khani,

werde mich mal dran setzn

gruß

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.