Hallo,ich habe ein Lcd an einem at90s2313 angeschlossen.Es wird initialisiert und ich kann auch mit ldi temp1, 'n' rcall lcd_data das Zeichen anzeigen lassen.Mein Problem ist,wenn ich mir einen konstanten Text anzeigen lassen will.Ich hab folgendes probiert: ldi ZL,Low (begruessung) ; Adresse des Strings in den ldi ZH, HIGH(begruessung) ; Z-Pointer laden rcall lcd_flash_string In lcd_flash_string steht: lcd_flash_string: push temp1 push ZH push ZL lcd_flash_string_1: ld temp1,Z+ cpi temp1,0 breq lcd_flash_string_2 rcall lcd_data rjmp lcd_flash_string_1 lcd_flash_string_2: pop ZL pop ZH pop temp1 ret Die Anweisung begruessung: .db"Bin bereit",0 steht am ende des Programms.Wenn ich es so ausführe,erscheinen auf dem Display nur 12 schwarze Kästchen die unterstrichen sind.Da ich ja die gleiche Routine zum anzeigen benutze,kann der Fehler ja nur im Laden mit dem Z pointer liegen.Wäre nett,wenn mir jemand helfen könnte.
Hi >ldi ZL,Low (begruessung) ; Adresse des Strings in den >ldi ZH, HIGH(begruessung) ; Z-Pointer laden -> ldi ZL,Low (begruessung<<1) ; Adresse des Strings in den ldi ZH, HIGH(begruessung<<1) ; Z-Pointer laden MfG Spess
Hallo,bei >ldi ZL,Low (begruessung*2) ; Adresse des Strings in den >ldi ZH, HIGH(begruessung*2) ; Z-Pointer laden ist das gleiche,hatte ich vergessen zu erwähnen.Bewirkt dein Code etwas anderes? gruss Andy
Hi >ist das gleiche,hatte ich vergessen zu erwähnen.Bewirkt dein Code etwas >anderes? Nein. Ein Shift nach links entspricht einer Multiplikation mit 2. Das ist halt Geschmackssache. MfG Spess
Danke.Wo liegt den dann der Fehler.Ist nicht mein erstes LCD,habe schon welche an mega8 mega32 usw. am laufen und keine Probleme. Ich sitz schon seit 2 Stunden davor und krieg es nicht hin. Mit lpm kann ich nichts machen da mir das Studio bei : lpm temp1,Z+ einen Fehler rausgibt,das es diesen Befehl beim 2313 nicht gibt. gruss Andy
Hi
>einen Fehler rausgibt,das es diesen Befehl beim 2313 nicht gibt.
Dann kannst du nur ein 'lpm' machen. Das lädt dir den Wert nach r0.
Also:
lpm
move temp1,r0
adiw ZH:ZL,1
rcall lcd_data
....
MfG Spess
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.