Hier das Prog, ich bin allerdings sicher, dass das einfacher geht.

Code:
Const True = 1
Const False = 0

Dim Hi As Byte
Dim Lo As Byte
Dim A As Byte
Dim Phase As Bit
Dim Pattern As Byte                       ' Bit pattern for display

Pwm Alias Portb.0                         ' Modulated Pin

Config Timer0 = Timer , Prescale = 64     ' Rate 244 Hz at 4 MHz Clock

On Timer0 Timer0_isr                      ' Jump to Timer1 ISR

Config Portb = Output

Enable Timer0                             ' Enable the timer interrupt
Enable Interrupts                         ' Enable Global Interrupt

Lo = 128                                  ' Initial value for PWM
Phase = True

Do
    A = Pind                              ' Ask for Key
    Select Case A
        Case &B11111110 : Lo = 0          ' Lo Time short, Hi Time long
        Case &B11111101 : Lo = 32
        Case &B11111011 : Lo = 64
        Case &B11110111 : Lo = 96
        Case &B11101111 : Lo = 128
        Case &B11011111 : Lo = 160
        Case &B10111111 : Lo = 192
        Case &B01111111 : Lo = 255        ' Lo Time long. Hi Time short
     End Select
    Hi = 255 - Lo
    Incr Pattern                          ' Change Bit Pattern
    Waitms 100                            ' Wait 100 ms
Loop

End

Timer0_isr:
    If Phase = True Then
        Portb = &HFF                      ' LED off
        Timer0 = Lo                       ' Reload Timer0
        Phase = False
    Else

        Portb = Not Pattern               ' LED on
        Timer0 = Hi                       ' Reload Timer0
        Phase = True
    End If
Return