$regfile = "m8def.dat" $lib "mcsbyte.lbx" $crystal = 4000000 'interner Quarz 4 MHz Declare Sub Check_input() ' optional LCD einbinden - hier Goldentek 16 * 2 Config Lcdpin = Pin , Db4 = Portd.5 , Db5 = Portd.6 , Db6 = Portd.7 , Db7 = Portb.0 , E = Portd.3 , Rs = Portd.4 Config Lcd = 16 * 2 ' RC5 (TSOP1136) auf PIN D2 (INT0) festlegen - Timer0 und INT0 haben damit gut zu tun :-) Config Rc5 = Pind.2 Enable Interrupts ' Timer1 und Timer2 für PWM Betrieb initialisieren Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1 Config Timer2 = Pwm , Compare Pwm = Clear Up , Prescale = 1 Dim Address As Byte , Command As Byte Dim Rgb As Byte 'Hilfsvariable Config Pinb.3 = Output 'PWM Output rot Timer2 Config Pinb.2 = Output 'PWM Output grün Timer1 Config Pinb.1 = Output 'PWM Output blau Timer1 Out_red Alias Ocr2 'PIN 17 PB3 Out_green Alias Ocr1al 'PIN 16 PB2 Out_blue Alias Ocr1bl 'PIN 15 PB1 Out_red = 0 'rot dunkel Out_green = 0 'grün dunkel Out_blue = 0 'blau dunkel Cursor Off Noblink Cls Do Getrc5(address , Command) If Address = 0 Then Command = Command And &B01111111 Locate 1 , 2 Lcd "A:" ; Address ; " C:" ; Command ; " " Check_input Locate 1 , 11 Lcd "R:" ; Out_red ; " " Locate 2 , 2 Lcd "G:" ; Out_green ; " " Locate 2 , 9 Lcd "B:" ; Out_blue ; " " End If Waitms 15 Loop End Sub Check_input() Select Case Command Case 44 : Rgb = 1 ' rot eingeschaltet Case 31 : Rgb = 2 ' grün eingeschaltet Case 43 : Rgb = 3 ' blau eingeschaltet End Select If Command = 12 Then ' Power Taste - alles auf 0 Out_red = 0 Out_blue = 0 Out_green = 0 Rgb = 0 End If If Command = 39 Then ' Gelbe Taste (Farbe gelb mischen) Out_red = 255 Out_blue = 0 Out_green = 255 Rgb = 0 End If If Command = 47 Then ' Rosa Taste (Farbe rosa mischen) Out_red = 255 Out_blue = 128 Out_green = 0 Rgb = 0 End If If Command = 63 Then ' Taste OK auf der Fernbedienung If Rgb = 1 Then ' rote LED einschalten Out_red = 255 Out_blue = 0 Out_green = 0 Rgb = 0 End If If Rgb = 2 Then Out_red = 0 ' grüne LED einschalten Out_blue = 0 Out_green = 255 Rgb = 0 End If If Rgb = 3 Then ' blaue LED einschalten Out_red = 0 Out_blue = 255 Out_green = 0 Rgb = 0 End If End If If Command = 16 Then ' Vol.+ Taste gedrückt If Rgb = 1 And Out_red < 255 Then ' je nach Farbvorauswahl Farbe hoch Out_red = Out_red + 5 End If If Rgb = 2 And Out_green < 255 Then Out_green = Out_green + 5 End If If Rgb = 3 And Out_blue < 255 Then Out_blue = Out_blue + 5 End If Waitms 15 End If If Command = 17 Then ' Vol.- Taste gedrückt If Rgb = 1 And Out_red > 0 Then ' je nach Farbvorauswahl Farbe runter Out_red = Out_red - 5 End If If Rgb = 2 And Out_green > 0 Then Out_green = Out_green - 5 End If If Rgb = 3 And Out_blue > 0 Then Out_blue = Out_blue - 5 End If Waitms 15 End If End Sub