Also noch mal ganz von vorne.

Man bringt den Timer 1 in einen der verschiedenen PWM Modi.
Welchen PWM Mode Du brauchst musst Du anhand des Datenblattes selber rausfinden.
Dann wird ein Comparematchregister z.B. Comp1A mit einem Wert zwischen 0 und 65535 gefüttert.
Der Wert steht dann im direkten Zusammenhang mit der ausgegebenen Pulsbreite. Also 0 ist dauerhaft Low 65536 ist dauerhaft High.
Man kann aber auch invertet PWM machen die Puls Pausen verhältnisse sind dann umgekehrt.
Die Werte dazwischen produzieren dann die entsprechende Pulsweite.
Das ganze Spiel läuft nach der Konfiguration Hardwaremäßig ab und ist im Datenblatt des Controllers wirklich gut und umfangreich beschrieben.
Die Impulse kommen dann üblicherweise am OC1A Pin des Controllers raus.

Zum Ändern der Pulsweite muss das COMP1A dann nur wieder mit neuen Werten belegt werden. Auch dabei kann es zu sog. Glitches = Phasenfehlern kommen (Steht auch im Datenblatt). Wenn dich das aber nicht stört musst Du dagegen auch nichts unternehmen.

Als Tipp aus der Praxis kann ich Dir noch mitgeben, das Du an deinen Controller keine Großen Lasten hängst (LED's usw.) . Sonst wird je nach Belastung des Controllers die PWM Spannung schwanken.
Ist es trotzdem nötig höhere Lasen zu schalten solltest Du auf jeden Fall Treiber z.B. Mos Fet's oder integrierte Treiberbausteine verwenden.