Schaltplan (soweit man davon sprechen kann) habe ich im Kopf. Ist aber nicht wirklich kompliziert:

// 4-Bit-Ansteuerung ohne busy-Abfrage:

// 1 - GND - GND
// 2 - Vcc - Vcc
// 3 - Kontrast (0-0,5V)
// 4 - RS - LS3 (BPR)
// 5 - R/W - GND
// 6 - E - LS6 (BPL)
// 7
// 8
// 9
// 10
// 11 - Data4 - LS1 (101)
// 12 - Data5 - LS2 (102)
// 13 - Data6 - LS4 (103)
// 14 - Data7 - LS5 (104)
// 15 - A - Vcc
// 16 - K - GND

Links die Belegung des 16poligen LCD-Anschluß, rechts die entsprechenden Anschlüsse am RP6. Die Taster sind mit Widerständen (bei mir 820Ohm, Wert ist aber unkritisch) direkt parallel zum LCD angeschlossen und schalten gegen GND. (Deshalb wird in meiner Funktion lcd_getkeys() der Wert am Ende noch invertiert.) So kann man beliebig Daten zum LCD senden und gleichzeitig die Tasten drücken/auswerten.

Kontrast (LCD-Pin3) benötigt je nach Modell des Displays ca. 0-0,5V. Die erzeugt man mit einem Poti und einem in Reihe geschalteten Widerstand als Spannungsteiler. 5V-Widerstand-PotiAnfang-PotiEnde-GND, Schleifer auf Pin 3. Der Widerstand sollte ca. 10x größer als das Poti sein.

Die freien Pins am LCD-Stecker (7-10) werden bei dieser 4bit-Lösung ohne Busy nicht verwendet, sollten aber nicht mit GND verbunden werden. Der R/W-Pin ist zwar dauerhaft mit GND verbunden und deshalb sollte das Display nicht aktiv einen Ausgang setzen, aber man weiß ja nie ob das nicht doch mal passiert.

Besser als meine Lösung ist die oben schon erwähnte UserBusstecker-Lösung. Dazu werden die LED-Pins (SL1-4, BPL+BPR) mit den passenden USRBus-Pins verbunden. Zusätzlich werden noch 5V und GND benötigt. Und eben noch die zwei freien ADCs für spätere Erweiterungen.

Weitere Fragen zum Anschluß sollten wir besser an meinen Thread anhängen.

Gruß

mic