LCD löschen

Im Unterforum Microcontroller - Beschreibung: Hardware - Software - Ideen - Projekte

Elektronik Forum Nicht eingeloggt       Einloggen       Registrieren




[Registrieren]      --     [FAQ]      --     [ Einen Link auf Ihrer Homepage zum Forum]      --     [ Themen kostenlos per RSS in ihre Homepage einbauen]      --     [Einloggen]

Suchen


Serverzeit: 29 11 2024  10:46:15      TV   VCR Aufnahme   TFT   CRT-Monitor   Netzteile   LED-FAQ   Osziloskop-Schirmbilder            


Elektronik- und Elektroforum Forum Index   >>   Microcontroller        Microcontroller : Hardware - Software - Ideen - Projekte


Autor
LCD löschen
Suche nach: lcd (4684)

    







BID = 397689

techno

Neu hier

Beiträge: 29
 

  


Hallo zusammen,

ich bin gerade dabei mit einem Mikrocontroller und einem LCD eine Menüführung für eine Schaltuhr aufzubauen.

Ich habe aber dabei folgendes Problem.
Immer wenn ich das LCD (HD44780 Controller)mit dem Displaybefehl 0x01 löschen möchte und auch auch danach eine Pausenzeit von über 1,64 ms einhalte kommt es jedesmal durcheinander und fängt an zu flackern.

Muss ich das LCD danach jedesmal neu initialisieren ,
oder ist es besser wenn ich den Textpuffer an den entprechenden Stellen mit einem Leerzeichen 0xFE überschreibe ?


Ich möchte mich hiermit schon im voraus bei allen Helfenden bedanken.

mfg techno

BID = 397692

Benedikt

Inventar

Beiträge: 6241

 

  

1. Ein Leerzeichen ist 0x20 und nicht 0xFE
2. 1,64ms warten ist keine gute Lösung. Besser: Busy Flag abfragen
3. Wenn das LCD anfängt zu flackern hast du irgendwas falsch angeschlossen. Es gibt keinen Softwarebefehl der irgenwas in dieser Richtung auslösen könnte.

BID = 397699

Her Masters Voice

Inventar


Avatar auf
fremdem Server !
Hochladen oder
per Mail an Admin

Beiträge: 5308
Wohnort: irgendwo südlich von Berlin

sowas hatte ich mal mit nem alten Sharp-LCD. Wenn man den Löschbefehl benutzt hat und die im Datenblatt angegebene Wartezeit, dann kam oft der LCD-Controller ausm Tritt. Mit Busy-Abfrage gehts, aber auch mit ner längeren PAuse nach dem Befehl. Ich hatte damals einfach die 10-fache Zeit genommen weil ich Busy eigentlich nie abfrage. Allerdings bevorzuge ich es die Displayausgaben vorher im Speicher zu formatieren und den gesamten Inhalt ans LCD zu schicken. Gelöscht wird natürlich genauso, also einfach das Display mit Leerzeichen füllen.

_________________
Tschüüüüüüüs

Her Masters Voice
aka
Frank

***********************************
Der optimale Arbeitspunkt stellt sich bei minimaler Rauchentwicklung ein...
***********************************

BID = 397703

DonComi

Inventar



Beiträge: 8605
Wohnort: Amerika

Ich mache das schon mit dem Busyflag. Denn dazu ist das ja da . Zumindest geht es dann maximal schnell.

Wenn ich ein LCD komplett lösche, dann setze ich erstmal die Schreib/Leseadresse an einen Zeilenanfang und führe dann den Löschbefehl aus.

Da die Daten so schnell geschrieben werden, ist es für das menschliche Auge nicht erkennbar, dass die Zeichen nacheinander geschrieben werden.
Klar, man kann auch vorher den RAM zuballern und danach das Display anschalten.

Das ist Jacke wie Hose. (Zumindestens vom Ergebnis)

_________________

BID = 397764

Syncroni

Gerade angekommen


Beiträge: 8
Wohnort: Esslingen

Hi Techno,
kann es sein das dein Mikro abschmiert wenn du in die Schleife läuftst. Da solltest du deinen Code mal prüfen.
Der schreibt dann einen haufen Schrott ins Display deshalb sieht das so aus als ob es flackert.


Zitat :
techno hat am  7 Jan 2007 20:06 geschrieben :

Hallo zusammen,

ich bin gerade dabei mit einem Mikrocontroller und einem LCD eine Menüführung für eine Schaltuhr aufzubauen.

Ich habe aber dabei folgendes Problem.
Immer wenn ich das LCD (HD44780 Controller)mit dem Displaybefehl 0x01 löschen möchte und auch auch danach eine Pausenzeit von über 1,64 ms einhalte kommt es jedesmal durcheinander und fängt an zu flackern.

Muss ich das LCD danach jedesmal neu initialisieren ,
oder ist es besser wenn ich den Textpuffer an den entprechenden Stellen mit einem Leerzeichen 0xFE überschreibe ?


Ich möchte mich hiermit schon im voraus bei allen Helfenden bedanken.

mfg techno

BID = 397909

techno

Neu hier

Beiträge: 29

Hallo zusammen,

dauert bei mir etwas länger bis ich Antworten kann,
weil ich leider nur am Abend Zeit habe.

Ich habe einmal meine LCD Routine hochgeladen.
Nach der Initialisierung lasse ich auf dem LCD 2,5 Sekunden die Version des Programmes und den Autor anzeigen.
Danach lösche ich das Display mit den Befehlen

movlw B'00000001'
call OutLcdControl

an dieser Stelle des Programms funktioniert das auch.
Wenn ich aber versuche an einer anderen Stelle im Programm die selben Befehle auszuführen dann kommt es zu dem besagten Fehler.
Die Routine "OutLcdControl" überprüft doch auch das Busy Flag und ein folgender Schreibbefehl wartet doch auch solange bis das Busy Flag wieder gelöscht ist.

Eine weitere Frage die ich noch habe ist.
Auf Sprut seiner Seite habe ich gelesen das die Anfangsadressen für ein zweistelliges LCD 0x00 und 0x40 sind
warum muss ich dann B'10000000' für die 1.Zeile und B'11000000' für die 2.Zeile als Steueradresse senden?
Ich habe vermutet dass das MSB das Busy Flag ist. ?????


mfg techno

BID = 398136

techno

Neu hier

Beiträge: 29

Hallo zusammen,

ich habe meinen groben Anfängerfehler gefunden.
Der Fehler bestand darin, dass ich in verschiedennen Menüpunkten das LCD ständig gelöscht und wieder beschrieben habe.
Dadurch kamm es zu einer flackernden Anzeige.
Ich weis jetzt auch dass das MSB in der Steueradresse für Selektierung im DDRAM genutzt wird.

Vielen Dank für eure Hilfe.

mfg techno

BID = 398833

techno

Neu hier

Beiträge: 29

Hallo zusammen,

wie kann ich dieses Thema schließen ?


mfg techno


Zurück zur Seite 1 im Unterforum          Vorheriges Thema Nächstes Thema 


Zum Ersatzteileshop


Bezeichnungen von Produkten, Abbildungen und Logos , die in diesem Forum oder im Shop verwendet werden, sind Eigentum des entsprechenden Herstellers oder Besitzers. Diese dienen lediglich zur Identifikation!
Impressum       Datenschutz       Copyright © Baldur Brock Fernsehtechnik und Versand Ersatzteile in Heilbronn Deutschland       

gerechnet auf die letzten 30 Tage haben wir 19 Beiträge im Durchschnitt pro Tag       heute wurden bisher 5 Beiträge verfasst
© x sparkkelsputz        Besucher : 182422413   Heute : 1453    Gestern : 5459    Online : 274        29.11.2024    10:46
6 Besucher in den letzten 60 Sekunden        alle 10.00 Sekunden ein neuer Besucher ---- logout ----viewtopic ---- logout ----
xcvb ycvb
0.0339720249176