EEPROM_READ_WRITE_WITH_REGISTER_ON_18f4550

//tested with MikroC pro and Proteus
//use 16 bit variable
//8 bit variable would stuck at 256

void main()
     {

     TRISB=0;
     PORTB=0;
     ADCON1=0xff;
     for(;;)
     {
     Dat=0;
     //EEPROM_WRITE
     //success
     for(Add=0;Add<256;Add++)
     {
     //Eeprom_Write(Add,Dat);
     EEADR=Add;
     EEDATA=Dat;
     EECON1.EEPGD=0;
     EECON1.CFGS=0;
     EECON1.WREN=1;
     INTCON.GIE=0;
     EECON2=0x55;
     EECON2-0x0AA;
     EECON1.WR=1;
     EECON1.WREN=0;
     INTCON.GIE=1;
     Dat=Dat+1;
     }
     //read
     //success
     for(Add=0;Add<256;Add++)
     {
    // PORTB=Eeprom_Read(Add);
       EEADR=Add;
       EECON1.EEPGD=0;
       EECON1.CFGS=0;
       EECON1.RD=1;
       PORTB=EEDATA;
     delay_ms(500);
     }
   
     }

     }



Comments

Popular posts from this blog

Inductance caculator

Pointer to object array