Gast
#89930
Hallo,
ich will ja nicht eure Zeit verschwenden aber ich habe da mal eine
Frage. Und zwar zur LCD intialisierung. Ich habe daheim alles mal
aufgebaut (funktioniert auch alles). Ich kann jetzt Text am LCD
darstellen. Das Programm kann ich auch nachvollziehen. Nur eben den
Teil mit der Displayinitalisierung nicht. Irgendwie stimmen die Bits
doch mit dem LCD-Datenblatt nicht überein? Könntet ihr mir vielleicht
ein paar Kommentare an den unteren Text schreiben?
lcd_init:
ldi temp3,50
powerupwait:
rcall delay5ms
dec temp3
brne powerupwait
ldi temp1, 0b00000011 ;muss 3mal hintereinander
gesendet ???
? out PORTD, temp1 ;werden zur Initialisierung
rcall lcd_enable ;1
rcall delay5ms
rcall lcd_enable ;2
rcall delay5ms
rcall lcd_enable ;und 3!
rcall delay5ms
? ldi temp1, 0b00000010 ;4bit-Modus einstellen
out PORTD, temp1
rcall lcd_enable
rcall delay5ms
? ldi temp1, 0b00101000 ;noch was einstellen...
rcall lcd_command
? ldi temp1, 0b00001100 ;...nochwas...
rcall lcd_command
? ldi temp1, 0b00000100 ;endlich fertig
rcall lcd_command
ret