Hi,

ich habe mir bei Pollin folgendes Display gekauft:

LCD-Modul TC1602A-09.

Als dieses nun zuhause ankam sah es schonmal etwas anders auf als auf dem Produktfoto.

1. Die Anschlussleiste ist nicht unter dem display und hat 16 pins sondern ist neben dem Display und hat 14 Anschlusslöcher und 2 an der gegenüberliegenden Seite 2 für die Hintergrundbeleuchtung.

So dann hab ich das Display erstmal ohne µc angeschlossen. In der oberen Leiste werden auch die schwarzen Kästchen angezeigt. Kontrast einstellen mit Poti läuft auch ohne Probleme. Soweit so gut, nun wollte ich das Display an meinen Atmega16 (Der auf dem älteren Pollin Evolutionsboard 2.0) sitzt betreiben.

Angeschlossen ist es im 4-Bit modus an PortA des µC um nicht genau zu sagen:

Db4 an µc PortA.0
Db5 an µc PortA.1
Db6 an µc PortA.2
Db7 an µc PortA.3
R/W an µc PortA.4
E an µc PortA.5
R/W auf GND
Db0 - Db4 auf GND

Dann hab ich den µC mit folgendem Code gespeist:

Code:
$regfile = "m16def.dat"
$crystal = 1000000
Config Pina.0 = Output
Config Pina.1 = Output
Config Pina.2 = Output
Config Pina.3 = Output
Config Pina.4 = Output
Config Pina.5 = Output

Config Lcd = 16 * 2                                         
Config Lcdpin = Pin , Db4 = Porta.0 , Db5 = Porta.1 , Db6 = Porta.2 , Db7 = Porta.3 , E = Porta.5 , Rs = Porta.4

 Config Lcdbus = 4

Initlcd

Cls

Do
 Locate 1 , 1
 Lcd "test"
 Waitms 500
Loop
Passieren tut dabei allerdings garnichts. Auf dem Pollinboard ist ein externes Quartz drauf, welches ich allerdings mit den Fusebits nicht wirklich angenommen wird. Stimmt die Angabe von $crystal = 1000000 wenn ich den Internen Takt vom Atmega 16 verwenden möchte ?

Das Display scheint sich auch nicht zu initalisieren, da die schwarzen Balken auf dem Display bleiben. (Kontrast ist auch richtig eingestellt).

Leider kann ich momentan nur mit Basecom programmieren. Währe aber auch sehr dankbar wenn mir jemand eine Lösung mit C zeigen könnte wo dann auch das Timing des Display eingehalten werden kann.

Ich hoffe mir kann wer helfen

mfg blamaster