Besoin d'aide pour un afficheur alphanumérique
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Besoin d'aide pour un afficheur alphanumérique



  1. #1
    invite7e727e46

    Besoin d'aide pour un afficheur alphanumérique


    ------

    Salut,

    J'ai un peu avancé avec les pics. Je travaille sous MPLAB avec Hi TECH C compiler.

    Je cherche à afficher juste une lettre sur un afficheur alphanumérique.

    Sachant qu'il est toujours en mode écriture.

    des que je simule sous ISIS, rien ne s'affiche, pouvez me dire si ce code est bon ?


    Voici mon code :

    Code:
    #include <htc.h>
    #include "delay.h"
    
    
    #define LCD_DATA PORTB
    
    #define LCD_RS RA0
    #define LCD_E RA1
    
    
    //-------------------------------Fonction principale------------------------------ 
    
    void main(void) 
    { 
    // Initialisation des pattes du microcontroleur 
    
    PORTA=0;
    PORTB=0;
    TRISA = 0b00000000; 
    TRISB = 0b00000000; 
    
    
    LCD_DATA = 0b00111000; // Mode 8bits + Afficheur 2 lignes
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    
    LCD_DATA = 0b00000110; // Décalage curseur après écriture
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    
    LCD_DATA = 0b00001100; // Afficheur on + curseru off
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    
    LCD_DATA = 0b00100000; //Pointage adresse 0
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    LCD_RS = 1;
    LCD_DATA = 0b00110010;
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    while(1){}
    
    
    
    }
    Merci d'avance.

    -----

  2. #2
    invite7e727e46

    Re : Besoin d'aide pour un afficheur alphanumérique

    Personne ?

  3. #3
    Jack
    Modérateur

    Re : Besoin d'aide pour un afficheur alphanumérique

    Je n'y connais pas grand chose en pic, mais je ne vois pas où tu définis des pattes en sortie.

    A+

  4. #4
    invitee2ae4a34

    Re : Besoin d'aide pour un afficheur alphanumérique

    // Initialisation des pattes du microcontroleur

    PORTA=0;
    PORTB=0;
    TRISA = 0b00000000;
    TRISB = 0b00000000;
    =====> a mon opinion et je peux être fautif que vous n'avez pas définie les entrées et les sorties pour les pattes du µc !! c'est a dire il faut que vous affectez 1 pour les pattes sorties et 0 pour les pattes entrées , dans votre programme vous avez définis toutes les pattes comme entrées, donc il faut changer cette partie de votre programme.

  5. A voir en vidéo sur Futura
  6. #5
    invite7e727e46

    Re : Besoin d'aide pour un afficheur alphanumérique

    Si l'initialisation des pattes est correct, 0 pour une sortie et 1 pour une entrée. (C'est l'inverse black-chockwave).

    Dans mon cas je n'ai donc que des sorties.

  7. #6
    Qristoff
    Animateur Électronique

    Re : Besoin d'aide pour un afficheur alphanumérique

    Bonjour,
    je ne connais pas bien le C que fais exactement l'instruction while ? ça boucle ? et sur quoi ?
    Tout existe, il suffit de le trouver...!

  8. #7
    invite7e727e46

    Re : Besoin d'aide pour un afficheur alphanumérique

    Ca boucle à l'inifni, simplement pour que le pic ne recommence pas au début de la fonction main. Sinon à chaque fois il réinitialise les pattes ....

  9. #8
    Qristoff
    Animateur Électronique

    Re : Besoin d'aide pour un afficheur alphanumérique

    L'initialisation d'un LCD commence par le laisser tranquille pendant au moins 30ms aprés la mise sous tension, avant de commencer à lui envoyer des choses...
    tu peux donc commencer ton programme par une grosse tempo de 100ms !
    Tout existe, il suffit de le trouver...!

  10. #9
    invite7e727e46

    Re : Besoin d'aide pour un afficheur alphanumérique

    A oui je l'ai pas mise dans le post mais je l'ai rajouté dans mon programme et j'ai toujours rien.

  11. #10
    Qristoff
    Animateur Électronique

    Re : Besoin d'aide pour un afficheur alphanumérique

    un exemple de procédure d'initialisation, à respecter !
    Images attachées Images attachées
    Tout existe, il suffit de le trouver...!

  12. #11
    invite7e727e46

    Re : Besoin d'aide pour un afficheur alphanumérique

    Merci, je teste ça, je précise que j'arrive à faire cligonter le curseur.

  13. #12
    invite7e727e46

    Re : Besoin d'aide pour un afficheur alphanumérique

    Alors, je pense que l'initialisation se fait correctement, j'ai vérifié avec ton document et le curseur clignote bien comme je l'attendait.

    Mais après, toujours pas de caractère sur l'écran.

  14. #13
    invite7e727e46

    Re : Besoin d'aide pour un afficheur alphanumérique

    Superrrrrrrrrrrrr !!! Ça marche merci beaucoup, j'ai réussi à afficher un caractère. je fais encore quelques testes et je poste bien sur le code corrigé avec commentaires.

  15. #14
    invite7e727e46

    Re : Besoin d'aide pour un afficheur alphanumérique

    Et voila le code fonctionnel le plus basic pour un LCD :

    Fonction DelayMs signifie tempo de x millisecondes.

    Mode 8bits - Écriture uniquement


    Code:
    //---------------------------------E/S et variables generales--------------------- 
    
    #include <htc.h>
    #include "delay.h"
    
    
    #define LCD_DATA PORTB
    
    #define LCD_RS RA0
    #define LCD_E RA1
    
    
     
    //-------------------------------Fonction principale------------------------------ 
    
    void main(void) 
    { 
    // Initialisation des pattes du microcontroleur 
    
    PORTA=0;
    PORTB=0;
    TRISA = 0b00000000; 
    TRISB = 0b00000000; 
    
    
    DelayS(1);
    
    
    
    LCD_DATA = 0b00111000; // Set Function (Initialisation) : Mode 8bits + Afficheur 2 lignes
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    
    LCD_DATA = 0b00000110; // Entry mode set (Mode de décalage) : Décalage curseur vers la droite après écriture et pas de décalage affichage
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    
    LCD_DATA = 0b00001111; // Display On/Off control (Afficheur On/Off, curseur et clignotement) : Afficheur on + curseur on + clignotement
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    
    LCD_DATA = 0b10000001; // Set DDRAM address : Emplacement 01 (2eme caractère ligne 1)
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    LCD_RS = 1;
    LCD_DATA = 0b00110000;	// Affichage d'un 0
    LCD_E = 1;
    DelayMs(200);
    LCD_E = 0;
    DelayS(1);
    
    
    while(1){}
    
    
    
    }

  16. #15
    Qristoff
    Animateur Électronique

    Re : Besoin d'aide pour un afficheur alphanumérique

    Donc, c'est bon ? ça marche ?
    Tout existe, il suffit de le trouver...!

Discussions similaires

  1. Différence afficheur LCD et Alphanumérique
    Par inviteffe7a925 dans le forum Électronique
    Réponses: 2
    Dernier message: 14/04/2010, 13h56
  2. GPS sur afficheur alphanumerique
    Par inviteb1dba97a dans le forum Électronique
    Réponses: 1
    Dernier message: 26/01/2010, 11h02
  3. Afficheur alphanumérique
    Par sw338965 dans le forum Électronique
    Réponses: 2
    Dernier message: 19/06/2007, 08h59
  4. Besoin d'aide pour afficheur lcd 2 par 16 ligne
    Par invite766d856e dans le forum Électronique
    Réponses: 12
    Dernier message: 07/06/2006, 12h58
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...