This is a software emulation of I2C-bus using CPU time of the C166 family to generate the clock and data. The I2C-bus is used in many applications mainly to communicate between devices connected to the bus. 1 Introduction to I2C-bus 3 2 I2C-bus Specifications 3 2.1 Data Transfer Formats 3 2.2 Timing Diagram 7 2.3 Hardware Connection.. 9 3 Software Description . 10 3.1 Software Concept 10 3.2 Description of Module Subroutines 11 3.3 Software Compilation 16