Hallo zusammen!
Ich bin ein Einsteiger im Gebiet MCs (AVR).
Mein aktuelles Projekt beinhaltet, ein LCD (HD 44780-kompatibel) mit einem ATmega32 anzusteuern.
Ich verwende dazu ein WINTEK WD-C2704M-1HNN mit 4*27 Zeichen im 4-bit Modus.
Meine Verschaltung liegt dabei an PortC.
Die Pinbelegung ist wiefolgt:
Db4 = Portc.4
Db5 = Portc.5
Db6 = Portc.6
Db7 = Portc.7
E = Portc.1
E2 = Portc.0
Rs = Portc.3
DB0-DB3 liegen auf Ground

RW liegt ursprünglich auf PortC.2, habe ich aber testhalber derzeit auf Ground, es ergibt sich aber derzeit kein beobachtbarer Unterschied.
Ich habe im Programm das RN-Wissen genutzt. Der Code ist folgender:
Code:
 '$lib "lcd4e2.lbx"
 $regfile = "m32def.dat"
 $crystal = 1000000

 Config Lcd = 40 * 4
 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Portc.1 , E2 = Portc.0 , Rs = Portc.3

 Dim ___lcde As Byte

 ___lcde = 0

 'Initlcd
 Cls
 Do
 Upperline
 Locate 1 , 3
 Lcd "Hallo Welt"
 Waitms 1000
 Locate 1 , 3
 Lcd "Hello World"
 Waitms 1000
 Loop

End
Was ich jetzt beobachte ist, dass das LCD alle Felder der jeweils Controllerbezogenen oberen Zeile (d.h. Zeile 1 und 3) komplett dunkel einfärbt und die jeweils untere Zeile (2 und 4) komplett hell.

Dies scheint der Zustand des LCDs zu sein, wenn schlichtweg nur Spannung anliegt, weil das LCD während des Programmierens und auch sonst immer das anzeigt.

Der ATmega32 an sich tut korrekt, denn ich habe an ihm schon andere Sachen (LED blinkend,..) vor kurzem ausgeführt. D.h. er wird auch korrekt programmiert und tut.

Was mache ich falsch?

Gruß
E. Hakennase