für die einstellbare Frequenz habe ich eine Lösung gefunden

Code:
$regfile = "ATtiny13.dat"
'$crystal = 4800000
Dim Hi As Byte
Dim Lo As Byte
Dim Phase As Bit
Dim Get_break_signal As Bit
Dim B As Byte
Const Reload = 95                                           'um 24 Hz zu erzeugen 4,8Mhz/8/64
$hwstack = 10                                               'Eingefügt Weil die Standardvorgaben
$swstack = 10                                               'für den Tiny13 zu
$framesize = 20                                             'hoch sind.

Ddrb = &B00000011
Portb = &B00000100
Lo = Reload - 13
Hi = Reload - Lo
Phase = 1
Config Timer0 = Timer , Prescale = 8
On Timer0 Timer_isr
Enable Timer0
Enable Interrupts

Declare Function Get_break_signal() As Byte


Do
 nop
Loop

Timer_isr:
  If Phase = 1 Then
      If Get_break_signal() = 1 Then
         Portb.0 = 1
      Else
         Portb.0 = 0
      End If
   Portb.1 = 0
  Load Timer0 , Lo
   Phase = 0

  Else
   If Get_break_signal() = 1 Then
         Portb.0 = 0
      Else
         Portb.0 = 1
      End If
   Portb.1 = 1
  Load Timer0 , Hi
   Phase = 1
  End If
Return


Function Get_break_signal() As Byte
   Local Bt As Byte
   For Bt = 1 To 3
       If Portb.2 = 0 Then
         Get_break_signal = 0
         Exit Function
      End If
   Next Bt
   Get_break_signal = 1
End Function
Nur regiert der µC nicht darauf wenn ich PB.2 auf Masse ziehe. Dann sollte das PWM Signal sich eigentlich ändern.