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

Aide programmation C pour gestion d'un écran LCD



  1. #1
    Paulochon

    Aide programmation C pour gestion d'un écran LCD


    ------

    Bonsoir a tous,
    Voila je débute vraiment dans les microcontroleurs, Le langage C me parrait un langage pour l'instant assez compliqué et puissant!!
    Je voudré réaliser la gestion d'un écran 2 lignes 16 caractères, je dispose d'un ATMEGA8535 16PC je connais deja ce composant et les deja utiliser pour mon projet de BAC pour réaliser la gestion de la commande du siège de la peugeot 406, mais à l'heure d'aujourd'hui je n'est que peut de base en C et je voudrai de l'aide pour comprendre comment géré et affiché sur mon écran LCD suivant quelque variable.
    Mon premier souhait serai qui me dise bonjour quand j'allume le système et qui mé gére aussi un thermomètre en passant par un de ces convertisseur A/N mon système ira dans ma voiture. je ne vous demande pas de la faire à ma place mais j'aimerai quelques aide voir des exemple ou des bout de cour car j'aimerai bien agrandir mes connaisance sur le langage C et pouvoir réalisé ce montage.Merci d'avance
    Cordialment Paulochon

    -----

  2. Publicité
  3. #2
    Paulochon

    Re : Aide programmation C pour gestion d'un écran LCD

    Bonsoir
    Merci d'avance de bien vouloir m'aider!!
    Cordialment Paulochon

  4. #3
    HULK28

    Re : Aide programmation C pour gestion d'un écran LCD

    Voici un lien vers un site où tu trouveras des exemples d'application en C, dont tu pourras t'inspirer pour faire le portage sur ton ATMEL.

    http://angeliz.free.fr/
    Le génie est fait d'1 pour cent d'inspiration et de 99% pour cent de transpiration. Edison

  5. #4
    yass1982

    Re : Aide programmation C pour gestion d'un écran LCD

    Bonjour,
    svp est ce que tu a la reponse , aider moi pour afficher des variables sur l'afficheur lcd.
    merci.

  6. #5
    Harvester252

    Re : Aide programmation C pour gestion d'un écran LCD

    Dans le meme ordre d'idée,
    J'ai un LCD 128x64 avec le controleur KS0108B.
    Je programme en C avec PIC 18F2620, compilateur C18.
    Je n'arrive pas a bien initalisé mon écran. A la fin de l'initialisation je fais un Clear LCD et il ne clear pas.

    Voici mes fonctions
    void InitLCD()
    {
    LCD_DATA = 0;
    LCD_DI = 0;
    LCD_RW = 0;
    LCD_E = 0;
    LCD_CS1 = 0;
    LCD_CS2 = 0;


    LCD_RST = 1;
    DelayUs(500);
    LCD_RST=0;
    DelayUs(500);
    LCD_RST=1;


    LCDSide(LEFT);
    WriteLCD(LCD_OFF,COMMAND); // Display OFF
    WriteLCD(START_LINE,COMMAND);
    WriteLCD(X_ADRESS,COMMAND);
    WriteLCD(Y_ADRESS,COMMAND);
    WriteLCD(LCD_ON,COMMAND); // Display ON

    LCDSide(RIGHT);
    WriteLCD(LCD_OFF,COMMAND); // Display OFF
    WriteLCD(START_LINE,COMMAND);
    WriteLCD(X_ADRESS,COMMAND);
    WriteLCD(Y_ADRESS,COMMAND);
    WriteLCD(LCD_ON,COMMAND); // Display ON

    EraseLCD();
    }


    void EraseLCD(void)
    {
    unsigned char Page=0;
    unsigned char Column=0;

    // process les 8 pages du LCD
    for (Page = 0; Page < 8; Page++)
    {
    LCDSide(LEFT); // Select left side
    WriteLCD(X_ADRESS | Page, COMMAND); // Set the page number
    WriteLCD(Y_ADRESS, COMMAND); // Set column to 0

    // process a page on both sides
    for (Column = 0; Column < 128; Column++)
    {
    if (Column >= 64)
    {
    LCDSide(RIGHT); // Select right side
    WriteLCD(X_ADRESS | Page, COMMAND); // Set the page number
    WriteLCD(Y_ADRESS, COMMAND); // Set column to 0
    }
    WriteLCD(0x00, DATA); // erase a column
    }
    }
    }


    void WriteLCD(unsigned char uCMD, unsigned char uDI ) //CMD est la commande (byte) et DI et Data 1 ou Instrustion 0
    {
    DelayUs(50);
    LCD_DI = uDI;
    LCD_RW = 0; //ecriture
    LCD_DATA = uCMD;
    LCD_STROBE(); //LCD_E = 1;DelayUs(50);LCD_E = 0;DelayUs(50);
    }


    void LCDSide(unsigned char uLcdSide)
    {
    if(uLcdSide == RIGHT)
    {
    // select coté droit
    LCD_E = 0;
    LCD_DI = 0;
    LCD_RW = 1;
    LCD_CS1 = 0;
    LCD_CS2 = 1;
    WriteLCD(Y_ADRESS, COMMAND); //Set column à 0
    }
    else
    {
    // select coté gauche
    LCD_E = 0;
    LCD_DI = 0;
    LCD_RW = 1;
    LCD_CS1 = 1;
    LCD_CS2 = 0;
    WriteLCD(Y_ADRESS, COMMAND); // Set column à 0
    }
    }


    Dans mon main je set les port en sorti et je Call INITLCD

    L'écran devrait devenir sans aucun pixel visible j'imagine, mais elle reste pareil comme si elle n'avait rien recu

    Si quelqu'un a un idée ou suggestion,, je suis ouvert, je commence à etre prendre les nerfs...

    Merci

    Harvester

  7. A voir en vidéo sur Futura

Sur le même thème :

Discussions similaires

  1. [Brun] Lcd Benq Alimentation d'un ecran LCD!!! [résolu]
    Par acidburn62 dans le forum Dépannage
    Réponses: 19
    Dernier message: 17/06/2008, 15h25
  2. Aide montage LANC + Relai pour commander un écran LCD
    Par bdemidde dans le forum Électronique
    Réponses: 0
    Dernier message: 03/03/2007, 15h22
  3. pilotage d'un ecran lcd d'un vieil organisateur
    Par martinr dans le forum Électronique
    Réponses: 0
    Dernier message: 12/02/2007, 05h46
  4. branchement d'un ecran lcd d'un gps de voiture
    Par scal91630 dans le forum Électronique
    Réponses: 0
    Dernier message: 21/11/2004, 14h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.