PIC LCD Modul Treiber HI-Tech

Gast #1949716
Lesenswert?

Hallo,
 ich in am verzweifeln, mein LCD Modul (4 Bit Modus) läuft manchmal 
nicht an.
Vermute einen Fehler in meiner Soft.
Unten ist ein original Code Ausschnitt vom HITECH C18 Treiber aus dem 
sample Verzeichnis.
Kann mir jemand bitte sagen, welchen Sinn die unten markierten Zeilen 
1-8 haben ?
Habe im Datenblatt vom Controller nichts gefunden, was dem entspricht.
Gruß Dirk


/* initialize the LCD */
void
lcd_init(unsigned char mode)
{
  char init_value;

  fourbit    = 0;
  if (mode == FOURBIT_MODE){
    fourbit = 1;
    init_value = 0x3;
  }else{
    init_value = 0x3F;
  }
  LCD_RS = 0;
  LCD_EN = 0;
  LCD_RW = 0;
  LCD_RS_TRIS   = OUTPUT_PIN;
  LCD_EN_TRIS   = OUTPUT_PIN;
  LCD_RW_TRIS   = OUTPUT_PIN;
  LCD_DATA_TRIS   = OUTPUT_DATA;
  DelayMs(15);
1  LCD_DATA   = init_value;
2  LCD_STROBE();
3  DelayMs(5);
4  LCD_DATA   = init_value;
5  LCD_STROBE();
6  DelayUs(200);
7  LCD_DATA   = init_value;
8  LCD_STROBE();

  if (fourbit){
    LCD_WAIT; //may check LCD busy flag, or just delay a little, 
depending on lcd.h
    LCD_DATA = 0x2; // Set 4-bit mode
    LCD_STROBE();

    lcd_cmd(0x28); // Function Set
  }else{
    lcd_cmd(0x38);
  }
  lcd_cmd(0xF); //Display On, Cursor On, Cursor Blink
  lcd_cmd(0x1); //Display Clear
  lcd_cmd(0x6); //Entry Mode
  lcd_cmd(0x80); //Initialize DDRAM address to zero
}

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