In der LCD.h steht folgendes // PC0 bis PC3 sind der 4-Bit Databus von/zum LCD // Diese werden von der Routine angesprochen #define LCD_set_e() (PORTC |= (1<> 4; // alles um vier stellen nach rechts schieben data = data & 0x0F; // es werden nur die unteren 4 Bits übernommen while (LCD_Rd()); LCD_clr_rw(); LCD_clr_rs(); LCD_set_e(); PORTC = data; // Daten auf LCD port kopieren delay(1000); LCD_clr_e(); delay(1000); temp2 = temp2 & 0x0F;// es werden nur die unteren 4 Bits übernommen while (LCD_Rd()); LCD_set_e(); PORTC = temp2; // Daten auf LCD port kopieren delay(1000); LCD_clr_e(); } void LCD_send(u08 data) { register u08 temp2 = data; data = data >> 4; // alles um vier stellen nach rechts schieben data = data & 0x0F; // es werden nur die unteren 4 Bits übernommen LCD_clr_rw(); LCD_set_rs(); // auf schreiben umschalten while (LCD_Rd()); LCD_set_e(); PORTC = data; // Daten auf LCD port kopieren delay(1000); LCD_clr_e(); delay(1000); temp2 = temp2 & 0x0F;// es werden nur die unteren 4 Bits übernommen //while (LCD_Rd()); LCD_set_e(); PORTC = temp2; // Daten auf LCD port kopieren delay(1000); LCD_clr_e(); delay(1000); } void init_LCD() { delay(5000); delay(5000); delay(5000); LCD_clr_rw(); LCD_clr_rs(); LCD_isend(0b00100000); // Set 4Bit LCD_isend(0b00101000); // Set 4Bit LCD_isend(0b00001111); // 2|4 zeilen | dislay on | courser on | 5x7font LCD_isend(0b00000100); // Auto increment Mode LCD_isend(0b00000001); // Clear Display }