STK500 und LCD, LCD funktioniert nicht

OP #710787
Lesenswert?

sers,
ich weiß, ich hab jetzt schon öfters das Problem gepostet und es haben 
auch schon viele andere das Problem gehabt, doch nach durchforsten des 
Netzes hab ich bis jetzt leider keine Lösung gefunden.
Folgendes:
ich hab mein LCD(EA DIP204-4 mit KS0073 Kontroller) an mein STK500 mit 
atmega8 angeschlossen.
Anschlüsse alle wie im Tutorial, nur RESET-PIN und 
HINTERGRUNDBELEUCHTUNG net angeschlossen.
wenn ich das Board an mach, zeigt mein LCD schön 4 mal 20 leere 
Kästchen, und wenn ich das Programm lade( siehe Anhang) zeigt es leider 
immer noch diese Kästchen, deshalb, was mache ich falsch, hat das was 
mit dem RESET-PIN zu tun, wenn ja, Masse oder VTG?????
bitte hilfe bitte bitte bitte
Angehängte Dateien:
#710850
Lesenswert?

Snt Opfer wrote:
> Die Kontrastspannung so wie sie soll ?

Ich habe gemerkt, daß bei mehrzeiligen Displays die ersten Zeilen 
Kästchen zeigen, wenn der Kontrast stimmt, da nach dem Poweron der 
1-Zeilenmodus aktiv ist.
Erst nach der Initialisierung auf den 2-Zeilenmodus gehen sie weg.

Wenn also ohne CPU keine Kästchen zu sehen sind, stimmt der Kontrast 
nicht.


Peter
OP #713535
Lesenswert?

servus,
so, jetzt alles angeschlossen, hintergrundbeleuchtung und reset(an gnd).
leider tut sich immernoch nichts. display leuchtet jetzt auch ganz toll, 
aber bei der initialisierung stimmt es wohl dann immernoch net, kann mir 
vielleicht jemand nen code im anhang schicken der funktioniert, dann 
kann ich schonmal sehen, ob es doch noch an der hardware liegt.
schon mal danke
Gast #713624
Lesenswert?

ldi temp1, 0b00000010        ;function-set für 4-Bit Modus
           out PORTD, temp1
           rcall lcd_enable
           rcall delay5ms

Einmal in die Codesammlung geschaut und:
Ab hier musst du das in Assembler übersetzen

  // Grundinitialisierung (4-Bit Parallel Mode)
  write_lcd(0x24,1);               // 24 0010 0100 (4Bit Bus RE=1)
  write_lcd(0x09,1);               // 09 0000 1001 (4 Zeilen Mode)
  write_lcd(0x20,1);               // 20 0011 0000 (4Bit Bus RE=0)
  write_lcd(0x0C,1);               // 0000 1111 (Dipl. ein, Cursor aus, 
Cursor blinken aus)
  write_lcd(0x06,1);               // 0000 0110 (Autoinkrement)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren