
void i2c_init(unsigned char address,  bit generalcall) 
		// The 7-bit I2C address to use
          	// 1 = respond to general call, 0 = ignore
                   	// general call
 {
  P1M1 |= 0x0C;	 	// set pins to open-drain
  P1M2 |= 0x0C;

  //I2ADR = 0x00;		// configure I2C address
  //I2ADR = address << 1;
  if (generalcall)
  {
    I2ADR |= 0x01;
  } // if

  I2SCLH = 0x13;	// configure internal SCL generator
  I2SCLL = 0x12;	// 99.6351kHz

  I2CON = 0x44;		// configure I2C interface
  					// use internal SCL generator

  IP1 &= ~0x01;		// set interrupt priority to 0
  IP1H &= ~0x01;

  mi2cstatus = I2C_IDLE; // initial status
  EI2C = 1;	 	// enable interrupt
} 

