Lcd home keine cursor bewegung

Gast #4105494
Lesenswert?
• ▲
▼
Nach dem Befehl LCD_Home bewegt sich der cursor nichtmehr weiter:
1
timer0_overflow:
2
rcall Display1_Home
3
ldi temp1, 'R'     ; Zeichen anzeigen
4
rcall Display1_Data
5

6
ldi temp1, 'R'     ; Zeichen anzeigen
7
rcall Display1_Data

Ein Timer ruft alle Paar Sekunden Display_Home auf, dannach wird das R 
geschrieben oder jeder andere Buchstabe doch das 2. R erscheint nicht, 
das anzeigen des Cursors zeigt, dass er sich nicht an die 2. bzw 3. 
position bewegt hat.

Der Timer ist sehr langsahm im sekundenbereich also ich denke nicht, 
dass es zu schnell ist fürs Display.
Gast #4105546
Lesenswert?
• ▲
▼
Problem gelöst, in der Initialisierung die ich vom Tutorial übernommen 
habe wird ein Befehl gesendet welches das nach links rücken des Cursors 
bewirkt was ich nun geändert habe hier code aus dem Tutorial:
1
Display1_Init:
2
push temp1
3
ldi   temp1,6
4
powerupwait:
5
rcall delay5ms
6
dec   temp1
7
brne  powerupwait
8
ldi   temp1,    0b00000011   ; muss 3mal hintereinander gesendet
9
out   DISPLAY1_PORT, temp1        ; werden zur Initialisierung
10
rcall Display1_Enable             ; 1
11
rcall delay5ms
12
rcall Display1_Enable             ; 2
13
rcall delay5ms
14
rcall Display1_Enable             ; und 3!
15
rcall delay5ms
16
ldi   temp1, 0b00000010      ; 4bit-Modus einstellen
17
out   DISPLAY1_PORT, temp1
18
rcall Display1_Enable
19
rcall delay5ms
20
ldi   temp1, 0b00101000      ; 4 Bit, 2 Zeilen
21
rcall Display1_Command
22
ldi   temp1, 0b00001111   ; Display on, Cursor off
23
rcall Display1_Command
24
ldi   temp1, 0b00000100      ; endlich fertig (Nix fertig hier Fehler richtig währe 0b00000110 um den cursor nach rechts zu verschieben)  
25
rcall Display1_Command
26
pop temp1
27
ret

Entry mode: 0b000001is

Legt die Cursor Richtung sowie eine mögliche Verschiebung des Displays 
fest

i = 1, Cursorposition bei Ausgabe eines Zeichens erhöhen //nach rechts
i = 0, Cursorposition bei Ausgabe eines Zeichens vermindern //nach links
s = 1, Display wird gescrollt, wenn der Cursor das Ende/Anfang, je nach 
Einstellung von i, erreicht hat.
Ausführungszeit: 40µs

Falls noch einer das Problem hat.

Beste Grüße

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.