Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Driver LCD 2*16 avec PIC 16F877



  1. #1
    misstik

    Unhappy Driver LCD 2*16 avec PIC 16F877

    Bonsoir a tous,
    voila, je suis en galere depuis une semaine et j'arrive pas a afficher qqu chose sur mode afficheur LCD. Apres la sequence d'init je ne vois même pas le curseur.
    J'ai controlé a l'oscillo, le pic envoi bien les commandes mais rein.

    voici la sequence d'init du display:
    void LCD_Init(void)
    {
    char temp_data;
    temp_data = 0x30; //D 0011 1000 mode 8 bit, 2 ligne,font 5*7
    delay_ms(5);
    temp_data = 0x30; //D 0011 1000 mode 8 bit, 2 ligne,font 5*7
    temp_data = 0x30; //D 0011 1000 mode 8 bit, 2 ligne,font 5*7
    LCD_Send(temp_data);
    temp_data = 0x38; //D 0011 1000 mode 8 bit, 2 ligne,font 5*7
    LCD_Send(temp_data);
    temp_data = 0x08;//0x0E; //Display on, curseur on, blink off
    LCD_Send(temp_data);
    temp_data = 0x0C;//0x0E; //Display on, curseur on, blink off
    LCD_Send(temp_data);
    LCD_Clear();
    temp_data = 0x04; // entry mode, deplace le curseur vers la droite apres affichage caractere.
    LCD_Send(temp_data);
    LCD_Clear();


    }

    merci a tous.

    -----


  2. #2
    HULK28

    Re : Driver LCD 2*16 avec PIC 16F877

    Salut,

    peux-tu préciser le compilateur C que tu utilises, et joindre l'ensemble de ton programme pour avoir une vue plus globale de l'usage de ta fonction d'init.

    As-tu réglé le contraste de ton afficheur, c'est souvent une bonne raison de "non fonctionnement".
    Tout est bien qui finit.

  3. #3
    HULK28

    Re : Driver LCD 2*16 avec PIC 16F877

    Citation Envoyé par misstik Voir le message
    Bonsoir a tous,
    voila, je suis en galere depuis une semaine et j'arrive pas a afficher qqu chose sur mode afficheur LCD. Apres la sequence d'init je ne vois même pas le curseur.
    J'ai controlé a l'oscillo, le pic envoi bien les commandes mais rein.

    voici la sequence d'init du display:
    void LCD_Init(void)
    {
    char temp_data;
    temp_data = 0x30; //D 0011 1000 mode 8 bit, 2 ligne,font 5*7
    delay_ms(5); // ici une tempo de 25ms
    temp_data = 0x30; //D 0011 1000 mode 8 bit, 2 ligne,font 5*7
    // insérer ici une tempo de 100µs
    temp_data = 0x30; //D 0011 1000 mode 8 bit, 2 ligne,font 5*7
    // insérer ici une tempo de 5ms
    LCD_Send(temp_data);
    temp_data = 0x38; //D 0011 1000 mode 8 bit, 2 ligne,font 5*7
    LCD_Send(temp_data);
    temp_data = 0x08;//0x0E; //Display on, curseur on, blink off
    LCD_Send(temp_data);
    temp_data = 0x0C;//0x0E; //Display on, curseur on, blink off
    LCD_Send(temp_data);
    LCD_Clear();
    temp_data = 0x04; // entry mode, deplace le curseur vers la droite apres affichage caractere.
    LCD_Send(temp_data);
    LCD_Clear();


    }

    merci a tous.
    Il faudrait également que tu précises le type de l'afficheur (notamment son controleur) ainsi que le quartz que tu utilises pour les tempos.
    Attention d'ailleurs à bien placer ces tempos aux bons endroits.

    Voici avec HitechC comment je gère l'init en mode 8 bits, essaye de l'adapter à ton programme:

    void init_lcd(void)
    {
    LCD_RW=0;
    LCD_RS=0;
    LCD_EN=0;
    DelayMs(25);
    lcd_write(0x30);
    Delay100Us();
    lcd_write(0x30);
    DelayMs(5);*/
    lcd_write_instr(0x38); // Mode 8 bit, 2/16, font 5x7
    lcd_write_instr(0x08); // affichage off
    lcd_write_instr(0x01); // effacement et position d'origine
    lcd_write_instr(0x0C); // Affichage on, curseur clign off
    lcd_write_instr(0x06); // pas de décalage

    }
    Dernière modification par HULK28 ; 20/07/2007 à 23h00.
    Tout est bien qui finit.

Sur le même thème :

Discussions similaires

  1. Diode RGB avec PIC 16F877
    Par melkaone dans le forum Électronique
    Réponses: 7
    Dernier message: 01/03/2012, 16h02
  2. tension symetrique avec pic 16F877
    Par ieeaelectronique dans le forum Électronique
    Réponses: 1
    Dernier message: 02/04/2007, 17h42
  3. Réponses: 0
    Dernier message: 18/03/2007, 15h43
  4. Pic 16f877 Pic basic pro conseil
    Par ledinblue dans le forum Électronique
    Réponses: 10
    Dernier message: 04/01/2007, 17h26
  5. Pic 16f877 + Lcd (m6222 + Lc7930 )
    Par Toufinet dans le forum Électronique
    Réponses: 1
    Dernier message: 23/05/2006, 01h27