AVR, ASM: Register Inhalt zu LCD Anzeige konvertieren

OP #911194
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
Gast #911208
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
Angehängte Dateien:
Gast #911211
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.
#911364
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren