Hallo zusammen!
Möchte wie im Titel beschrieben ein LCD-Display (EA W404B-NLW) über mein Board (STK500, AtMega8515, AVR-Studio) ansteuern. Problem besteht aber schon bei der Initialisierung. Ich möchte das Display im 4-Bit Modus betreiben. Die Pins DB4-DB7 sind mit den Anschlüssen 0-3 an Port A verbunden. Enable mit Pin A6, R/W mit Pin A4 und RS an Pin A5. Kontrastspannung ist auch korrekt eingestellt. Mit der folgenden Initialisierung sollte am Ende der Cursor in der 1.Spalte und 1.Zeile zu sehen sein, und zwar blinkender Weise. Macht es aber nicht.
Gruß
Steffen
Möchte wie im Titel beschrieben ein LCD-Display (EA W404B-NLW) über mein Board (STK500, AtMega8515, AVR-Studio) ansteuern. Problem besteht aber schon bei der Initialisierung. Ich möchte das Display im 4-Bit Modus betreiben. Die Pins DB4-DB7 sind mit den Anschlüssen 0-3 an Port A verbunden. Enable mit Pin A6, R/W mit Pin A4 und RS an Pin A5. Kontrastspannung ist auch korrekt eingestellt. Mit der folgenden Initialisierung sollte am Ende der Cursor in der 1.Spalte und 1.Zeile zu sehen sein, und zwar blinkender Weise. Macht es aber nicht.
PHP:
int main (void)
{
DDRB = 0xFF; //LED's zur Funktionsprüfung
DDRA = 0xFF;
while (1)
{
PORTB = 0b00000000;
_delay_ms(1000);
if (disp_on==0)
{
PORTB = 0b11110000;
_delay_ms(1000);
PORTA = 0b01000010; //4bit-Modus Display
PORTA = 0b00000010;
_delay_ms(10);
PORTA = 0b01000010; //1-zeiliges Display
PORTA = 0b00000010;
PORTA = 0b01000000;
PORTA = 0b00000000;
_delay_ms(10);
PORTA = 0b01000000; //Display ein, Cursor ein, Cursor blinken
PORTA = 0b00000000;
PORTA = 0b01001111;
PORTA = 0b00001111;
_delay_ms(10);
PORTA = 0b01000000; //Display Löschen, Cursor auf 1. Spalte, 1. Zeile
PORTA = 0b00000000;
PORTA = 0b01000001;
PORTA = 0b00000001;
_delay_ms(10);
disp_on=1;
}
PORTA = 0b01000000; //Cursor Auto-Increment
PORTA = 0b00000000;
PORTA = 0b01000110;
PORTA = 0b00000110;
_delay_ms(10); */
}
}
Gruß
Steffen