servus ich versuch mal mich an der ersten interrupt service routine

chip tiny26

timer1

Code:
'/////////////////////////////////////////////////////////
'///  Bascom ISP Programmer TEST timer1                      ///
'///   toggle portb.3
'/////////////////////////////////////////////////////////
$regfile = "AT26def.dat"                                    ' used device
$crystal = 8000000

$hwstack = 32                                               ' default use 32

$swstack = 10                                               'default use 10 for

$framesize = 40                                             'default use 40 for


Dim T As Byte
Dim Ph As Bit
Dim A As Byte
Led Alias Portb.0
Set Timsk.2                                                 'enable interrupt
Set Timsk.6                                                 'compare1a

Tccr1a = 64                                                 'toggle ocr1a
Tccr1b = 7                                                  'clock 64

Enable Interrupts
On Timer1 Isr_timer1
Set Ddrb.3
Ocr1c = 255                                                 'hier output von compare1a
Ocr1a = 125                                                 ' 1ms mitte servo

Do

For T = 1 To 255
 Waitms 100
 Next

Toggle Led
For T = 255 To 1 Step 1
 Waitms 100
 Next

Toggle Led


Loop

End

Isr_timer1:

If Ph = 1 Then
 Ocr1a = 63                                                 '0,5ms unterste grenze der high
  For A = 0 To T Step 1
  Ocr1a = 10                                                'je wert high + 8µs
  Next A
 Ph = 0
Else
 For A = 0 To 10                                            'low fase 10*2ms
 Ocr1a = 250
 Next A
 Ph = 1
End If


so kann doch das niemals laufen
als gegenstück zu servo gedacht

ich möchte das genau haben und gerne verstehen wie diese routinen laufen

so auf keinen fall

der tnc1 ist doch beim tiny ein upcounter und kommt dann an den ovf1 timer owerflow


bitte um hilfe