Ich habe mit den Displays bisher keine Probleme gehabt, ich nutze
folgende Init:
lcd_init:
cbi lcd_en_port,lcd_en_bit ;EN aus
sbi lcd_en_ddr,lcd_en_bit ;EN Ausgang aktiv
sbi lcd_rs_ddr,lcd_rs_bit ;RS Ausgang aktiv
in r16,lcd_dat_ddr
ori r16,0b00001111 ;Datenausgänge aktiv
out lcd_dat_ddr,r16
cbi lcd_rs_port,lcd_rs_bit ;Kommandomodus
ldi r16,0b00111000 ;8Bit,2Zeilen,5x7 pixel
rcall lcd_wrcom1
rcall lcd_zeit
ldi r16,0b00111000 ;8Bit,2Zeilen,5x7 pixel
rcall lcd_wrcom1
rcall lcd_zeit
ldi r16,0b00111000 ;8Bit,2Zeilen,5x7 pixel
rcall lcd_wrcom1
rcall lcd_zeit
ldi r16,0b00101000 ;4Bit,2Zeilen,5x7 pixel
rcall lcd_wrcom1
rcall lcd_zeit
ldi r16,0b00000100 ;Dislplay aus
rcall lcd_wrcom
ldi r16,0b00000001 ;Display clear
rcall lcd_wrcom
rcall lcd_zeit
ldi r16,0b00000110 ;Cursor rechts bei Eintrag
rcall lcd_wrcom
ldi r16,0b00001110 ;Display und Cursor ein
rcall lcd_wrcom
rcall lcd_zeit
ret
Brauchst ja nur mal die Bitmuster vergleichen, bin schon zu müde,
mfG ingo