www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD Display Steuerung


Autor: Stefan S. (n8aktiv)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hallo ersteinmal,

kurz zu mir: ich bin informatikstudent und absoluter beginner im 
elektrobereich. eigentlich wollte ich mir nur ein display fürn computer 
kaufen und dachte es ist billiger es selbst zu löten... naja, da lag ich 
schonmal falsch ;) bevor ich noch mehr falsch mache frag ich lieber mal 
nach und hoffe auf geballte fachkopetenz und hilfreiche tipps :)

hier nun meine frage bzw. mein projekt.
hab für recht wenig geld eine displaysteuerung bekommen, die mir 
einfache anweisungen über die RS232-schnittstelle ans display sendet. 
die ganzen deteils spar ich mir erstmal (kann ich aber auch gerne noch 
nachreichen).
zudem bietet die steuerung zwei I/O ausgänge (je 8bit) daher dachte ich 
mir da kann man auch mehrer displays anschließen.

meine erste frage wäre daher; ist die ansteuerung der vier 
displayausgänge über die transitoren so möglich? oder gibt es evtl. 
probleme wegen der zeitverzögerung oder was auch immer?!


noch ein wenig zur schaltung: (als infomatiker weiß ich ja, dass man 
alles aus dem quelltext lesen kann aber komentare machens doch viel 
einfacher)
die rechte hälfte der schaltung ist noch nicht ganz fertig aber es geht 
mir jetzt auch erstmal um die linke hälfte.
alle steuerbits bis auf E/E2 für das display gehen direckt an die 
ausgänge (also D0-7,Rs,Rw)
die E-bits werden mit dem I/O ausgang kombieniert, so dass (theoretisch) 
informationen an einzelne oder auch mehrere displays/-hälften gesendet 
werden können. dabei geh ich mal davon aus, dass alle ausgänge 5V 
liefern (richtig?). an den displayanschlüssen sind jumper die das E2-bit 
bzw. Rw-bit auf pin 19 legen. (notwenig, da ich 2x10 stecker am display 
verwenden möchte)

so, das wars erstmal ;) für anregung und kritik bin ich immer offen (die 
zeichnung ist sicher nicht 100%-ig koreckt und die wege lassen sich 
sicher auch besser legen)
ach ja, das layout richtet sich auch nach der späteren umsetzung, daher 
ist es auch ein wenig gequetscht


daten:
display: - + V0 Rs Rw E D0 D1 D2 D3 D4 D5 D6 D7 L+ L-
(2 controler):  - + V0 Rs Rw E2 E1 D0 D1 D2 D3 D4 D5 D6 D7 L+ L-
IC:
1-8   -> D0-7
32-39 -> IO_0-7
12    -> Rs
13    -> Rw
14    -> E

Autor: Sascha Weber (sascha-w)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also der Plan sieht zwar etwas wirr aus aber schauen wir mal...

du schaltets das Datenport sowie RS und RW aller Display's parallel - 
das passt so
aber was sollen die ganzen Trasistoren an LCD_EN ????
nimm einfach für jedes LCD einen Ausgang vom Controller für EN des 
jeweiligen Display's und das wars. Wenn du mehrer ansprechen willst dann 
schalte halt mehrere Ausgänge am Controller gleichzeitig.
Wenn du noch paar Portleitungen sparen willst - die Textdisplay's ?? 
lassen sich auch mit 4 Datenleitungen ansteuern.

Sascha

Autor: Stefan S. (n8aktiv)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi Sascha,

danke für die antwort, ich befürchte allerdings das macht mein chip 
nicht mit :( der ist leider in der steuerung festgelegt und da die daten 
(-leitungen) über den EN aktiviert/abgefragt werden, dachte ich: erst 
die transistoren 'öffnen' - dann die 'aktivierung' durchleiten. bin mir 
allerdings nicht sicher ob es da ein timing problem gibt bzw. ob die 
transitoren die signale (zu strak) verzögern.

anbei die chip-beschreibung (pdf) und ein auszug:

* Es werden LCDs mit HD44780-Controller (und kompatible) im 8-Bit-Mode 
angesteuert.
* LCD-Ansteuerung über die RS232 des PCs oder eines Microcontrollers. 
Asynchrone Befehlssteuerung – nur die TxD-Leitung der RS232 wird 
benötigt (9600 Baud Übertragungsrate fest eingestellt).
* BEFEHLSSATZ:
1. "#mein Text" Raute-Zeichen gefolgt von beliebigem Text und schon wird 
der Text angezeigt!!!
2. "$001" Dollar-Zeichen gefolgt von einem ASCII-Zeichen ergibt einen 
Befehl für das LCD (z.B. Löschen des LCD, Cursorbewegung nach rechts 
etc. etc.). Alle Befehle des HD44780 werden unterstützt.
3. "R0" oder "R2" liest einen Port und schreibt den Wert in die RS232, 
"WX,Zahl" schreibt die Zahl an den
Port X (X=0 oder 2)

Autor: Sascha Weber (sascha-w)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also du willst die eigentliche Steuerung nicht verändern und auch nicht 
umprogrammieren, sondern die Digitalen Ausgänge nutzen um zwischen den 
Displays umzuschalten! - Richtig?

dann würde ich vorschlagen einen Decoder zu verwenden, dann kannst du 
mit 2 Leitungen ein's der 4 Display's selektieren. Mehrere gleichzeitig 
geht sowiso nicht, da die Steuerung offensichtlich auch vom Display 
liest.

Sascha

Autor: Stefan S. (n8aktiv)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, umprogrammieren lass ich lieber mal ;) dachte, wenn man schon 
soviele I/Os hat kann man sie auch nutzen.

aber mit dem lesen sagst du was, daran hab ich überhaupt nicht gedacht. 
wär die frage ob der chip liest/lesen muss oder ob er immer nur daten 
sendet.

mir ist aber nich was anderes aufgefallen. eigentlich könnte man auch en 
an die transitor-basis legen, dann spart man sich einige wiederstände.

danke, werd nochmal inmich gehen

Autor: F. V. (coors)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1. Hier gibts prima Artikel zu den LCDs.

2. Wenn du viele an wenig Pins anschliessen willst nimm doch einfach 
Schieberegister.

3. Google findet jede Menge Beispiele bei 3-wire lcd oder 4-wire lcd.

4. Kann man Schieberegister prima kaskadieren, so dass du im Prinzip 100 
Text-LCD problemlos mit nem 8 MHz Controller flimmerfrei bedienen 
kannst.

Autor: Stefan S. (n8aktiv)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
eigentlich wollte ich nur ne display-steuerung und weil da ein paar 
ungenutzte ausgänge dran waren, dachte ich mir: die lassen sich doch 
nutzen ;)
jetzt mach ich erstmal den ansatz fertig. mal sehen welche probleme mich 
noch erwarten.

das schieberegister behalte ich mal im hinterkopf brauch noch ein 
bischen bis es vorne ankommt ;)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.