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

LCD 2x16 qui s'allume mais n'affiche rien



  1. #1
    LeaderShipper

    LCD 2x16 qui s'allume mais n'affiche rien


    ------

    Bonjour,
    J'ai un gros probleme avec la programmation d'un pic 16F877 et 16F877A
    a chaque fois que je reprogramma mon pic mon lcd (ECM1602A-FL-YBW) 2x16
    s'allume mais n'affiche rien donc elle reçoit des données fausses parsqu'elle ne m'affiche pas la premiere ligne toute noir (seulement si j'enleve une des broches de lcd du pic) . J'ai programmé déja 7 fois mon pic depuis avant hier (compilateur:PICC v4.057 je programme avec JDM programmer avec icprog 1.05 via port serie) et rien toujours aucun caractere sur LCD.
    aidez moi SVP car je n'ai plus de temps a perdre je dois finir ce travail aujourd'huit...
    voila le programme de test de lcd que j'utilise:

    #include <16F877.h>
    #Fuses XT,NOWDT,NOPROTECT,NOLVP
    #use delay(clock=4000000)
    #include <lcd.c>

    void alarm ()
    {int h=0;
    do{
    output_high(PIN_A1);output_hig h(PIN_E0);delay_ms(800);output _low(PIN_E0);delay_ms(150);h++ ;
    }while(h<10);output_low(PIN_A1 );
    }

    void main()
    {
    lcd_init();
    do
    {
    output_high(PIN_E0);
    lcd_putc("\f ISET SOUSSE ");lcd_gotoxy(1,2);lcd_put c(" P.F.E. ");delay_ms(4000);
    output_E(0);alarm();
    lcd_putc("\f");delay_ms(2000);
    }while(true);
    }

    -----

  2. Publicité
  3. #2
    grd666

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    bonjour, j'ai déja eu un problème avec un afficheur lcd qui n'affichait pas les carrés noir le problème ne vient pas forcément du programme mais peu être tout simplement du cablâge de ton afficheur.
    Est il rétro-éclairer?
    Mon problème c'était le rétro-éclairage qui créait une chute de tension a mon régulateur +5v et ne l'alimentait pas correctement.

  4. #3
    LeaderShipper

    Unhappy Re : LCD 2x16 qui s'allume mais n'affiche rien

    Merci grd666 pour votre reponse rapide...

    oui mon lcd est rétro-éclairé mais même si j'enlève l'eclairage le probleme reste le même donc le pb n'est pas l'alimentation.

  5. #4
    grd666

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    tu as sans doute un afficheur a réglage de contraste tu as vérifier que c'était bon de ce coté la? bonne broche pour le potentiomètre etc..

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    LeaderShipper

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    Citation Envoyé par grd666 Voir le message
    tu as sans doute un afficheur a réglage de contraste tu as vérifier que c'était bon de ce coté la? bonne broche pour le potentiomètre etc..
    En faite mon programme a marché il ya quelque temps mais plus maintenant...
    la broche du contrast je l'ai branché ala masse pour un max de contrast ce n'est pas le problème et c'est pas la première fois.
    Du côté du programme lorsque j'ai programmé mon pic j'ai eu l'erreur verification failed at the adress XXXXh mais je l'ai résolu en modifiant le delai dans icprog
    je relis mon pic et je trouve mon programme bien placé dans le circuit mais toujours pas de réponse, j'ai échangé le quartz mais ça n'a rien changé j'ai mesuré les condensateurs du quartz mais il sont biens les deux

    Je ne sais plus quoi faire je commence a soupçonner mon pc fixe même aprés la vérification du programme dans le pic

    Please help...

  9. #6
    grd666

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    ton pic utilise un quartz externe tu as bien configurer les fusibles avant de compiler pour lui dire tu utilise une horloge externe?
    ton afficheur tu le programme en 8 ou 4 bits ? au delà je peux pas t'aider j'ai fait mon programme sur mplab en c et j'ai pas utilisé de bibliothèque toutes faite pour l'afficheur
    mais avant de vouloir affiché un caractère sur l'afficheur pose toi la question si ta bien fait toutes la routine classique qu'on utilise pour afficher sur un afficheur, si t as pas de curseur qui clignote ta déjà un problème a ce niveau

    bon courage.

  10. Publicité
  11. #7
    LeaderShipper

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    Citation Envoyé par grd666 Voir le message
    ton pic utilise un quartz externe tu as bien configurer les fusibles avant de compiler pour lui dire tu utilise une horloge externe?
    ton afficheur tu le programme en 8 ou 4 bits ? au delà je peux pas t'aider j'ai fait mon programme sur mplab en c et j'ai pas utilisé de bibliothèque toutes faite pour l'afficheur
    mais avant de vouloir affiché un caractère sur l'afficheur pose toi la question si ta bien fait toutes la routine classique qu'on utilise pour afficher sur un afficheur, si t as pas de curseur qui clignote ta déjà un problème a ce niveau

    bon courage.
    J'ai bien testé mon programme avec ISIS il fonctionne nickel en plus ça marché il ya une semaine juste avant de le reprogrammer mais j'ai pas touché au fuses se sont les mêmes pas de modification

    #Fuses XT,NOWDT,NOPROTECT,NOLVP

    et au niveau du programmateur je decoches tous les fuses avant de programmer estce qu'il ya une difference en ça ?

  12. #8
    grd666

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    bah oui au niveaux du programmateur si tu décoches une case qui faut pas ton pic ne comprendras peut etre pas qu'il utilise de l'externe.
    Sur Pic C Compiler en tout cas faut pas tout décocher essaye de cocher les cases correspondants a la config de ton quartz mais avant de vouloir testé l'afficheur fait juste clignoté une led avec ton programme tel quel tu sauras tout de suite si tes fusibles sont bien configurer
    en éspérant t'avoirs aidé

  13. #9
    LeaderShipper

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    Eh oui j'ai fait un petit programme de test qui est la haut il permer de clignoter une diode sur E0 et declencher un buzzer sur A1 mais aucune led ne s'allume

  14. #10
    grd666

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    Bien si tu as correctement fait ton câblage et ton programme le problème vient donc de la configuration de tes ports,ou fusible j'aurais été chez moi j'aurais pu t'aidé sur le programme j'en ai un similaire vérifie si il faut pas configurer tes ports A1 et E0 en sortie je sais plus si il faut le faire sur pic c


    sinon essaye ça met le reste en commentaire contente toi de la led :
    #include <16F877.h>
    //#Fuses XT,NOWDT,NOPROTECT,NOLVP // si ces fusibles sont bien configurer essaye de les mettres en commentaires et de les mettres uniquement dans ton programmateurs
    #use delay(clock=4000000)//ta fréquences d'horloge de 4Mhz est elle la bonne?



    void main()
    {
    do{
    output_high(PIN_A1); // peut être qu'on déclare les pin A1 et
    output_high(PIN_E0);//E0 en sortie au préalable?
    delay_ms(2000);
    output _low(PIN_E0);
    output_low(PIN_A1 );
    }while(1);
    }

  15. #11
    LeaderShipper

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    Merci bien grd666
    j'ai résolu le problème !!!!

    En faite, c'était une petite astuce qui me l'a donné mon ancien encadreur, il s'agit d'ajouter un petit delay dans le driver de lcd situé dans la répertoire du PICC compiler.

    lcd.c :

    void lcd_init() {
    BYTE i;
    set_tris_lcd(LCD_WRITE);
    lcd.rs = 0;
    lcd.rw = 0;
    lcd.enable = 0;
    delay_ms(15);
    for(i=1;i<=3;++i) {
    lcd_send_nibble(3);
    delay_ms(5); //voila le delai que j'ai ajouté.
    }
    lcd_send_nibble(2);
    for(i=0;i<=3;++i)
    lcd_send_byte(0,LCD_INIT_STRIN G[i]);
    }

    voilà le driver modifier juste l'extension en .c
    Dernière modification par JPL ; 15/06/2008 à 19h35.

  16. #12
    LeaderShipper

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    Merci bien grd666
    j'ai résolu le problème !!!!

    En faite, c'était une petite astuce qui me l'a donné mon ancien encadreur, il s'agit d'ajouter un petit delay dans le driver de lcd situé dans la répertoire du PICC compiler.

    lcd.c :

    void lcd_init() {
    BYTE i;
    set_tris_lcd(LCD_WRITE);
    lcd.rs = 0;
    lcd.rw = 0;
    lcd.enable = 0;
    delay_ms(15);
    for(i=1;i<=3;++i) {
    lcd_send_nibble(3);
    delay_ms(5); //voila le delai que j'ai ajouté.
    }
    lcd_send_nibble(2);
    for(i=0;i<=3;++i)
    lcd_send_byte(0,LCD_INIT_STRIN G[i]);
    }

    voilà le driver modifier juste l'extension en .c

  17. Publicité
  18. #13
    JPL
    Responsable des forums

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    Citation Envoyé par LeaderShipper Voir le message
    voilà le driver modifier juste l'extension en .c
    As-tu lu ? À moins que tu ne comprennes pas l'anglais.

    This source code may only be distributed to other ////
    //// licensed users of the CCS C compiler. No other use, reproduction ////
    //// or distribution is permitted without written permission.
    Donc pièce jointe supprimée.
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

  19. #14
    invite03481543

    Re : LCD 2x16 qui s'allume mais n'affiche rien

    Bonsoir,

    utiliser un "delay" dans un code d'afficheur n'est pas très élégant et peu fiable, il vaut mieux surveiller le flag "busy" géré par le controleur de l'afficheur lui même.
    Pour cela il faut se mettre en lecture (RW à 1) et faire un:

    while(busy);

    le "busy flag" consiste à surveiller le bit 7 (MSB du bus de données) et lorsqu'il passe à 0 c'est que la prochaine instruction peut être générée, le controleur (HD44780) ayant alors rendu la main.
    Plus besoin de mettre des tempos incertaines qui ne seront peut-être plus valables d'un afficheur à l'autre.
    @+

Discussions similaires

  1. Programmation LCD 2x16 en C
    Par jorg1n dans le forum Électronique
    Réponses: 6
    Dernier message: 10/10/2007, 08h09
  2. Routine LCD 2X16
    Par Paulochon dans le forum Électronique
    Réponses: 28
    Dernier message: 07/06/2007, 20h40
  3. Poste qui s'allume, mais sans son.
    Par marantz dans le forum Dépannage
    Réponses: 13
    Dernier message: 20/06/2006, 11h34
  4. Afficheur LCD 2x16
    Par Roukben dans le forum Électronique
    Réponses: 4
    Dernier message: 01/02/2006, 15h11
  5. LCD 2x16 caractères
    Par Patrick dans le forum Électronique
    Réponses: 1
    Dernier message: 22/05/2004, 15h33
Découvrez nos comparatifs produits sur l'informatique et les technologies.