Bitmodus setzen und Soft reset - LCD mit HD44780

Gast #2817927
Lesenswert?

Moin,

ich gucke mir jetzt schon den ganzen Tag die Funktionsweise der 
Ansteuerung für LC-Displays an (C-Code), leider ist in den Tutorials 
mein Anliegen nicht genauer beschrieben, jedenfalls kann ich es nicht 
finden.

Es geht um die einstellung des Bitmodus (4 oder 8 bit).
1
lcd_out( LCD_SET_FUNCTION |
2
             LCD_FUNCTION_4BIT );

Dort wird über die Funktion PortD auf xxxx0010 geschaltet was aber nach 
dem Befehlssatz des LCDs nicht dem ändern des Bitmous entspricht. Nach 
dem übrigen Code müsste man entweder mehr Datenpins vom LCD ansteuern 
(wenn das LCD standardmäßig auf 8bit eingestellt ist) oder es müsste 
nach der Ausgabe nochmal ein gelöschtes Nibble gesendet werden (0000). 
Wie funktioniert das dann?


Und dann habe ich noch eine Frage: Aus welchem Grund wird der Softreset 
3 mal hintereinander gemacht und in welchem Zusammenhang steht er mit 
dem 8bit Modus? Denn der Befehl lautet 0x00110000 genauso wie 
(LCD_SET_FUNCTION | LCD_FUNCTION_8BIT)?
1
    // Soft-Reset muss 3mal hintereinander gesendet werden zur Initialisierung
2
    lcd_out( LCD_SOFT_RESET );
3
    _delay_ms( LCD_SOFT_RESET_MS1 );
4
 
5
    lcd_enable();
6
    _delay_ms( LCD_SOFT_RESET_MS2 );
7
 
8
    lcd_enable();
9
    _delay_ms( LCD_SOFT_RESET_MS3 );


Den Code habe ich von hier: 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung
#2818008
Lesenswert?

lk schrieb:
> Dort wird über die Funktion PortD auf xxxx0010 geschaltet was aber nach
> dem Befehlssatz des LCDs nicht dem ändern des Bitmous entspricht.

Wieso nicht? Gemäß diesem Datenblatt (letzte Seite):
http://www.produktinfo.conrad.com/datenblaetter/175000-199999/183342-da-01-ml-LCD_Modul_16x2_Zeichen_de_en.pdf
wird der 4-Bit-Modus durch Anlegen des Bitmusters 0010 an die Eingänge 
DB7-DB4 des LCD eingestellt.

> Aus welchem Grund wird der Softreset
> 3 mal hintereinander gemacht
Das haben die Entwickler des HD44780 so festgelegt.

> in welchem Zusammenhang steht er mit
> dem 8bit Modus?
In keinem. Diese Sequenz ist sowohl im 8-Bit-Modus als auch im 
4-Bit-Modus identisch.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren