http://www.sprut.de/electronic/pic/grund/i2c_soft.htm