#include <p18f4520.h>
#include <stdio.h>
#include <system4520.h>
#include <delays.h>
void EE_WRT(void);
void SerTx(unsigned char);
unsigned char EE_READ(void);
void main()
{
int f, lol=0, count=0;
unsigned char test;
lcd_init();
clear_screen();
//WRITE TO EEPROM
count=0;
for(f=0;f<8;f++)
{
EEADR=lol;
EEDATA=sizeof(f);
EE_WRT();
count++;
lol++;
}
EECON1bits.WREN=0;
//READ FROM EEPROM
lol=0;
for(f=0;f<count;f++)
{
EEADR=lol;
test=EE_READ();
cursor_set(0,lol);
WriteC(test);
count++;
lol++;
Delay10KTCYx(100);
}
while(1);
}
void EE_WRT()
{
EECON1bits.EEPGD=0;
EECON1bits.CFGS=0;
EECON1bits.WREN=1;
INTCONbits.GIE=0;
EECON2=0x55;
EECON2=0xAA;
EECON1bits.WR=1;
INTCONbits.GIE=1;
while(!PIR2bits.EEIF);
PIR2bits.EEIF=0;
}
unsigned char EE_READ()
{
EECON1bits.EEPGD=0;
EECON1bits.CFGS=0;
EECON1bits.RD=1;
return(EEDATA);
}
void SerTx(unsigned char c)
{
while(PIR1bits.TXIF==0);
TXREG=c;
}