$regfile = "m8def.dat" $crystal = 16000000 Ddrc = &B11111111 Config Pind.2 = Input Config Pinb.1 = Output Pc Alias Portc Cpin Alias Pind.2 Dim A As Word Dim B As Word Dim C As Word Dim D As Word Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 8 '###################################################################################################### Pc = 31 Pwm1a = 1 Waitms 20 Pwm1a = 255 Waitms 50 Pwm1a = 1 Waitms 20 Pwm1a = 255 Pc = 0 '###################################################################################################### Goto Ir Goto Aus Goto Flash Goto Fade '###################################################################################################### IR: If Cpin = 0 Then C = 0 D = 0 Else Goto IR End If Waitms 40.32 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D Waitus 560 C.0 = Cpin D = C * 2 C = D If C = &HFFFE Then Goto IR Else D = C + Cpin Goto Aus End If Return '###################################################################################################### Aus: If D = &H7554 Then Pc = 0 Pwm1a = 255 Goto IR End If '###################################################################################################### Flash: If D = &HDD74 Then Pc = 1 Pwm1a = 20 Waitms 20 Pc = 2 Waitms 20 Pc = 4 Waitms 20 Pc = 8 Waitms 20 Pc = 16 Waitms 20 Pc = 0 Pwm1a = 255 Goto IR Else Goto Fade End If Return '###################################################################################################### Fade: If D = &HDD5C Then Pc = 31 Waitms 200 For A = 245 To 60 Step -1 Pwm1a = A Waitms 7 Next For A = 60 To 245 Pwm1a = A Waitms 0.7 Next Goto IR Else Goto IR End If Return