mikrocontroller.net

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


Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Bernhard S. (bernhard)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Noch ein Foto vom Versuchsaufbau ;)

Autor: Philipp und Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn das klappt, bist du unser Held! Wir probieren es gleich aus! Danke!

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philipp S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philipp S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Philipp S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jetzt gehts. Es müssen tatsächlich Elkos sein. Danke nochmal!

Autor: Manfred B. (vorbeigeschlendert)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: MisterE (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Philipp S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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!

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ...

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab gerade nochmal nachgeschaut, ich verwende das EA DOGM128E-6.

Dort ist PIN 39 Reset.

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Philipp S. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Tobias B. (roxxity)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 :-)

Autor: Philipp S. (Gast)
Datum:

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

Gruß, Philipp

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.