mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schaltzeiten beim LCD - Display HD44780


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
Beim Schreibzugriff aus das Display [LCD - Display HD44780]muss man 
Enable auf '1' und wieder auf '0' setzen. Wie lange muss man dazwischen 
warten, damit das Display den Befehl verarbeiten kann?

Im Datenblatt sind wir nicht fündig geworden.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hans wrote:
> Hallo,
> Beim Schreibzugriff aus das Display [LCD - Display HD44780]muss man
> Enable auf '1' und wieder auf '0' setzen.

Im Tutorial werden einfach zwischen dem Setzen
und dem Löschen 3 nop gemacht. Bei meinen Versuchen
hat das auch bei 16MHz gelangt. Ohne jetzt den HD44780
zu kennen würde ich mal sagen, dass ein Setzen gefolgt
von einem sofortigem Löschen wahrscheinlich auch ausreicht.
Sinnvollerweise wird mit dieser 1 auf Enable im HD44780
ja irgendein Flip-Flip getriggert werden, das der Prozessor
im HD44780 dann in aller Gemütsruhe irgendwann in nächster
Zeit abfragt.

> Wie lange muss man dazwischen
> warten, damit das Display den Befehl verarbeiten kann?

Hier dürfte ein Missverständnis vorliegen.
Das LCD arbeitet nicht den Befehl ab solange Enable auf 1
ist. Diese 1 signalisiert dem LCD lediglich: Jetzt kannst
du anfangen. Danach kann Enable wieder auf 0 gehen,
das LCD arbeitet den Befehl trotzdem weiter ab.

Danach musst du dem Display allerdings etwas Zeit geben,
bevor du den nächsten Befehl (Daten) mittels Enable
in den Controller schiebst.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die meisten Befehle brauchen 40us, ausser HOME und CLEAR, die brauchen 
1,6ms.

MFg
Falk

Autor: Sven S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommt aufs Display drauf an ich hab mal bei nem guten Display 50 Zyklen 
aufm nem mit 16mhz avr geschafft ist aber wie gesagt abhängig von deimem 
Display.

gruss sven

Autor: Michael U. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

E pulse width (high level) min. 230ns
E cyclus time min. 500ns

Datenblatt HD44780 S.52 Bus Timing Characteristics.

Die Zyklus-Zeit ist eigentlich nur von Bedeutung für den Abstand 
Schreibzyklus -> erster Lesezyklus für Busy-Flag.

Die High-Zeit ist also bei 16MHz rund 4 AVR-Takte,
sbi...
3x nop
cbi sollten also immer klappen.

Gruß aus Berlin
Michael

Autor: Uwe (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
<. Diese 1 signalisiert dem LCD lediglich: Jetzt kannst
<du anfangen. Danach kann Enable wieder auf 0 gehen,
Das stimmt so nicht, E ist flankengetriggert und zwar H->L.
Mein "E" steht zb. grundsätzlich auf H.
zB. Ausgabe in 4Bit-Mode:
;****** SUB Ein Zeichen oder eine Funktion setzen 
*******************************

Z_set:  sbi  portb,RS  ;RS = 1
Fu_set: swap  lcdtmp
  out  portd,lcdtmp
  cbi  portb,E    ;E = 0 = Daten übernehmen(LCD)
  inc  takt    ;mit TOV0 Takt erzeugen
t4:  tst  takt    ;takt noch 1? ->t4
  brne  t4
  sbi  portb,E    ;E = 1
  rcall  _2us
  swap  lcdtmp    ;Nibbel tauschen
  out  portd,lcdtmp  ;und Low-Nibbel ausgeben
  cbi  portb,E    ;E = 0 = Daten übernehmen(LCD)
  inc  takt    ;mit TOV0 Takt erzeugen
t5:  tst  takt    ;takt noch 1? ->t2
  brne  t5
  sbi  portb,E    ;E = 1
  cbi  portb,RS  ;RS = 0
  ret

Und das geht ohne Probleme.

Viel Erfolg, Uwe

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Uwe wrote:
> Hi!
> <. Diese 1 signalisiert dem LCD lediglich: Jetzt kannst
> <du anfangen. Danach kann Enable wieder auf 0 gehen,
> Das stimmt so nicht, E ist flankengetriggert und zwar H->L.
> Mein "E" steht zb. grundsätzlich auf H.

Gute Info.
Ich dachte immer es wäre anders rum. Wieder was gelernt.

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.