Forum: Mikrocontroller und Digitale Elektronik AVR, ASM: Register Inhalt zu LCD Anzeige konvertieren


von Black Z. (black)


Lesenswert?

Hallo,

ich hoffe Ihr könnt mir bei meinem kleinen Projekt/Problem weiterhelfen.
Mein System: Ein ATMega8515 mit STK500-Board, programmiert wird mit 
AVR-ASM.

Erstmal eine kleine Hintergrundinformation, was mein Projekt betrifft:
Ich will mir einen Up/Down Counter bauen, der mir eine Zahl zwischen 0 
und 512 auf einem LCD und gleichzeitig auf 9 Portbits Digital ausgibt.

Derzeitiger Stand sieht, wie folgt, aus:
Ich kann mit 2 Tastern (Up/Down) 8 LEDs Binär zählen lassen, so wie ich 
die Ausgabe mir den Portbits haben wollte.

Jetzt das Problem(chen):
Der nächste Schritt sähe so aus, dass ich nun das Register, wo ich 
hoch/runter zählen lasse auslese und die einzelnen Stellen der 
Dezimalzahl extrahiere und wiederrum in einzelne Register speichere.
Zum Verständnis ein kleines Beispiel:
Das LCD soll mir 128 anzeigen. Im Register steht 10000000. Am 
Ausgabeport leuchtet die dementsprechende LED. Nun müsste ich halt zur 
Darstellung am LCD die Dezimalzahl in die einzelnen Elemente aufspalten, 
d.h. "1", "2", "8" und diese soll er mir je nach dem in 1 oder 3 
Register speichern, sodass ich dann später über die LCD-Tabelle die 
dementsprechenden Codes für das LCD laden kann.

Ich hoffe, ich konnte Euch mein kleines Problem gut genug erklären.
Vielen Dank für Eure Hilfe,

Black

von peter-neu-ulm (Gast)


Angehängte Dateien:

Lesenswert?

Mal in meine Sprache übersetzt:

Eine 9-Bit-Zahl soll in eine dreistellige BCD-Zahl übersetzt werden, 
beide sollen ausgegeben werden, als 9-bit-Binärzahl und als dreistellige 
BCD-Zahl an ein LCD-Modul.

Dazu könnte man die application note AN204/AVR 204 heranziehen.

oder den Codeschnipsel im Anhang

von AVRFan (Gast)


Lesenswert?

Dein Problem(chen) ;-) nennt sich Binär-zu-BCD-Umwandlung.  Gibt 
haufenweise Artikel und Code hier zu dem Thema.  Bemüh mal die Suche mit 
"binär BCD" als Suchstring.  Tipp: Auch in der Codesammlung gibts 
einiges dazu zu entdecken.

von Karl H. (kbuchegg)


Lesenswert?

AVRFan wrote:
> Dein Problem(chen) ;-) nennt sich Binär-zu-BCD-Umwandlung.  Gibt
> haufenweise Artikel und Code hier zu dem Thema.  Bemüh mal die Suche mit
> "binär BCD" als Suchstring.  Tipp: Auch in der Codesammlung gibts
> einiges dazu zu entdecken.

Noch ein Tip:
Auch im Tutorial kommt diese Problemstellung immer wieder vor.

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.