Forum: Mikrocontroller und Digitale Elektronik LCD KS0070B 2. Zeile Problem


von JO (Gast)


Lesenswert?

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! :)

von Rik Langobar (Gast)


Lesenswert?

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?!

von JO (Gast)


Lesenswert?

ne das klappt nicht :(

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
Noch kein Account? Hier anmelden.