Forum: Mikrocontroller und Digitale Elektronik PIC LCD Modul Treiber HI-Tech


von Dirk F (Gast)


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
}

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.