Config Pind.1 = Input 'Encoder "Taster" Config Pind.2 = Input 'Encoder "A" Config Pind.3 = Input 'Encoder "B" Config Portd.6 = Output 'Servoausgang 1 Config Portd.5 = Output 'Servoausgang 2 Config Portd.4 = Output 'Servoausgang 3 Config Portb = Output '8 LEDs Dim A As Byte 'Speicher Servoposition Dim Serv1 As Byte 'Speicher Servoposition Dim Serv2 As Byte 'Speicher Servoposition Dim Serv3 As Byte 'Speicher Servoposition Dim B As Byte 'Speicher Anzeige Servopos. Dim C As Byte 'Speicher aktives Servo Dim Flag As Bit 'flag für Tasterentprellung Config Servos = 3 , Servo1 = Portd.6 , Servo2 = Portd.5 , Servo3 = Portd.4 , Reload = 9 'Servo an Portb.3 Enable Interrupts Enable Int0 Enable Int1 Config Int0 = Change 'Encoderleitungen an Int0 und Int1 Config Int1 = Change On Int0 Kanal1 'Springe in Encoderdecodierung On Int1 Kanal2 'Springe in Encoderdecodierung A = 77 'A = 168 Serv1 = A Serv2 = A Serv3 = A B = 1 Flag = 0 C = 4 Gosub Kanal1 Gosub Kanal2 Do If Flag = 1 And Pind.1 = 1 Then Flag = 0 C = C + 1 End If If Pind.1 = 0 Then Flag = 1 If C = 5 Then C = 1 If A > 242 Then A = 242 If A < 77 Then A = 77 If A < 96 Then B = &B00000001 If A > 095 And A < 115 Then B = &B00000011 If A > 114 And A < 133 Then B = &B00000010 If A > 132 And A < 151 Then B = &B00000110 If A > 150 And A < 180 Then B = &B00000100 If A > 179 And A < 200 Then B = &B00001100 If A > 199 And A < 216 Then B = &B00001000 If A > 215 And A < 234 Then B = &B00011000 If A > 233 Then B = &B00010000 If A = 168 Or A = 169 Then B = &B00001010 If C = 1 Then B = B Or &B10000000 Serv1 = A End If If C = 2 Then B = B Or &B01000000 Serv2 = A End If If C = 3 Then B = B Or &B00100000 Serv3 = A End If If C = 4 Then B = B Or &B11100000 Serv1 = A Serv2 = A Serv3 = A End If B = B Xor 255 Portb = B Servo(1) = Serv1 Servo(2) = Serv2 Servo(3) = Serv3 Waitms 1 Loop Kanal1: If Pind.2 = 1 And Pind.3 = 0 Then A = A + 1 If Pind.2 = 0 And Pind.3 = 1 Then A = A + 1 If Pind.2 = 1 And Pind.3 = 1 Then A = A - 1 If Pind.2 = 0 And Pind.3 = 0 Then A = A - 1 Return Kanal2: If Pind.2 = 0 And Pind.3 = 1 Then A = A - 1 If Pind.2 = 1 And Pind.3 = 0 Then A = A - 1 If Pind.2 = 1 And Pind.3 = 1 Then A = A + 1 If Pind.2 = 0 And Pind.3 = 0 Then A = A + 1 Return End 'end program