Using the toggle feature of PINB is not safe. If any toggle gets missed or repeated, your PWM is suddenly inverted.
elapsedMicros = micros() - previousMicros;
if (highLow)
{
// HIGH
if (elapsedMicros >= highTime)
{
previousMicros += highTime;
PORTB &= ~_BV(PB0); // Clear Pin 8
highLow = 0; // started low period
}
}
else
{
// LOW
if (elapsedMicros >= lowTime)
{
previousMicros += lowTime;
PORTB |= _BV(PB0); // Set Pin 8
highLow = 1; // started HIGH period
}
}