Hallo, ich betreibe ein Displaytech 162 mit KS0070B controller an einem Atmega8 im 4bit modus. Meine init sieht so aus: void lcd_init(void) { DDRB = 0xD7;//((1 << LCD_E_PIN) | (1 << LCD_RS_PIN) | (1 << LCD_DATA_PIN_D4) | (1 << LCD_DATA_PIN_D5) | (1 << LCD_DATA_PIN_D6) | (1 << LCD_DATA_PIN_D7) ); PORTB=0; _delay_ms(200); PORTB = 0x03; lcd_e_toggle(); _delay_ms(5); lcd_e_toggle(); _delay_ms(1); lcd_e_toggle(); _delay_ms(5); PORTB=0x20; lcd_e_toggle(); _delay_ms(5); // ab hier im 4-Bit-Modus lcd_command(0x28); // Funktions-Set: 2 Zeilen, 5x7 Matrix, 4 Bit _delay_ms(5); // Zeit zum Umschalten lassen lcd_command(0x08); //Display off _delay_ms(5); lcd_command(0x01); //Clear _delay_ms(5); lcd_command(0x06); //Entrymode _delay_ms(5); lcd_command(0x0C); _delay_ms(15); } Soweit funktioniert auch alles, nur wenn ich in zeile 2, also ab Adresse 0x40 schreiben will erscheint nix in Zeile 2. Beim start wird nur Zeile 1 mit schwarzen kästchen gefüllt. void lcd_gotoxy(u08 x, u08 y) { if(y==0){ lcd_command((1 << LCD_DDRAM) + 0x00 + x); }else{ lcd_command((1 << LCD_DDRAM) + 0x40 + x); } } Diese Funktion benutze ich zum Zeilenwechseln. HILFE! :)
Hi, versuch mal in die nicht vorhandene dritte Zeile zu schreiben. Ich habe hier ein 4x16-Display herum liegen, wo die 4 Zeilen nach folgendem Schema vertauscht sind: 1 3 2 4 Vielleicht ist das bei dir auch so?!
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.