mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Ansteuerung von 7 Segment LCDs


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Johannes B. (jhony1104)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte mit einem ATXmega128B3 das LCD-Display "DE119-RS-20/6,35" 
Ansteuern.

Allerdings muss bei dem Display jedes Segment einzeln angesteuert werden 
und der XMega B Controller verfügt über die Ausgänge SEG0-SEG24 und 
COM0-COM3.

Kann mir bitte jemand mitteilen, wie ich das Display Ansteuern kann.

Falls das nicht möglich sein sollte, bitte ein anderes vergleichbares (4 
Stellen a 7 Segmente mit Dezimalpunkten) Display vorschlagen.

Danke schon mal im voraus.



LCD Ansteuerung mit Atmel XMEGA B:
http://www.atmel.com/Images/doc8467.pdf

DE119-RS-20/6,35 Datenblatt:
http://www.reichelt.de/index.html?;ACTION=7;LA=3;OPEN=0;INDEX=0;FILENAME=A500%252FLCD40-13.pdf;SID=13UI-Od38AAAIAAClyCUw6eed4294c36d9d7c82277152eebe0874

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Geht so nicht. Du brauchst eine Matrix-Anzeige. Anstatt ein fertiges 
Modul zu suchen, kannst Du ganz einfach einzelne 7-Segment Anzeigen 
zusammenschalten. Verbinde die sieben segmente parallel zusammen und 
steuere die verbleibenden COM einzeln an.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach, sorry. Es geht ja um LCD, nicht um LED Anzeigen. Da kauft man 
natürlich keine einzel-Module.

Autor: Axel S. (a-za-z0-9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes B. schrieb:
> Ich möchte mit einem ATXmega128B3 das LCD-Display "DE119-RS-20/6,35"
> Ansteuern.
>
> Allerdings muss bei dem Display jedes Segment einzeln angesteuert werden
> und der XMega B Controller verfügt über die Ausgänge SEG0-SEG24 und
> COM0-COM3.

Dann geht es nicht. Das Display hat eine gemeinsame Backplane. Du 
brauchst also 4*(7+1) = 32 Segmentleitungen. Das von dir verlinkte PDF 
behauptet, ein XMega hätte 40, aber du sagst du hättest nur 24.

> Kann mir bitte jemand mitteilen, wie ich das Display Ansteuern kann.

Diese Art LC-Displays werden so angesteuert, daß man eine 
Wechselspannung von ca. 100Hz an die Backplane legt. Alle Segmente, die 
"aus" sein sollen, bekommen die gleiche Wechselspannung, alle die "an" 
sein sollen bekommen die invertierte (180° phasenverschoben) 
Wechselspannung. Wobei Wechselspannung hier ein Logiksignal von 1.5V..9V 
CMOS Pegel meint (je nachdem wieviel Spannung das LCD verträgt bzw 
braucht).

Im Prinzip reichen 32 GPIO mit 32 XOR-Gattern und ein 33. GPIO oder 
externer Oszillator, der das Signal für die Backplane erzeugt.


XL

Autor: Johannes B. (jhony1104)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antwort.
leider löst sie mein Problem aber nicht. Kann mir daher bitte jemand ein 
alternatives Display (also mit mehreren, getrennten Backplans) 
vorschlagen.



> Das von dir verlinkte PDF behauptet, ein XMega hätte 40, aber du sagst du
> hättest nur 24.

Es bezieht sich auf die Xmega B Reihe im allgemeinen. Die B3 Modelle 
haben aber nur 25.

Autor: Jack B. (jackbraun)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das DOGM 081 hat 8 Stellen, ist schön groß und kann über SPI angesteuert
werden. Außerdem kann es an 3,3V und 5V betrieben werden. Ich hab es
schon öfter eingesetzt.

Grüße

Jack

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes B. schrieb:
> Ich möchte mit einem ATXmega128B3 das LCD-Display "DE119-RS-20/6,35"
> Ansteuern.
>
> Allerdings muss bei dem Display jedes Segment einzeln angesteuert werden
> und der XMega B Controller verfügt über die Ausgänge SEG0-SEG24 und
> COM0-COM3.
>
> Kann mir bitte jemand mitteilen, wie ich das Display Ansteuern kann.

Diese Displays müssen mit Wechselspannung angesteuert werden, um die 
Zersetzung der Flüssigkristalle zu verhindern. Dafür gibt es spezielle 
Bausteine z.B. von NXP. Für Dich ist z.B. der PCF8577C geeignet, den Du 
über I2C ansteuerst, oder der OM4068, der per SPI angesteuert wird.

fchk

Autor: W.S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes B. schrieb:
> Danke für die Antwort.
> leider löst sie mein Problem aber nicht.

Tja, zumindest hast du erkannt, daß es etwas schwieriger wird, als mal 
eben bloß ein paar Pins miteinander zu verbinden. Für alles Weitere wäre 
es durchaus angebracht, nach einer eigenen Lösung zu suchen.

Ich geb dir mal nen Tip:
a) es gibt vermutlich auch bei den AVR's Typen, die schlicht und einfach 
genug Portbeine haben, um damit die Pins des LCD zu bedienen und bei 
einer Frequenz von 100 .. 200 Hz für den Polaritätswechsel kommt man 
spielend mit ner Interrupt-Routine aus.
b) es gibt auch CMOS-Schieberegister, um die Anzahl benötigter Portbeine 
zu reduzieren.

Ansonsten mußt du gucken, ob du irgendwo anders organisierte LCD's 
bekommst. Aber ich sag dir, das wird schwierig, weil sowas zumeist auf 
Kundenwunsch-LCD's hinausläuft.

W.S.

Autor: Spess53 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

Es gibt doch auch LCD-Treiber, z.B.:

PCF8576CHL/1 oder  PCF8576D.

MfG Spess

Autor: Axel S. (a-za-z0-9)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Johannes B. schrieb:
> Danke für die Antwort. leider löst sie mein Problem aber nicht.

Natürlich nicht. Du hast dir einfach zwei nicht zusammen passende 
Bauteile ausgesucht.

> Kann mir daher bitte jemand ein
> alternatives Display (also mit mehreren, getrennten Backplans)
> vorschlagen.

Heute verbaut niemand mehr "nackte" Standard-LCD wie das von dir 
genannte. Das waren früher schon Spezialbauteile zur Verwendung mit 
anderen Spezialbauteilen (in der gezeigten Variante für Uhren, andere 
für Multimeter).

Wenn heute jemand nackte LCD verbaut, dann auf die Anwendung 
zugeschnittene Spezialdisplays. Was sich aber erst bei großen 
Stückzahlen lohnt. Standard-LCD kommen heute mit eingebautem Controller, 
entweder alphanumerisch oder grafikfähig.


XL

Autor: Frank K. (fchk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Axel Schwenke schrieb:

> Heute verbaut niemand mehr "nackte" Standard-LCD wie das von dir
> genannte.

Einen Grund gäbe es doch, diese Displays zu verwenden: Stromverbrauch! 
Segmentierte Displays sind sehr sparsam, und dieses hier ist noch dazu 
ein statisches, d.h. eines mit nur einer Backplane, also ein extra 
sparsames. Ideal für batteriebetriebene Geräte. Für solche nimmt man 
aber keinen XMega, sondern z.B. einen MSP430. Davon gibt es auch viele 
Typen mit LCD-Controller. Der Fragesteller hat aber wahrscheinlich einen 
auf AVR beschränkten Horizont.

fchk

Autor: kein (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Bei mir läuft das an 4 hintereinander gehängten Schieberegistern 
74HC164.
Zur Ansteuerung reichen dann 2 Leitungen: Clock und Data. Nachdem die 
32Bit Segmentdaten hineingeschoben sind wird die Data Leitung zur 
Ansteuerung beider COM Anschlüsse der Backlane benutzt.
D.h. zur Erzeugung der Wechselspannung wird z.B. alle 20ms derselbe 
Datensatz invertiert und neu hineingeschoben und danach der Pegel der 
Backplane(Data Leitung) invertiert.

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.