Ajout d'une mémoire externe EEPROM 24LC256 (bus i2c) à un PIC 18F452
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Ajout d'une mémoire externe EEPROM 24LC256 (bus i2c) à un PIC 18F452



  1. #1
    invite8916ae1c

    Ajout d'une mémoire externe EEPROM 24LC256 (bus i2c) à un PIC 18F452


    ------

    Bonjour à tous, Actuellement, je suis un projet en BTS Systeme Electronique ( ANALYSEUR DE VERRE DE LUNETTE DE SOLEIL SGA).Fonction mémorisation.

    Mon projet nécessite l'utilisation d'un PIC18F452, mais comme il n'a pas une grande mémoire( seulement 32ko de mémoire), on a du faire appel à un bus I2C ,EEPROM 24LC256 qui contient 256ko de mémoire.
    Mais j'ai un souci en programmation langage microcontroleur C , j'arrive pas à savoir "comment peut-on stocker des informations sur un BUS I2C?"

    Si quelqu'un pourrai m'aidez a savoir comment par exemple stocker des information d'un afficheur ou autre .J'ai commencé déjà à taper le programme , j'utilise un quartz 16Mhz.


    #include <p18f452.h>
    #include "initxlcd.c"
    #define Fosc 16E6
    #define FI2C 4E3
    void ack(coid) //attend ackonledge
    {
    while(SSAPSTATbits.R_W);
    while (SSPCON2bits.ACKSTAT); // attend fin ACK esclave
    }

    //retourne le contenu du registre cmd dans TC74
    signed char lit_i2c(unsigned char adresse, unsigned char registre)
    { signed char t;
    SSPCON2bits.SEN=1; //START
    while (SSPCON2bits.SEN);
    SSPBUF=adresse<<1; //adresse ecriture
    ack();
    SSPBUF=registre; //adresse registre
    ack();
    SSPCON2bits.RSEN=1; //RESTART
    while (SSPCON2bits.RSEN);
    SSPBUF=(adresse<<1) |0b00000001; //adresse lecture
    ack();
    SSPCON2bits.RCEN=1; //passe ne nmode lecture d'un octet
    while (SSPCON2bits.RCEN); //attend recption terminée
    t=SSPBUF; //mémoire température
    SSPCON2bits.ACKDT=1; //NON-ACK
    SSPCON2bits.ACKEN=1;
    while (SSPCON2bits.ACKEN);
    SSPCON2bits.PEN=1; //STOP
    while (SSPCON2bits.PEN);
    return (t);
    }


    }

    void init_i2c(void)
    { DDRCbits.RC3 = 1;
    DDRCbits.RC4 =1;
    SSPCON1=0b00101000;
    //efface WCOL ET SSPOV, active I2C, I2C mode maitre horloge=FOSC/(4*(SSPADD+1))
    SSPSTATbits.SMP=1;
    SSPADD=9; // Horloge=16Mhz/4*(SPADD+1)=400Khz ; SPADD=(16Mhz/1600khz)-1;SPADD=9

    -----

  2. #2
    Orgautomatix

    Re : Ajout d'une mémoire externe EEPROM 24LC256 (bus i2c) à un PIC 18F452

    Salut

    A cette page chez Microchip: http://www.microchip.com/stellent/id...GE&nodeId=1408
    Plusieurs exemples de liaison I2C avec EEPROM pour 18F. C'est en asm cependant.
    Il me semble que le 18f452 a déjà 256 ko d' EEPROM.

    A+

Discussions similaires

  1. Pic 18F452 et Bus I2C : Aide à l'acquisition
    Par invite00780d1b dans le forum TPE / TIPE et autres travaux
    Réponses: 5
    Dernier message: 22/08/2010, 23h01
  2. Ajout d'une mémoire externe a un pic18f
    Par grd666 dans le forum Électronique
    Réponses: 9
    Dernier message: 05/07/2009, 21h45
  3. Adapter une mémoire EEPROM externe à un PICBASIC 3B
    Par thomasalbert1993 dans le forum Électronique
    Réponses: 1
    Dernier message: 28/12/2006, 09h20
  4. Memoire Flash pic 18f452
    Par invite0b3246fe dans le forum Électronique
    Réponses: 4
    Dernier message: 28/07/2006, 14h04
  5. eeprom 24lc256
    Par invitec316b1ca dans le forum Électronique
    Réponses: 0
    Dernier message: 04/01/2006, 17h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.