www.mikrocontroller.net

Forum: Compiler & IDEs GrafikLCD an ATmega328


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen!

Ich hoffe ich poste meine Frage hier im richtigen Forumsbereich. 
Folgendes Problem:

Ich habe hier ein Grafikdisplay Typ PG192128B (192x128 dots, Datenblatt 
im Anhang) und versuche dieses mit einem ATmega328P anzusteuern. Den 
Quellcode habe ich von 
http://www.frozeneskimo.com/electronics/2007/03/30.... 
Diesen habe ich ein wenig auf meinen Controller angepasst. Ich benutze 
den PortC für die Displaysteuerung, die Ports -B und -D für die 
Datenübertragung (PortB untere 4Bit PortD obere 4Bit). Es funktioniert 
auch im Prinzip alles genauso wie ich mir das vorstelle, doch leider 
immer nur bis Pixel 159, ab 160 verrutscht er um eine "Zeile" nach unten 
und springt 2Byte weiter nach rechts, also auf Pixel 175, egal in welche 
"Zeile" ich schreibe. Die Eckdaten des Displays sind alle richtig 
eingetragen, und auch die gesammte Initialisierungsroutine ist mit dem 
Datenblatt stimmig (für Grafikbetrieb). Ich weiss keinen Rat mehr. Habt 
Ihr eventuel einen Tip für mich?


Vielen Dank für Eure Mühe

Greetz Daniel

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,
ich verzweifele gerade an der gleichen Aufgabe.
Ein Problem scheint die Umschaltung der Zeilendecoder (80+48) und der 
Spaltendecoder (80+80+32) zu sein. Das Display-Datasheet gibt dazu 
nichts her.
Ich kann nur in der linken oberen Ecke des Displays rummalen.
Gibts bei dir schon Fortschritte?
Beste Grüsse
Thomas

Autor: Jochen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
wenn es die PG192128B sind, die es z.Zt. bei ebay für knapp 10€ gibt, 
dann haben die eventuell einen Fehler in der Dekodierung wenn x > 159.
Probiert die mal im Textmodus aus. Da tritt dieser Fehler auch auf.
Gruss
Jochen

Autor: leluno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe ein winstar 160x160 mit lc7981, Ansteuerung funktioniert bis Zeile 
130. Ab Zeile 130 wird der Inhalt von Zeile 0-30 erneut angezeigt. 
CS-Chipselect wird im übernommenen Code nicht angesteuert sondern auf + 
gesetzt. Weiß jemand, wie CS für den unteren Teil des LCD verwendet 
werden kann??

Autor: leluno (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mein Problem ist geklärt, im Code von Sergeev ist der timeshift mit 
128-1 angegeben, müsste für mein Display 160-1 sein. Cs muss nicht 
angesteuert werden, da nur ein chip. cs, rw u. rst werden im code nicht 
verwendet und gehören daher auf --+.

Autor: G_P (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat von euch mittlerweile einer eine lösung gefunden??

gruß

Autor: karl k. (leluno)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
problem dürfte an variablenüberlauf liegen, unsingned char durch 
uint16_t ersetzen. geht dann zumindest bei lcd 160x160 problemlos

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.