Help with writing to registers for 1Hz pwm and timer interrupt

You are not calculating outputvalue if frequency is 51 or 50.5.

Simplify this to:

  if (frequency > 51) {
    outputvalue = 62499u;
  } else if (frequency < 50.5) {
    outputvalue = 0;
  } else {
    outputvalue = 2 * 62499ul * (frequency - 50.5);
  }