Forum: Mikrocontroller und Digitale Elektronik LCD-Modul TG12864B-13 von Pollin am ATmega 32


von Jörg Schleuderhof (Gast)


Lesenswert?

Hallo habe mir das LCD-Modul TG12864B-13 von Pollin zugelegt,
ist aber doch komplizierter als ich dachte.
Benutzen wollte ich ein ATmega 32.
Werde aus dem Datenblatt nicht schlau.

Könnt ihr mir Helfen?

Frage 1: Wie schließ ich das Display genau an?
         Kann nämlich nichts mit D/I, R/W und E anfangen,
         müssen die mit am Controller angeschlossen werden?

Frage 2: Und hätte jemand ein einfaches Programmbeispiel in C?
         Finde immer nur Bascom Code-Beispiele.

         danke im vorraus

         Jörg

von Karl H. (kbuchegg)


Lesenswert?

Jörg Schleuderhof schrieb:

> Könnt ihr mir Helfen?

Verblüffend.
Wenn ich in Google "TG12864B-13" eingeben, ist der erste Treffer gleich 
der hier

Beitrag "128x64 Grafik LCD An Atmega 8/16/32"

von Jörg Schleuderhof (Gast)


Lesenswert?

den beitrag hab ich auch schon gefunden.
ich weiß aber trotzdem nichts mit CS1, CS2,D/I, R/W und E anzufangen.
Ich Arbeite nämich das erste mal mit so einem Display.
Ein Code Beispiel hab ich aber da auch nicht gefunden.

Jörg

von holger (Gast)


Lesenswert?

Erweitere deine Suche auf KS0108.
Das ist der verwendete Controller.
In der Codesammlung und im Forum findest du mehrere
Codebeispiele.

von Karl H. (kbuchegg)


Lesenswert?

Jörg Schleuderhof schrieb:
> den beitrag hab ich auch schon gefunden.
> ich weiß aber trotzdem nichts mit CS1, CS2,D/I, R/W und E anzufangen.

Vielleicht erst mal kleiner Brötchen backen?

CS1    Chip select für Controller 1
CS2    Chip select für Controller 2

Die Chip Select Leitungen steuern, welcher der beiden Controller (das 
sind offenbar 2 drauf) sich angesprochen fühlen soll, wenn mit den 
restlichen Leitungen gewackelt wird

D/I    Data or Instruction
       kennst du vom HD44780. Dort heißt die Leitung RS, hier heißt
       sie eben D/I.

R/W    Read/Write
       Identisch zum HD44780

E      Enable
       Ohne jetzt ins Datenblatt geschaut zu haben, denke ich
       dass auch diese Leitung identisch zur gleichnamigen vom
       HD44780 ist.
       Daten an den Datenbus anlegen, einem E-Pin wackeln und der
       Controller übernimmt das Byte (der der mit CS ausgewählt
       wurde9

> Ich Arbeite nämich das erste mal mit so einem Display.

Das macht nichts.
Im anderen Thread gibt es viele Informationen. Du musst sie nur lesen.

> Ein Code Beispiel hab ich aber da auch nicht gefunden.
Nicht?
Also ich finde da mehere Codestücke, die schon recht vielversprechend 
aussehen.

Ach du meinst: Code den du ohne selber was dazu beitragen zu müssen, 
einfach übernehmen kannst und dann funzt das schon irgendwie!
Da hast du recht. Das gibts dort nicht.

von Ille (Gast)


Lesenswert?

Wieso seid ihr Wissenden in solchen Foren oft so neunmalklug?? 
kopfschüttel

von Piet (Gast)


Angehängte Dateien:

Lesenswert?

Salve,

ich habe auch das Display
TG12864B-13 von Pollin an einen ATMega32 (mit 16MHz)
angeschlossen. Und habe Probleme.

Als Lib verwende ich die zum LCD-Controller "KS0108".
Auch hier im Forum zu finden.
Display und Lib harmonieren aber irgendwie nicht.

Im Display wird nur Pixel-Müll angezeigt.
Als reset für das GLCD nutze ich den vom ISP.

Laut Datenblatt ist in dem Pollin Display der Controller "sbn0064g"
verbaut. Dazu gibt es im www auch "treiber" für die AVRs.

Nun bin ich verwirrt. Ist das Display nun kompatibel zum KS0108 oder 
nicht.
Jedenfalls funktionieren die als KS0108 deklarierten Libs mit dem Pollin 
Display bei mir nicht.

Habe gelesen, es könnte an fehlen Pullups liegen...an einem 
timing-Problem...invertiertes CS...usw...usw..

Hat vielleicht jemand das Pollin-Display "TG12864B-13" bei sich an einem 
AVR zum laufenbekommen? Und könnte mir seinen Schaltplan + Testcode 
zusenden?

Im Anhang habe ich mein C-Projekt (AVRStudio) und die 
Schaltungsunterlagen (eagle6x) hinterlegt.

Für Hilfe wäre ich sehr verbunden

Grüße
Piet

von spess53 (Gast)


Lesenswert?

Hi

>Nun bin ich verwirrt. Ist das Display nun kompatibel zum KS0108 oder
>nicht.

KS0108 und SBN0064G sind keine Displays, sondern Display-Controller. 
Ein, allerdings kurzer, Blick in die Datenblätter zeigt weitestgehende 
Identität.

Da beide zu den einfachsten Grafikcontrollern, die es überhaupt gibt, 
gehören tippe ich auf einen Hardwarefehler deinerseits.

MfG Spess

von Piet (Gast)


Lesenswert?

Salve,

ich weiß, dass es um die (Display)controller geht...
hardwarefehler...softwarefehler...ich bräuchte ein funktionsfähiges 
Paket: hardware(schaltplan) + software(c-code) um rausfinden zu können, 
welcher der beiden Teile bei mir fehlerhaft ist.

Wenn ich nur vergleichen könnte...klar kann man bei Adam und Eva 
anfangen und sich die Routinen anhand des Datenblatts zum 
Display-Controller neu erstellen und sich so ran tasten. Aber dies ist 
der steinige Weg...

Ich hoffe, ich habe einen Fehler in der hardware...sehe diesen 
vermeindlichen aber nicht.
Was will man da falsch machen?
8 Pins für die Daten, 5 Pins für die Steuerung,
Reset geht über den vom ISP.

Der ATMEL läuft, die USART funktioniert... nur das Display nicht...


Grüße
Piet

von Falk B. (falk)


Lesenswert?

@ Piet (Gast)

>Display-Controller neu erstellen und sich so ran tasten. Aber dies ist
>der steinige Weg...

Den jeder gehen muss.

>Ich hoffe, ich habe einen Fehler in der hardware...sehe diesen
>vermeindlichen aber nicht.

Da muss man halt mal systematisch rangehen.

>Was will man da falsch machen?

Genügend.

Verdrahtungsfehler?
Lötbrücken?
Unterbrechung?

Siehe Fehlersuche.

>Der ATMEL läuft, die USART funktioniert... nur das Display nicht...

Dann mal los!

von spess53 (Gast)


Lesenswert?

Hi

>...ich bräuchte ein funktionsfähiges
>Paket: hardware(schaltplan) + software(c-code) um rausfinden zu können,
>welcher der beiden Teile bei mir fehlerhaft ist.

>Der ATMEL läuft, die USART funktioniert... nur das Display nicht...

Wird wohl auch nur wegen Copy & Paste so sein.

MfG Spess

von Piet (Gast)


Lesenswert?

Salve,

wunderbar es funktioniert.
Es war ein sehr listiger Fehler.
Ich wette, über den sind ebenfalls
schon 100 andere gestolpert.

(mit c/p hatte es nichts zu tun)


Grüße
Piet

von Marcel (Gast)


Lesenswert?

Warum schreibst du nicht deine Lösung?

von Reinhard #. (gruebler)


Lesenswert?

Marcel schrieb:
> Warum schreibst du nicht deine Lösung?

Weil es seit einem halben Jahr
keinen interessiert!

von Ben-TM (Gast)


Lesenswert?

Hey!

Falls noch jemand in diesem Beitrag herumirrt: habe mir vor kurzem auch 
ein TG12864B-13B von Pollin zugelegt und möchte es mit dem Arduino 
betreiben. Als Code benutze ich die openGLCD library. Nun habe ich alles 
angeschlossen und sehe auch ab und zu sinnvolle Pixelkombinationen. Das 
meiste ist allerdings Pixelmüll. Hardware ist richtig verkabel. Hat 
jemand schon ähnliche Erfahrungen mit dem Display am Arduino gemacht.

Vielen Dank schon mal im Voraus!!
Grüße Ben

von W.S. (Gast)


Lesenswert?

Ben-TM schrieb:
> und möchte es mit dem Arduino betreiben...

Erst verstehen, dann machen.

W.S.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Ben-TM schrieb:
> Das
> meiste ist allerdings Pixelmüll. Hardware ist richtig verkabel.

Das klingt danach, als würdest du das Display überfahren, also zu 
schnell an den Leitungen wackeln, so das der Controller des LCD nicht 
hinterherkommt. Du solltest also mal probieren, die Schreibvorgänge auf 
das Display zu bremsen, mit taktisch plazierten delay().
Gerade die stromsparenden Displaycontroller sind oft in recht langsamer 
Technologie gefertigt - bestes Beispiel ist der alte HD44780.

: Bearbeitet durch User
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.