# I2C pullup resistors not working in simulation

I am trying to create a small project on PIC16F877a MCU, in which I am showing the lifetime of this project using RTC module and the temperature read from LM35 onto an LCD.

Working with PULLUP Resistor

Not working with 2k pullup resistors

The simulation of this project works fine in Proteus software, when I replace the pullup resistors for the I2C with the component "PULLUP" in the proteus library. But my ultimate goal is to implement this in hardware, so from I2C pullup resistor calculation formulas, the values calculated for this MCU is as following:

Rp(min) = (5V-0.6V)/8.5mA = 517.6 ohm

Rp(max) = 1/(0.8473)400(10^-12)*(10^3) = 2.9 Kohm

using these values from the MCU datasheet:

tr = 1000ns, Cb = 400pF, Iol = 8.5mA, Vol = 0.6V, Vcc = 5V

The I2C module is working at 100KHz.

But the issue is that I have tried various values in this range, but the time shown on the LCD remains 00:00:00. Can someone please guide me what I am doing wrong?

• I think this may just be a modelling issue. This looks like a Proteus simulation - are you sure the pull-up are not just a logical component, rather than a physically modeled component? I would check the documentation that came with your software. – N.G. near Aug 17 '16 at 19:46
• This is a proteus simulation. The PULLUP component is from modelling primitives library and the RES component is from resistors library. – Mohsin Aug 17 '16 at 19:50
• Don't waste time on the vagaries of simulation environments. – Scott Seidman Aug 17 '16 at 20:04
• Simulation is a huge step towards completing a project, if such vagaries are common in Proteus software, then it defeats the purpose of simulation. Thank you for your help @N.G.near. Will move on to hardware stage. – Mohsin Aug 17 '16 at 20:08
• I think the question highlights the difference between logical and physical simulation, so does have some validity. – N.G. near Aug 17 '16 at 20:08

• The funny thing is, I have tried using RES from resistors and Resistorfrom modelling primitives library too. The simulation should work for any one of these two components. – Mohsin Aug 17 '16 at 20:01