Hallo, ich lese und versuche den Code zur Initialisierung des LCDs zu verstehen. http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD hierbei verstehe ich die folgenden Codes nicht: powerupwait: 1)Warum bzw. was bedeutet 00000011?? Bedeutet das, dass an den Pins D0 und D1 5V anliegen?? -------------------------------------------------------------- -------------------------------------------------------------- ldi temp1, 0b00000011 ; muss 3mal hintereinander gesendet out PORTD, temp1 ; werden zur Initialisierung --------------------------------------------------------------- --------------------------------------------------------------- 2) Woher weiss ich das hier der 4 Bit Modus eingestellt ist?? ldi temp1, 0b00000010 ; 4bit-Modus einstellen out PORTD, temp1 Bin echt am verzweifeln. Danke für jede Hilfe
Anfänger schrieb: > Woher weiss ich das hier der 4 Bit Modus eingestellt ist?? hast du mal das Datenblatt von dem Display gelesen?
Hi
>hast du mal das Datenblatt von dem Display gelesen?
Das steht da oft nicht drin. Besser das Datenblatt vom HD44780 benutzen.
MfG Spess
Danke.. das mit den Funktionen (aus dem Dantenblatt) setzen oder Anzeigenkontrolle ein und aus, habe ich verstanden. Jedoch weiß ich nicht wo im Datenblatt die Einstellung des 4-Bot Modus bzw 3 mal hintereinander gesendet steht. Kann mir jemand eventuell sagen auf welcher Seite ich gucken soll? Lieben Dank
>Kann mir jemand eventuell sagen auf welcher Seite ich gucken soll?
Ganz weit hinten steht das.
Hi
>Kann mir jemand eventuell sagen auf welcher Seite ich gucken soll?
In welchem Datenblatt?
MfG Spess
Oft steht es nirgends, aber man nutzt es, wenn man nicht weiß, in welchem Modus das Display sich gerade befindet, nicht nach einschalte, aber wenn der μC ge-resettet wird. Es kann sich, auch ungewollt, im 8-Bit-Modus befinden oder im 4-Bit-Modus vor dem ersten oder zweiten Nibble. Letzteres macht jede Befehlsübertragung zum Glücksspiel. Nach 3x "4-Bit-Mode" ist das Display tatsächlich in diesem Modus. Alle anderen zu lesenden Verfahren führen zu Problemen, die man dann durch "abschalten" lösen muß.
Wenn man was aus dem (alte) Kopf hinschreibt: 3x"8-Bit-Mode", dann hat man den auch sicher und kann dann (gechilled) auf "4-Bit-Mode" schalten.
Danke für die Antworten.. Ist dieser Code (aus: http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD) auch aus dem Datenblatt ableitbar? Zum Beispiel ich weiß nicht, warum der 4te Bit (1)*) im Register temp1 gesetzt wird . lcd_data: mov temp2, temp1 ; "Sicherungskopie" für ; die Übertragung des 2.Nibbles swap temp1 ; Vertauschen andi temp1, 0b00001111 ; oberes Nibble auf Null setzen --> 1)* sbr temp1, 1<<4 ; entspricht 0b00010000 (Anm.1) out PORTD, temp1 ; ausgeben rcall lcd_enable ; Enable-Routine aufrufen ; 2. Nibble, kein swap da es schon ; an der richtigen stelle ist andi temp2, 0b00001111 ; obere Hälfte auf Null setzen sbr temp2, 1<<4 ; entspricht 0b00010000 out PORTD, temp2 ; ausgeben rcall lcd_enable ; Enable-Routine aufrufen rcall delay50us ; Delay-Routine aufrufen ret ; zurück zum Hauptprogramm viele Grüße
jetzt wird es trollig! Die die 4bit-initialisierung wie in der Anlage gezeigt, habe ich aus dem original HD44780-Datenblatt S. 213 entnommen. Wen da einer wissen will warum dieses oder jenes Bit so gesetzt werden muss, kann ja mal ein Anfrage bei Hitachi starten...
GroberKlotz schrieb: > jetzt wird es trollig! Ja! GroberKlotz schrieb: > Wen da einer wissen will > warum dieses oder jenes Bit so gesetzt werden muss, kann ja mal ein > Anfrage bei Hitachi starten... Oder auf Seite 191 nachsehen. Hat keine Minute gedauert, das zu finden! Siehe auch: Beitrag "HD44780 Initialisierung - warum dreimal 0x30?" Gruß Jobst
Anfänger schrieb: > Zum Beispiel ich weiß nicht, warum der 4te Bit > (1)*) im Register temp1 gesetzt wird . guckst Du Anschluss -> an PD4 hängt RS und weil Daten gesendet welche angezeigt werden sollen muss RS auf 1
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.