El presente sitio presenta diseños y proyectos realizados con Solidworks y otros programas 3d , además de laminas y modelos 3d para practicar en casa, con el único objetivo de poder aprender y explorar la capacidad de Solidworks, no existiendo en ningún caso fines de lucro.

Friday, March 1, 2013

USO DEL I2C EN UNA MEMORIA EEPROM 24C01B C18

Posted by Juan Francisco | Friday, March 1, 2013 | Category: |


//                USO DEL I2C EN UNA MEMORIA EEPROM 24C01B   
//Problemas:
//    Si se manda una cadena sin temporizacion osea sin tiempo
//    de transiscion puede fallar fisicamente.
//    POR EJEMPLOS
//        ENVIAR DATO                                            /
//        RETARDO DE 200mS                                    /
//        ENVIAR DATO                                            /
//        RETARDO DE 200mS                                    /
//        y asi                                                /
/////////////////////////////////////////////////////////////
#include
#include"eepromdr.h"
#include
#include
//#include    //uso de conversiones printf
#include    //libreria para retardos

//Fuses para trabajar con 8Mhz/////////

#pragma config FOSC   = INTOSCIO_EC        //usamos 8Mhz internos
#pragma config PLLDIV = 5                //PLL DIV 20Mhz/5=4Mhz
#pragma config CPUDIV = OSC1_PLL2         //CPUDIV1 96Mhz/2=48Mhz
#pragma config USBDIV = 1                //tRABAJAMOS CON USB CLOCK divido en 1
#pragma config VREGEN = OFF     //Trabajamos sin regulador interno 3.3v para usb
#pragma config FCMEN  = OFF, IESO    = OFF 
#pragma config PWRT   = ON, BOR     = OFF,BORV   = 0
#pragma config WDT    = OFF,WDTPS   = 32768 
#pragma config MCLRE  = ON, LPT1OSC = OFF,PBADEN = OFF,CCP2MX = ON 
#pragma config STVREN = OFF,LVP     = OFF,XINST  = OFF,DEBUG  = OFF 
#pragma config CP0    = OFF,CP1     = OFF,CP2    = OFF
#pragma config CPB    = ON, CPD     = ON 
#pragma config WRT0   = OFF,WRT1    = OFF,WRT2   = OFF 
#pragma config WRTB   = OFF,WRTC    = OFF,WRTD   = OFF
#pragma config EBTR0  = OFF,EBTR1   = OFF,EBTR2  = OFF 
#pragma config EBTRB  = OFF


//Variables a usar//////
unsigned char msje;

////////////////////////////////////////////
//Funcion de configuracion
//USART    I2C
////////////////////////////////////////////
void config(void){
    TRISC=0X80;
    //Configuramos UART
    OpenUSART(    USART_TX_INT_OFF    &    //Disable Interrupts
                USART_RX_INT_OFF    &    //----------------
                USART_ASYNCH_MODE    &    //Modo asincronico
                USART_EIGHT_BIT        &    //8 bit
                USART_CONT_RX        &    //resepcion continua
                USART_BRGH_HIGH        ,
                51);                //FOSC / (16 * (spbrg + 1))
                                    //spbrg=((FOSC/BAUD)/16)-1
                                    //51=((8Mhz/9600)/16)-1
    //cONFIGURACION DEL I2C
    OpenI2C(MASTER    ,    //I2C como master
            SLEW_ON        //a 400khz
           );
    SSPADD=4;    //CLOCK=FOSC/(4*(SSPADD+1)
                //SSPADD=[(FOSC/CLOCK)/4]-1
                //Velocidad de 400khz de 8Mhz
    INTCONbits.GIE=0;    //Desactivamos interrupciones globales
}


////////////////////////////////////////////
//FUNCION PRINCIPAL
///////////////////////////////////////////
void main(void){
    OSCCON=0x70;        //EMPIEZA A CORRER A FOSC=8Mhz

    config();
    
    putrsUSART("Programa para leer y escribir en una memoria eeprom \r\n");
    putrsUSART("Escribiendo....\r\n");
    Delay1KTCYx(100);
    //--------Guarda datos en la eeprom--------------///
    WriteEE(0X02,'O');
    putrsUSART("LEIENDO.....\r\n");
    //--------LEE MEMORIA EEPROM---------------------///
    msje=ReadEE(0x02);
    putcUSART(msje);
    while(1);
}

Currently have 1 comentarios:

  1. I have read so many posts regarding the blogger lovers however this piece of writing is really a nice paragraph, keep it up.


    Visit my web blog ... forex Systems


Leave a Reply

Te doy la bienvenida al blog , puedes escribir tu comentario en la casilla mostrada abajo ,gracias.
You are welcome in this blog , you can write your comment in the box shown below, thanks.