Programmation d'un PIC18F4550 pour piloter un aficheur LCD via le bus I2C
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Programmation d'un PIC18F4550 pour piloter un aficheur LCD via le bus I2C



  1. #1
    invite556b3e30

    Programmation d'un PIC18F4550 pour piloter un aficheur LCD via le bus I2C


    ------

    Bonjour à tous,

    Je souhaite piloter un afficheur lcd via le bus I2C de mon PIC (comme indiquer dans le titre!)
    J'ai testé le bus i2c avec un esclave eeprom tout fonctionne je peut écrire et lire les données.

    Quand je passe sur mon afficheur rien ne se passe!
    Je pense que ça vient de mes initialisations.

    Je travail avec MPLAB, CCS PIC C Compileur et cette afficheur => http://fr.farnell.com/midas/mccog216...05?Ntt=2063205

    J'ai écrit ce code pour l'initialisation et je ne voit pas qu'est ce qui cloche :
    Code:
    BOOLEAN lcd_display_ready() { 
       int1 ack;
       i2c_start();            // If the write command is acknowledged,
       ack = i2c_write(lcdAddr);  // then the device is ready.
       i2c_stop();
       return !ack;
    }
    
    void write_lcd_display(unsigned char Instruction, BYTE data)
     {
    	int1 ack;
       	while(!lcd_display_ready()); // On attend que l'afficheur soit près
       	do
    	{
    		i2c_start();
    	   	i2c_write(lcdAddr);
    	   	if((Instruction&0X01))
    		{
    			ack=i2c_write(0x00);		//Control
    		}
    		else
    		{
    			ack=i2c_write(0X40);		//Data
    		}
    		
    	   i2c_write(data);
    	   i2c_stop();
    	}while(ack);
    }
    
    void lcd_init(void)
    {
    	unsigned char Control=1;
    	delay_ms(100);
    	write_lcd_display(Control,0x0E);
    	delay_ms(5);
    	write_lcd_display(Control,0x06);
    	delay_us(100);
    	write_lcd_display(Control,0x34);
    	delay_us(100);
    	write_lcd_display(Control,0X14);
    	delay_us(100);
    	write_lcd_display(Control,0X35);
    	delay_us(100);
    	write_lcd_display(Control,0X14);
    	delay_us(100);
    	write_lcd_display(Control,0X79);
    	delay_us(100);
    	write_lcd_display(Control,0x50);
    	delay_us(100);
    	write_lcd_display(Control,0X6C);
    	delay_us(100);
    	write_lcd_display(Control,0X01);
    	delay_us(100);
    	write_lcd_display(Control,0X80);
    	delay_us(100);
    	write_lcd_display(Control,0X02);
    }
    Voila en espérant que vous pourrez m'aider.
    Merci Bonne journée

    -----

  2. #2
    RISC

    Re : Programmation d'un PIC18F4550 pour piloter un aficheur LCD via le bus I2C

    Salut,

    As-tu cherché des exemple ou demandé sur le forum de CCS : www.ccsinfo.com

    a+

  3. #3
    invite556b3e30

    Re : Programmation d'un PIC18F4550 pour piloter un aficheur LCD via le bus I2C

    C'est bon ça fonctionne! en fait il fallait chercher sur la doc du micro intégrer à l'afficheur où il précise exactement la démarche d'initialisation... Un peu déçu par la doc du LCD midas...

Discussions similaires

  1. programmation d'un bus I2C pour un PIC18F4520
    Par invitecfa8d577 dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 16/05/2011, 14h51
  2. Résistance à définir pour bus I2C
    Par jo-electrons dans le forum Électronique
    Réponses: 2
    Dernier message: 14/05/2011, 15h51
  3. programmation d'un PIC18F4550 et récupération de données par USB
    Par invited08e1382 dans le forum Électronique
    Réponses: 4
    Dernier message: 27/03/2011, 21h01
  4. Gestion d'un bus I2C avec un microcontrôleur PIC18F452
    Par invite8916ae1c dans le forum Électronique
    Réponses: 6
    Dernier message: 12/09/2010, 09h32
  5. driver aficheur lcd couleur 320 * 240
    Par thomasalbert1993 dans le forum Électronique
    Réponses: 14
    Dernier message: 11/02/2008, 21h41
Découvrez nos comparatifs produits sur l'informatique et les technologies.