PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pinbelegung am LCD-Stecker gemäß RN-Def und für STK500



rolf_ebert
01.08.2006, 15:48
Laut RN-Definition für den 10-poligen LCD-Stecker (https://www.roboternetz.de/wissen/index.php/RN-Definitionen#LCD_Stecker) liegen die LCD Signale auf folgenden Pins des Steckers:

Empfohlene Steckverbindung auf der Platine:
Pin 1 DB7
Pin 2 DB6
Pin 3 DB5
Pin 4 DB4
Pin 5 EN2 (wird nur bei manchen LCDs benötigt)
Pin 6 EN
Pin 7 R/W
Pin 8 RS
Pin 9 GND
Pin 10 +5V

Auf dem STK500 sind die Pins folgendermaßen auf die Portbits verteilt:

Pin 1 Bit0
Pin 2 Bit1
Pin 3 Bit2
Pin 4 Bit3
Pin 5 Bit4
Pin 6 Bit5
Pin 7 Bit6
Pin 8 Bit7
Pin 9 GND
Pin 10 +5V

Somit liegen die Datenleitungen des LCD DB4 - DB7 in umgekehrter Reihenfolge of den Bits 0 .. 3

DB7 Bit0
DB6 Bit1
DB5 Bit2
DB4 Bit3

Das hat zur Folge, dass ich beim Schreiben auf das LCD alle Bits einzeln übertragen muss und nicht einfach das Low-Nibble als Ganzes auf den Port schieben kann. Das kommt mir S/W-technisch etwas umständlich vor (auch wenn's vielleicht gar kein Problem ist).

Alternativ kann man auf seinem eigenem Board die Bitfolge zu den Wannensteckern drehen, so dass Bit0 - DB4 .. Bit 3 - DB7 zu liegen kommt. Bei einem oberflächlichen Durchgehen der Schaltpläne (RN-Control, RN-Mega8, RBNFRA) habe ich soetwas aber auch nicht gesehen (gottseidank).

Was macht ihr? Bits einzeln schreiben oder Leitungen kreuzen? (oder bilde ich mir das Problem nur ein?)

Rolf

Tommi
02.08.2006, 19:37
Das passende Kabel selber machen (quetschen/löten...)

Tommi

rolf_ebert
02.08.2006, 23:30
Ich hab kein Problem mit dem Kabel zwischen LCD und Stecker, da kann ich machen, was ich will. Das Problem ist die Strecke Stecker - MCU. Die ist auf dem STK500 (und vermutlich den meisten RN und Devel-Boards) fest verdrahtet wie oben beschrieben.

Wenn ich am Stecker RN-Def-konform bin, muss ich offensichtlich die Bits einzeln schreiben, zumindest am STK500. Ist auch nicht weiter schlimm, halt nicht schön...

linux_80
03.08.2006, 17:33
Bei den RN-Boards ist es bei den normalen Port-Steckern auch so, das Pin1 Bit0 anliegt, also kann man da auch nur jedes einzelne Bit zum LCD senden.
Beim RN-Mega8 ist das auch schon so, da gibts einen extra LCD-Anschluss, da sind die Leitungen aber auch kreuz und quer mit dem MCU verbunden, so das man auch fast jedes Bit einzeln zusammenbauen muss. Dort sind die 8 Bit sogar auf 2 Ports verteilt (naja, einen ganzen bekommt man auch nicht hin, wenn man UART braucht), die oberen 4 Bit sind aber wenigstens in aufsteigender Reihenfolge, so dass man nur ein wenig Byte-Verschiebung machen muss.