We start using time delays between instructions thanks to a __delay_ms (X) macro from XC8 compiler where X is the time in ms.
Single Diode statistics: U = 2V, Imax = 20mA. I have used 470ohm resistor. The total current sourced from PIC is around 55mA where allowable maximum is 200mA. This situation is safe but not recommended!