#define I2C_DELAY 0x0F	                    // For delay i2c bus 

void I2C_delay(void)
{
	unsigned char i;

	for(i=0; i<I2C_DELAY; i++);
}

void I2C_clock(void)                                      60
{
	I2C_delay();

	set_scl;		// Start clock             2 

	I2C_delay();                                      60

	clr_scl;		// Clear SCL               2
}
                                                          =====
                                                          124



// this is totally unpredictable being a C delay, but I'll set it to 60 cycles

	for(i=0;i<8;i++)		//sending 8 bits of data                  say 3
	{
	 data_bit = dat & 0x80;		// Filter MSB bit keep to data_bit        say 3
	 sda = data_bit;		// Send data_bit to SDA                   say 3

	I2C_clock();      		// Call for send data to i2c bus            124  

	dat = dat<<1;                                                              say 7
	}
                                                                                  ==========
                                                                                   140