www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik 16 Bit Zahl am LCD in decimal Form ausgeben


Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen!

Ich benutze den Atmega8 und habe folgendes Problem: Ich habe einen
16Bit Wert über zwei Register verteilt (r19 und r20). Diesen Wert
möchte ich in der Form: 00000-65535 an einem LCD ausgeben. Hat jemand
eine Idee wie man sowas anstellt?

Flo

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab was vergessen: Den LCD kann ich ansteuern. Es geht mir nur um die
Umwandlung in Decimalform, sodass ich fünf bytes in fünf anderen
Registern an den LCD ausgeben kann.

Flo

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
5 x durch 10 dividieren, der Rest gibt jeweils die entsprechende
Dezimalstelle, das Ergebnis wird weiter dividiert, dazu dann jeweils
0x30 addieren.
Bsp: 65535/10 =6553, Rest 5, +0x30=0x35 (ASCII 5)
6553/10=655, Rest 3 ...

Gibt auch noch die Subtraktionsmethode, ich bevorzuge die Division,
kann auch leicht in einer Schleife erledigt werden.

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort! Allerdings möchte ich den ganzen Spass
in Asm zusammen bekommen. Es ergeben sich zwei probleme mit denen ich
nicht zurechtkomme:
1) der 16Bit wert ist über zwei Register verteilt.
2) keine division
die einzige idee die ich hätte wäre dass man einen weiteren, gleichen
16Bit über zwei register verteilt, den decrementiert und vergleicht mit
10^n... das ist aber ziemlich hässlich bzw. zeit/speicher auswendig...

gruß
Flo

Autor: crazy horse (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
anbei ein paar Routinen, alles kein Problem

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
super! genau das brauche ich :)danke!

gruß flo

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.