Forum: Mikrocontroller und Digitale Elektronik Pins für LCD


von Christoph S. (chstauss)


Lesenswert?

Hallo,

ich würde gerne ein 4bit LCD an einen ATSAM3S2B Mikrocontroller von 
Atmel anschließen.
Hierzu würde ich z.B. dieses LCD als Bsp. nehmen: 
"http://de.farnell.com/powertip/pc1602aru-hwb-g-q/lcd-modul-e-temp-stn-ref-16x2/dp/1671498";. 
Jedoch ist es zimlich egal welches Display es genau sein soll.

Meine Frage hierzu ist nun, welche Pins sollten an meinem 
Mikrocontroller vorhanden sein um ein solches Display zu verwenden, kann 
ich hierzu jeden beliebigen Pin benutzen ?

Und kann ich die Display Beleuchtung über einen PWM Pin realisieren, um 
die Helligkeit zu dimmen oder ggf. ganz abzuschalten ?


Ich bedanke mich einmal im Vorraus und entschuldige eventuelle 
Rechtschreibfehler, sowie laienhafte Ausdrucksweisen.


mfg

Christoph

von kaplic (Gast)


Lesenswert?

Für ein solches Display reichen digitale IO-Pins, welche du für nichts 
anderes benötigst. Und für die Beleuchtung kannst du eine PWM nehmen, 
allerdings mit einem Transistor oder LED-Treiber zwischen deinem uC und 
der Hintergrundbeleuchtung, da der Strom, welchen der PWM-Pin liefern 
kann wahrscheinlich nicht ausreicht!

von Jürgen S. (jurs)


Lesenswert?

Christoph Stauß schrieb:
> Meine Frage hierzu ist nun, welche Pins sollten an meinem
> Mikrocontroller vorhanden sein um ein solches Display zu verwenden, kann
> ich hierzu jeden beliebigen Pin benutzen ?

Wie ein solches LCD angeschlossen wird, siehst Du im Datenblatt
http://www.farnell.com/datasheets/40247.pdf
unter "2.2 Interface Pin Description"

Offensichtlich handelt es sich um ein Standard-LCD mit HD44780 
Controller ohne Hintergrundbeleuchtung.

Das Display kannst Du nicht an "jeden beliebigen Pin" anschließen, 
sondern Du mußt es schon an Ground und an 5 Volt zur Spannungsversorgung 
anschließen, einen Pin an ein verstellbares Potentiometer zur Regelung 
des Konstrasts und außerdem an 6 "Digitale Pins" Deines 
Mikrocontrollers, die dann entsprechend angesteuert werden müssen.

Also Du benötigst für dieses LC die Anschlüsse für Plus, Minus und 6 
freie digitale Pins.

> Und kann ich die Display Beleuchtung über einen PWM Pin
> realisieren, um die Helligkeit zu dimmen oder ggf. ganz abzuschalten ?

Nein, an einem Display, das laut Angebotsbeschreibung und Datenblatt 
überhaupt keine Hintergrundbeleuchtung eingebaut hat, funktioniert das 
nicht. Wo nix ist, kannst Du nix realisieren. Das ist quasi ein Display, 
an dem die Hintergrundbeleuchtung ständig "aus" ist. Rein reflexive 
Anzeige.

von MK (Gast)


Lesenswert?

Ich hab es mir mal kurz drüber geschaut Das Display sollte passen
mit mikrocontroller anzusteueren.
du brauchst einfach IOs pins, dein Chip schaft ja max 3,3V wenn ich mich 
nicht vertan habe und das reicht für dein Display.

solang du nur ausgeben willst sollte es keine Probleme geben beim 
rücklesen vom display musst einfach nochmal ins Datenblatt schauen ob es 
so hinhaut
(zu hohe spannung)

Pwm signal vom µC sollte funktionieren, wenn du es über einen Transistor 
bzw mosfet machst. Controller steuert den Transistor an.

des wäre jetzt eine Möglichkeit, denk ich.

Gruß,
Matthias K.

von MK (Gast)


Lesenswert?

Du kannst nur den Kontrast einstellen mit dem Pwm signal

von Christoph S. (chstauss)


Lesenswert?

Danke für die schnellen Antworten,

soweit einmal gut, jetzt muss ich aber doch ganz blöd fragen, welche 
Pins sind denn überhaupt digitale Pins ?
Ich hatte mir angeschaut wie ein Display auf dem Evaluationsboard 
angeschlossen ist, hier würden spezielle Daten Pins verwendet, die auf 
einem external Bus interface liegen, jedoch hat dieser Mikrocontroller 
keine speziellen externen Bus Interfaces.


grüße

Christoph

von Jürgen S. (jurs)


Lesenswert?

Christoph Stauß schrieb:
> soweit einmal gut, jetzt muss ich aber doch ganz blöd fragen, welche
> Pins sind denn überhaupt digitale Pins ?

Gemäß http://www.atmel.com/devices/sam3s2b.aspx hat Dein uC insgesamt 64 
Pins und mit "digitale Pins" meine ich die 47 als "I/O Pins" 
bezeichneten.

Nicht verwenden zum Anschließen des Displays kannst Du z.B. "ADC Pins", 
also die Eingänge für Analog-Digital-Umwandlung.

Was das "Bus-Interface" betrifft: Für diese Art LCD-Displays gibt es 
kleine Zusatzplatinen, teilweise auch schon fertig montiert, dann kann 
es an einem I2C-Bus betrieben werden. Ich glaube im Angebotstext heißen 
die so ausgestatteten (und teureren) LCDs dann "Serial LCD Display", als 
Hinweis darauf, dass es die Daten dann seriell über I2C statt parallel 
über 4 Datenleitungen plus zwei Handshake-Leitungen erhält.

von Christoph S. (chstauss)


Lesenswert?

Ok, Vielen Danke soweit.

Was ich eigentlich gemeint habe war folgenes: auf dem Datenblatt des 
ATSAM3S
http://www.atmel.com/Images/doc6500.pdf gibt es auch ein 100 Package und 
wie man auf Seite 3 in der Übersicht sieht, gibt es auf der Rechten 
Seiten ein External Bus Interface mit den Pins D[7:0], hier wurde beim 
Evaluations Board das Display angeschlossen.
Ist dann hier warscheinlich ein LCD ohne Controller verwendet worden ?
Ich hatte immer nach solchen Pins bei dem 64er Package gesucht.


mfg

Christoph

von Jürgen S. (jurs)


Lesenswert?

Christoph Stauß schrieb:
> Ist dann hier warscheinlich ein LCD ohne Controller verwendet worden ?

Keine Ahnung, ich kenne weder das Evaluation-Board noch den Controller.
Ich habe nur schon LCD-Displays an Controllern angeschlossen, und zwar 
an wesentlich einfacher gestrickte Controller wie Atmega328 mit nur 28 
Pins.

> Ich hatte immer nach solchen Pins bei dem 64er Package gesucht.

Die im Blockdiagramm als D[7:0] bezeichneten Pins heißen im Pinout der 
SAM3S-Controller offenbar PGMD0 .... PGMD7.

Diese Pins gehören zum sogenannten "SAM3SxB/C (64/100 pins) Parallel 
Programming Interface". Keine Ahnung, was dieses Interface sein soll und 
ob man damit Peripheriegeräte besonders einfach ansprechen und 
programmieren kann, weil es dafür eine Library gibt.

Wenn das der Fall ist und es eine Library gibt, die Du auf dem 
Evaluation-Board vielleicht sogar schon verwendet hast, dann bietet es 
sich an, das Display genau so anzuschließen, wie es auf dem 
Evaluation-Board der Fall ist.

Und ansonsten kannst Du das LCD-Display an beliebige digitale I/O-Pins 
anschließen und eine allgemeine 4-bit LCD-Library zum Ansteuern des 
Displays verwenden.

Es gibt hier übrigens ein Tutorial zu AVRs und LCDs:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD
(Mir hätte das Tutorial allerdings zugegebenermaßen nicht viel genützt, 
weil die Programmierbeispiele in Assembler sind, und wenig 
Anfängergeeignet, und das Programmierbeispiel voraussetzt, dass man die 
Anschlusspins gar nicht frei wählen kann, sondern dass sie fortlaufend 
über Bits im selben Portregister angesprochen werden)

von MK (Gast)


Lesenswert?

die Pins sind auf dem ersten Blick ehr für externe Memorys gedacht

Christoph Stauß schrieb:
> Ist dann hier warscheinlich ein LCD ohne Controller verwendet worden ?
> Ich hatte immer nach solchen Pins bei dem 64er Package gesucht.

normalerweise zu fast 100% hat jedes Display einen Controller.
Der Controller hat die Aufgabe die Zeichen auf dem Display darzustellen,
also die einzelnen Bildpunkte anzusteuern.

such einfach irgendwelche GPIO Pins am besten vom gleichen port 
ansonsten ist es wurst, weil du programmierst ja wie lange welcher Pin 
high oder Low sien soll.

oder zeig halt mal welches Datenblatt du verwendest.

Gruß,
Matthias K.

von Christoph S. (chstauss)


Lesenswert?

ich benutze dieses Datenblatt: http://www.atmel.com/Images/doc6500.pdf

aber denke mal das die Frage soweit geklärt ist, mir war nur nicht klar 
ob jeder GPIO Pin die Funktionen für ein Display unterstützt.


Vielen Dank


grüße

Christoph

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.