Forum: Mikrocontroller und Digitale Elektronik LCD mit dem 4433


von Jochen (Gast)


Lesenswert?

Hallo, ich habe die LCD schaltung aus dem Tutorial aufgebaut und auch in
den Controller geladen, was soweit auch ganz gut geht.
Nur wenn ich jetzt den text "Test" ändern will z.b. in "Hallo" und
das programm wieder in den Controller lade, einschalte, kommt "Test".
Mein Programm sieht folgendermasen aus.

.include "4433def.inc"

.def temp1 = r16
.def temp2 = r17
.def temp3 = r18


           ldi temp1, LOW(RAMEND); LOW-Byte der obersten RAM-Adresse
           out SPL, temp1
           ldi temp1, HIGH(RAMEND); HIGH-Byte der obersten RAM-Adresse
           out SPH, temp1

           ldi temp1, 0xFF    ;Port D = Ausgang
           out DDRD, temp1

           rcall lcd_init     ;Display initialisieren
           rcall lcd_clear    ;Display löschen

           ldi temp1, 'H'     ;Zeichen anzeigen
           rcall lcd_data

           ldi temp1, 'a'     ;Zeichen anzeigen
           rcall lcd_data

           ldi temp1, 'l'     ;Zeichen anzeigen
           rcall lcd_data

           ldi temp1, 'l'     ;Zeichen anzeigen
           rcall lcd_data

           ldi temp1, 'o'     ;Zeichen anzeigen
           rcall lcd_data


loop:
           rjmp loop

.include "lcd-routines.asm"        ;LCD-Routinen werden hier
eingefügt


Bin über alles dankbar. Jochen.

von Merle (Gast)


Lesenswert?

Der Code scheint soweit zu stimmen.

Schreib mal statt:

           ldi temp1, LOW(RAMEND); LOW-Byte der obersten RAM-Adresse
           out SPL, temp1
           ldi temp1, HIGH(RAMEND); HIGH-Byte der obersten RAM-Adresse
           out SPH, temp1


nur:


           ldi temp1(RAMEND); LOW-Byte der obersten RAM-Adresse
           out SPL, temp1


Dann müsste es funktionieren.

von Jochen (Gast)


Lesenswert?

@ Merle, den Code habe ich jetzt geändert, nur geändert hat sich leider
gar nichts, es steht immernoch "Test" da.

Ich schreibe jetzt alles nochmal neu. Mal sehen obs was bringt.

Jochen.

von Jochen (Gast)


Lesenswert?

Jetzt geht es, ich weiß zwar nicht warum, aber es geht.

@ Merle, Danke nochmals.

Jochen.

von Merle (Gast)


Lesenswert?

Bitte Bitte.

Gern geschehen freut mich wenns geht.

Mfg. Merle

von Merle (Gast)


Lesenswert?

Sag mal Programmierst du mit Yaap??

von Jochen (Gast)


Lesenswert?

Ähm, nö, mit ponyprog. Warum?

von Merle (Gast)


Lesenswert?

Naja weil bei yaap und bei Ponyprog kann es manchmal vorkommen das es
den AVR nicht ganz Löscht und dann funzt das neue Programm nicht. Also
immer 2 mal Löschen dann geht's.

Wahrscheinlich hat es drum nicht funktioniert.

Mfg. Merle

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.