void wreeprom(unsigned short ads, unsigned char c)
{
#ifdef _i8051
#if   defined(_AT89C5131_)
	EECON |= (1<<1);		/* EEE */
	*((unsigned char xdata *)ads) = c;
	EECON = 0x54;			/* SPECIAL SEQUENCE */
	EECON = 0xA4;
	while (EECON & (1<<0));	/* EEBUSY */
//	EECON &= ~(1<<1);		/* EEE */
	EECON = 0x00;			/* brute force */
#elif defined(_AT89S8252_)
	WMCON |= (1<<3);		/* EEMEN */
	WMCON |= (1<<4);		/* EEMWE */
	*((unsigned char xdata *)ads) = c;
	while ((WMCON & (1<<1)) == 0) ;	/* WDTRST */
	WMCON &= ~((1<<3)|(1<<4));	/* EEMEN | EEMWE */
#else
#error _i8051 without EEPROM
#endif
#endif
}
