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