
void EEPROM_Write(unsigned char xdata *address, unsigned char eeprom_data)
{
eeprom_data=eeprom_data|0x100;
EECON=0x02;	//Enable EEPROM
*address=eeprom_data;	//Latch the data
EECON=0x52;	//Programming
EECON=0xA2;	//Sequence
Delay(5);		//Delay to give the EEBUSY time to rise
while(((EECON&0x01)==0x01));		//Wait till EEBUSY is off
EECON=0x00;				 
}

unsigned char EEPROM_Read(unsigned char xdata *address)
{
unsigned char eeprom_data='5';
EECON=0x02;	//Access EPROM
AUXR=0x2C;	//Extend the Read cycles to accomidate for slow memory
eeprom_data=*address;
EECON=0x00;	//Allow usage of EPROM
AUXR=0x0C;	//Restore normal R/W Cycles
return(eeprom_data);						  
}
...
unsigned char *p,a,b,namestring[]={'Y','a','n','i','v',' ','K','f','i','r',0,' ',' ',' ',' ',' '};			//global
...
for(a=0, p="Yaniv";*p !=0;p++,a++)
		EEPROM_Write(&user_name[a],*p);
...
for(a=0;a<16;a++)
	{
		b=EEPROM_Read(&user_level);
		{
		lcd_command=0xc0+a;
		Delay(200);
		lcd_data=b;
		}
