So hab es jetzt endlich mal geschafft die PWM Frequenz flexibel einlesbar zu gestallten.
Momentan über Eingabe am Terminal (1. Wert die Frequenz, 2. Wert die Leistung, wobei 100% Leistung 50% Pulsweite sind)

Code:
$regfile = "m32def.dat"
$framesize = 500
$swstack = 500
$hwstack = 500
$crystal = 16000000

$baud = 9600

Dim Freq As Word , Pw As Single
Dim Pulsweite As Word
Dim Frequenz As Long

Config Portd.4 = Output
Config Timer1 = Pwm , Compare B Pwm = Clear Down , Compare A Pwm = Clear Up ,       ' CompareB für PWM, CompareA =0
Tccr1b = 17                                                 '1 für Prescaler 1, anderes Bit?
'Tccr1a = &B00100001                                         'See datasheet for details.
'Tccr1b = &B00010001                                         'See datasheet for details.
Compare1b = 65535

Enable Interrupts



Do

If Ischarwaiting() = 1 Then

   Input Frequenz Noecho
   Input Pulsweite Noecho
   Frequenz = 8000000 / Frequenz                            '80 ergibt 100kHz, Umrechnung für Frequenz in Freq-Wert
   Freq = Frequenz                                          'Wieder as 2 Byte Word

   Ocr1ah = High(freq)                                      'Frequenz high-Byte
   Ocr1al = Low(freq)                                       'Frequenz low-Byte, zählt x Timerimpulse 80=100kHz

   If Pulsweite > 100 Then Pulsweite = 100                  'maximale Leistung bei 50% PW, höhere Werte kürzen
   Pw = Freq / 200                                          '50% PW für 100% Leistung
   Pw = Pulsweite * Pw                                      'x% Leistung
   Pulsweite = Round(pw)                                    'in 2 Byte Word

   Enable Timer1

   If Pulsweite = 0 Then
      Pulsweite = 65535                                     'bei Leistung 0, Ausschalten (5V)
      Disable Timer1
   End If

   Compare1b = Pulsweite


End If

Loop
Bin aber noch immer auf der Suche, wie man die Frequenz aus alternativer Quelle richtig bestimmen kann. Zur Not halt mit INT0 Interrupt, wobei dann das auswerten zur Zeit schwieriger wird.
Vielleicht fällt mir oder jemand anderem ja noch was ein. Wäre zumindest schön das über den Input Capture Pin un die passende Funktion zu handeln.