Afficheur LCD

cocopyko Messages postés 2 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 12 mai 2010 - 19 févr. 2009 à 10:23
cocopyko Messages postés 2 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 12 mai 2010 - 12 mai 2010 à 23:52
Bonjour,

Je travail depuis quelques jour sur un afficheur LCD 2*16. Je le pilote à l'aide d'un Pic 18f2320.

J'ai écrit un programme mais lorsque j'alimente mon montage, le LCD n'affiche rien.

Avant que je ne perde plus de cheveux je demande votre aide!!!

Y aurait-il une erreur dans mon programme ou faut-il configurer le pic...

Étant donné que je débute dans la programmation il est assez difficile pour moi d' être sur de ce que je fais.

Je vous remercie d'avance.

-|CoCo|-


Voici le programme :


#include

#include

#include <delays.h>

#include <spi.h>


void main(void)

{

    int COCO=0;                //Déclaration COCO=0           

    TRISC=0x00;                //PortC en sortie

    TRISA=0x00;                //PortA en sortie

    PORTA=0x00;                //PortA = 0   

    PORTC=0x00;                //PortC = 0


    if (COCO==0)

       

        {

        void INIT_LCD();    //Appel de la fonction INIT_LCD

        COCO=COCO+1;        //Incrémenter COCO           

        }

   

   

    PORTA=0x01;                //Enable à 0, RS à 1

    PORTC=0x43;                //Envoi caractère "C"

    PORTA=0x03;                //Enable à 1, RS à 1

    Delay10KTCYx(1);        //Tempo 1ms   

    PORTA=0x01;                //Front descendant E, RS à 1

    Delay10KTCYx(1);        //Tempo 1ms   

    PORTA=0x00;                //Enable à 0


   

}

void INIT_LCD(void)            //Sous-programme INIT_LCD

    {


    PORTC=0b00001111;        //Affichage ON

    PORTA=0x02;                //Enable à 1

    Delay10KTCYx(1);        //Tempo 1ms

    PORTA=0x00;                //Front descendant E

    Delay10TCYx(40);        //Tempo 40µs

   

    PORTC=0b00111000;        //Init mode de fonctionnement

    PORTA=0x02;                //Enable à 1

    Delay10KTCYx(1);        //Tempo 1ms

    PORTA=0x00;                //Front descendant E

    Delay10TCYx(40);        //Tempo 40µs


    PORTC=0b00000001;        //Effacer l'affichage

    PORTA=0x02;                //Enable à 1

    Delay10KTCYx(1);        //Tempo 1ms

    PORTA=0x00;                //Front descendant E

    Delay10KTCYx(2);        //Tempo 2ms


    PORTC=0b00000011;        //Initialisation curseur

    PORTA=0x02;                //Enable à 1

    Delay10KTCYx(1);        //Tempo 1ms

    PORTA=0x00;                //Front descendant E

    Delay10KTCYx(2);        //Tempo 2ms


    PORTC=0b00000110;        //Initisalisation déplacement curseur

    PORTA=0x02;                //Enable à 1

    Delay10KTCYx(1);        //Tempo 1ms

    PORTA=0x00;                //Front descendant E

    Delay10TCYx(40);        //Tempo 40µs


   

    }

2 réponses

houssinez Messages postés 3 Date d'inscription mardi 11 mai 2010 Statut Membre Dernière intervention 12 mai 2010
12 mai 2010 à 17:37
Salut,
s.v.p aide moi
je veux un programme de I2C dans language C avec PCF 8574A qui afficher sur LCD afficheur JJ:MM:AA HH:MM:SS du systeme
et merci Bcp
0
cocopyko Messages postés 2 Date d'inscription jeudi 19 février 2009 Statut Membre Dernière intervention 12 mai 2010
12 mai 2010 à 23:52
Salut,
Je te conseille de te payer le logiciel MikroC de Mikroelektronika cherche sur Google tu trouveras ton bonheur!
Ce logiciel te permetra de programmer ton pic facilement car il possède des routines toutes faites pour l'affichage de ton LCD.
Bon courage!
Peace.


-|CoCo|-
0