www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD mit dem 4433


Autor: Jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jochen (Gast)
Datum:

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

@ Merle, Danke nochmals.

Jochen.

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bitte Bitte.

Gern geschehen freut mich wenns geht.

Mfg. Merle

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sag mal Programmierst du mit Yaap??

Autor: Jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm, nö, mit ponyprog. Warum?

Autor: Merle (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

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.