Problem: Enabling timer0 impacts general digital IO toggle rate (Arduino Uno)

manoj_singh:
As a solution I may decide not to use timer 0 at all and generate one of the three waveforms using simple digitalWrite commands but this will be only a workaround without knowing the real reason.

6v6gt told you the reason in his reply, timer0 is used to generate the timing for functions such as delay(), millis(), micros(), etc. With a clock frequency of 16MHz, the prescaler is set to 64 and the millis() count is updated with the timer0 overflow interrupt, generating an interrupt every 1.024mS (a frequency of 976.5625Hz), and micros() gets its value from the timer0 count. Altering timer0 will affect all of these, so you cannot expect delay() to work normally.