Moin,
im Tutorial ist das LCD folgendermaßen initalisiert:
powerupwait:
rcall delay5ms
dec temp3
brne powerupwait
ldi temp1, 0b00000011 ; muss 3mal hintereinander
gesendet
out PORTD, temp1 ; werden zur Initialisierung
rcall lcd_enable ; 1
rcall delay5ms
rcall lcd_enable ; 2
rcall delay5ms
rcall lcd_enable ; und 3!
rcall delay5ms
ich verstehe nicht warum dreimal hintereinander gesendet wird? Was wird
da an das LCD gesendet?
Mfg
Wie schon oft zu lesen, wird 3mal "8-Bit-Mode" gesendet, da man weder weiß ob 4 oder 8 aktive ist, noch ob sich der LCD-Controller bei 4-Bit in "warten auf 1. oder 2. Nibble" befindet. Mit der Sequenz kommt man garantiert in 8-Bit-Mode und kann dann initialisieren wie man's braucht. Nachtrag: zum Mode-Umschalten reichen die oberen 4 Bit.
AVRBastler schrieb: > K_H schrieb: >> Was wird da an das LCD gesendet? > > Das was im Port geschrieben steht. An die an PD0..3 hängenden D4..7 des LCD-Controllers der Wert '0011' binär, was im 8-Bit-Mode der Initialisierung "8-Bit-Mode" entspricht und wenn 3mal hintereinander ausgegeben zuverlässig den 8-Bit-Mode einschaltet.
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.