www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD mit KS0108 merkwürdige Fehler


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich habe ein graphisches LCD (128x64) mit KS0108 an einem ATmega16
angeschlossen. Funktionierte bis vor kurzem bestens und ohne Probleme.
Hab mich bei den Timings auch ans Datenblatt gehalten.
Als ich nun die Software um einiges erweiterte, kommt es vor, dass die
rechte Hälfte plötzlich um genau 2 Zeilen nach unten verschoben wird.
Direkt nach dem Einschalten ist alles in Ordnung. Erst nach einer
gewissen Zeit (manchmal länger, manchmal kürzer) springt die rechte
Seite runter. Trotzdem funktioniert das LCD noch. Die Anzeige wird
aktualisiert und alles läuft einwandfrei, nur eben rechts um zwei
Zeilen verschoben. Habe auch ein Bild im Anhang zur besseren
Darstellung.
Ich kann mir dieses komische Verhalten einfach nicht erklären. Hab
bereits an den Signaltimings rumgespielt, es hat sich aber nichts
gebessert. Vielleicht könnte es ja auch an der Init-Routine liegen,
doch das Display arbeitet nach dem Einschalten korrekt.
Hatte jemand schon mal ein ähnliches Problem? Oder weiß jemand, wie man
sich das erklären kann?
Bei Bedarf poste ich auch den Source Code zur LCD-Ansteuerung und
eventuell auch die Init-Routine.

gruß, Albert

Autor: Urs Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

leider kann ich dir nicht helfen. Aber ich habe mir ach ein fast
gleiches Lcd Gekauft und leider ein wenig schwirigkeiten den durchblich
zu halten vieleicht kannst du mir ja helfen.

Wie initalalisiert man das LCD ?

Und wie bringe ich ein Punkt oder Buchstaben auf das Grafikdisplay ?

Ich bedanke mich schon im jetzt für deine Hilfe, und freue mich auf
eine antwort. (muller_urs@yahoo.de)

mit freudlichen Grüssen

Urs Müller

Autor: Philipp Burch (not logged in) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Albert:

Scheint eher an deiner Software zu liegen. Könnte es sein, dass du
zwischendurch irgendwo einen Speicherbereich verletzt oder so? Kann
alles vorkommen.

@Urs:

Hast du das Datenblatt vom LCD runtergeladen, angeschaut und
verstanden?

Autor: Albert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Obwohl es schon mehr als ein Jahr her ist, hier die Lösung falls jemand
ein ähnliches Problem hat:
Ich hab eine Routine geschrieben, die mit cli und sei global die
Interrupts deaktivieren musste. Aus Versehen hab ich diese Routine auch
aus dem Timer-Interrupt aufgerufen. Und somit wurde wie beschrieben nach
einer zufälligen Zeit der Timer-Interrupt von sich selbst unterbrochen.

Autor: Dietmar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt KS0108 Seite 12 unten:

10. Display Start Line Register

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.