Aide programmation C pour gestion d'un écran LCD
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Aide programmation C pour gestion d'un écran LCD



  1. #1
    invite55fe29e6

    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. #2
    invite55fe29e6

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

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

  3. #3
    invite03481543

    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/

  4. #4
    invite01b8868e

    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.

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

    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

Discussions similaires

  1. [Brun] Lcd Benq Alimentation d'un ecran LCD!!! [résolu]
    Par invitec87978c8 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 invite2d71d223 dans le forum Électronique
    Réponses: 0
    Dernier message: 03/03/2007, 15h22
  3. pilotage d'un ecran lcd d'un vieil organisateur
    Par invite3a8921f5 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 invite43e0f65f dans le forum Électronique
    Réponses: 0
    Dernier message: 21/11/2004, 14h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.