Forum: Projekte & Code DOG LCD 128x64 Initialisierung ATmega8 (Assembler)


von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Ein kleines Beispiel, wie ein DOG-LCD 128x64 in Assembler von einem 
ATmega8 angesteuert werden kann.

Das LCD wird initialisiert, meistens erscheinen ein paar undefinierte 
Pixel, anschließend erfolgt ein Clear und in Page 2 wird ein 
Zebra-Streifen gezeichnet.

Es ist kein fertiges Projekt, verschafft aber hoffentlich ein kleines 
Erfolgserlebnis, wenn bei richtiger Beschaltung ein paar Pixel zu sehen 
sind :-)


Bernhard

von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Noch ein Foto vom Versuchsaufbau ;)

von Philipp und Florian (Gast)


Lesenswert?

Wenn das klappt, bist du unser Held! Wir probieren es gleich aus! Danke!

von Bernhard S. (bernhard)


Lesenswert?

Was ich festgestellt habe, dass die blauen DOG-LCD 's nicht gerade sehr 
kontrastreich sind.

Habe den Kontrastwert in alle Richtungen verändert die
Hintergrundbeleuchtung in ihrer Stärke geändert, naja, hatte mir mehr 
daraus erhofft. Die grünen LCD'S sind nach meiner Meinung mit am besten.
Lassen sich bei allen Lichtverhältnissen gut ablesen.

Bernhard

von Jörg (Gast)


Lesenswert?

@ Bernhard Schulz,

Kannst du mal bitte die genaue Produktnummer angeben, evtl. auch die
von mögl. Hintergrundbeleuchtungen?
Ich wollte mir auch schon ein DOG-Display und eine Beleuchtung bei
Reichelt bestellen, kann aber aus den Produktbezeichnungen nicht
rauslesen, welche Beleuchtung zu welchem Display passt.

Danke,

Jörg

von Philipp S. (Gast)


Lesenswert?

Ich habe das Display nun in der gleichen Art und Weise angeschlossen und 
das ASM-Beispiel läuft. Danke! Jedoch bricht nach etwa 20-30 Sekunden 
der Kontrast ein und das Display wird blass, bis man irgendwann nichts 
mehr erkennt. Wenn ich das Display jetzt vom Strom trenne und wieder 
einschalte startet das Display direkt mit einem sehr schwachen Kontrast. 
Dies geschieht auch dann, wenn ich alle externen Kondensatoren via 
Kurzschluss entlade. Lasse ich das Display jedoch für eine ganze Weile 
aus, läuft es wieder 20-30 Sekunden.

Ich habe bereits durchgemessen, ob ich irgendwo Kontaktprobleme habe 
(z.B. bei den Kondensatoren) was bei Steckbrettern ja hin und wieder 
vorkommt, daran scheint es jedoch nicht zu liegen. Hier noch ein paar 
Rahmendaten, die vielleicht weiterhelfen:

- Mein ATMega8 wird mit 5V betrieben, das Display mit 3,3V
- Die 3,3V werden durch einen IC (LM 1085 IT3,3) und 2x 100µF an Ein- 
und Ausgang erzeugt. Die 5V für den IC nehme ich von meinem 
USB-Anschluss. Alternativ habe ich auch schon 2x 1,5V Batterien 
ausprobiert, was an dem Problem jedoch nichts geändert hat.
- Ich habe 1µF Keramikkondensatoren statt Elkos verwendet, da dies im 
Datenblatt des Displays vorgegeben war.

Ich bin für jede Antwort dankbar!

Gruß

Philipp

-----------------
@Jorg:
Wenn du dir das Datenblatt deines Wunschdisplays bei Reichelt ansiehst, 
findest du darin passende Beleuchtungen.

von Bernhard S. (bernhard)


Lesenswert?

> Jedoch bricht nach etwa 20-30 Sekunden
> der Kontrast ein und das Display wird blass, bis man irgendwann nichts
> mehr erkennt.

Wenn das Display intialisiert wurde, dann liegen an den Elkos, die gegen 
GND geschaltet sind, verschiedene Pegel an.

Schau doch mal, ob sich nach einigen Sekunden, ein oder mehrere Pegel 
stark ändern?

Stimmt die Polarität der Elkos?

Bernhard

von Philipp S. (Gast)


Lesenswert?

Danke für die schnelle Antwort. Wie bereits gesagt, habe ich 
Keramikkondensatoren statt Elkos verwendet. Kann es daran liegen? So wie 
ich das Datenblatt verstehe soll man keine Elkos nehmen.

Was meinst du mit Pegel? Einfach ein Voltmeter an die Beine des 
Kondensators?

von Philipp S. (Gast)


Lesenswert?

Jetzt gehts. Es müssen tatsächlich Elkos sein. Danke nochmal!

von Manfred B. (vorbeigeschlendert)


Lesenswert?

Philipp S. wrote:
> Jetzt gehts. Es müssen tatsächlich Elkos sein. Danke nochmal!

da muss dann aber was anders nicht stimmen, ich nehme für die Displays 
immer Keramikkondensatoren...

von MisterE (Gast)


Lesenswert?

Hallo Leute,

die DOG Displays sind schon interessant.

Inzwischen gibts auch eine größere variante.
und auch ein Touchpanel dafür.
Leider nicht einfach zu bekommen.

Reichelt hat nur das kleine und auch keinen Touch.

Wenn genug leute eine anfrage bei Reichelt machen nach dem Grossen, dann 
wird es ins program aufgenommen.

einfach den wunsch nach dem display an: anfrage at reichelt punkt de 
schreiben.

grüße

von Philipp S. (Gast)


Lesenswert?

> da muss dann aber was anders nicht stimmen, ich nehme für die Displays
immer Keramikkondensatoren...

Ja? Okay, dann muss mein Fehler wo anders gelegen haben. Vielleicht 
hatte ich etwas falsch angeschlossen, danke für die Info!

Ich habe inzwischen jedoch ein anderes Problem - das mir inzwischen jede 
Motivation und den letzten Nerv geraubt hat. Mein Display ist, wie 
gesagt, exakt so angeschlossen wie in Bernhard Schulz' Post. In ASM 
lässt es sich auch super ansteuern, aber jeder Versuch bei dem Display 
auch nur die geringste Reaktion auszulösen scheiterte mit C bislang. 
Wenn ich soll, stelle ich mal meinen Code online, aber ich weiß nicht 
welches der inzwischen 8 Projekte.

Es wäre super nett, wenn jemand einen kurzen, aber vollständigen Code 
online stellen könnte, der Initialisierung und eine winzige Ausgabe 
umfasst. Es muss nicht kommentiert oder schön sein, nur klappen sollte 
es.

Wäre echt super nett, weil ich das irgendwie nicht gebacken bekomme.

PS: Ich verwende AVR Studio 4 - falls das eine Rolle spielt.

Ich bedanke mich vorab fürs Lesen und würde mich über eine Antwort sehr 
freuen!

von Georg (Gast)


Lesenswert?

Nicht dass ich mich täusche ... aber in dem Datenblatt von EA sind die 
Pins anders belegt als die in dem Beispiel von Bernhard.
Als Beispiel: Bei ihm ist Pin 39 RESET, laut Datenblatt sollte es Pin 40 
sein.

Kann mir jemand was dazu sagen? Weiß nun leider nicht genau wie ichs 
anschließen soll ...

von Bernhard S. (bernhard)


Lesenswert?

Hab gerade nochmal nachgeschaut, ich verwende das EA DOGM128E-6.

Dort ist PIN 39 Reset.

von Bernhard S. (bernhard)


Lesenswert?


von Philipp S. (Gast)


Angehängte Dateien:

Lesenswert?

Nabend! ;)

Ich habe nochmal ein wenig rumgetestet, das DOGM128 streikt jedoch nach 
wie vor in C. Den letzten Code habe ich mal angehangen. Wäre nett, wenn 
jemand mal einen Blick darauf werfen könnte.

Gruß, Philipp

von Tobias B. (roxxity)


Lesenswert?

Ich habs jetzt net genau angeschaut, aber bist du dir sicher dass SPI 
überhaupt tut?

Damit sich da was tut musst du nicht nur SCK und MOSI, sondern auch das 
SS-Pin als Ausgang schalten. Beim ATMega8 also

DDRB = (1<<DDB3)|(1<<DDB5)|(1<<DDB2);

für alle 3 Ports.

von Georg (Gast)


Lesenswert?

von Bernhard:
Hab gerade nochmal nachgeschaut, ich verwende das EA DOGM128E-6.

Dort ist PIN 39 Reset.



Das war mein Fehler! Ich verwende das EA DOGM162x-A!
Alles klar :-)

von Philipp S. (Gast)


Lesenswert?

@Tobias B.: Danke, das war der Fehler! Hab noch nicht all zu viel 
Erfahrung mit µC.

Gruß, Philipp

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.