namd
ich glaub das ja nun nicht wa also wie gut das ich noch am lernen bin sonst wärs bestimmt peinlich oder so
ich hab nun schon hier im forum durch hilfe herraufinden können was toggle ist
dann auch noch wie man mit toggle nen prog starten kann, soweit so gut
aber ich hatte dummerweise meine lauflichter mit nem wait befehl geprogt, nun da der controller ja nun in der waitperioden nichts tut, nahm er auch keine befehle zum abschalten mehr entgegen, einschalten ging wunderbar.
also hab ich das ganze mit nem timer versucht, es sind allerdings 3 lauflicht progs in einem... naja seht selbst, evt kann mir ja jemand helfen, aber seit gnädig ich bin noch anfänger und hab nicht ein Buch hier

Code:
   $regfile = "m8def.dat"

      Config Timer1 = Timer , Prescale = 1

      Ddrb = &B00001111
      Config Portc = Output
      Config Portd = Output

      Portb = &B00001111


      Dim C As Byte
      C = &B11001100

      Dim B As Byte
      B = &B11111000

      Dim A As Byte
      A = &B11000000

      Dim Licht As Byte

      Dim Lauflicht1 As Bit
      Dim Lauflicht2 As Bit
      Dim Lauflicht3 As Bit

      Portd = &B00000000

      On Timer1 Timer_irq
      Const Timervorgabe = 64536
      Enable Timer1
      Enable Interrupts

   Do

      If Pinb.0 = 0 And Pinb.1 = 1 And Pinb.2 = 1 And Pinb.3 = 1 Then
      Waitms 80
      If Pinb.0 = 0 And Pinb.1 = 1 And Pinb.2 = 1 And Pinb.3 = 1 Then Toggle Portc.1
      End If

      If Pinb.0 = 1 And Pinb.1 = 0 And Pinb.2 = 1 And Pinb.3 = 1 Then
      Waitms 80
      If Pinb.0 = 1 And Pinb.1 = 0 And Pinb.2 = 1 And Pinb.3 = 1 Then Toggle Portc.2
      End If

      If Pinb.0 = 1 And Pinb.1 = 1 And Pinb.2 = 0 And Pinb.3 = 1 Then
      Waitms 80
      If Pinb.0 = 1 And Pinb.1 = 1 And Pinb.2 = 0 And Pinb.3 = 1 Then Toggle Portc.3
      End If

      If Pinb.0 = 1 And Pinb.1 = 1 And Pinb.2 = 1 And Pinb.3 = 0 Then
      Waitms 80
      If Pinb.0 = 1 And Pinb.1 = 1 And Pinb.2 = 1 And Pinb.3 = 0 Then Toggle Portc.4
      End If

      If Pinb.0 = 1 And Pinb.1 = 0 And Pinb.2 = 0 And Pinb.3 = 1 Then
      Waitms 80
      If Pinb.0 = 1 And Pinb.1 = 0 And Pinb.2 = 0 And Pinb.3 = 1 Then Toggle Portc.5
      End If

      If Pinb.0 = 0 And Pinb.1 = 1 And Pinb.2 = 0 And Pinb.3 = 1 Then
      Portc = &B00000000
      End If

      If Pinb.0 = 0 And Pinb.1 = 0 And Pinb.2 = 1 And Pinb.3 = 0 Then
      Waitms 80
      If Pinb.0 = 0 And Pinb.1 = 0 And Pinb.2 = 1 And Pinb.3 = 0 Then Toggle Lauflicht1
      End If
      If Lauflicht1 = 1 Then
      Portd = A

      If Licht = 149 Or Licht = 74 Then
      Rotate A , Left , 1
      End If

      If Pinb.0 = 0 And Pinb.1 = 1 And Pinb.2 = 1 And Pinb.3 = 0 Then
      Waitms 80
      If Pinb.0 = 0 And Pinb.1 = 1 And Pinb.2 = 1 And Pinb.3 = 0 Then Toggle Lauflicht2
      End If
      If Lauflicht2 = 1 Then
      Portd = B

      If Licht = 148 Or Licht = 73 Then
      Rotate B , Right , 1
      End If

      If Pinb.0 = 1 And Pinb.1 = 1 And Pinb.2 = 0 And Pinb.3 = 0 Then
      Waitms 80
      If Pinb.0 = 1 And Pinb.1 = 1 And Pinb.2 = 0 And Pinb.3 = 0 Then Toggle Lauflicht3
      End If
      If Lauflicht3 = 1 Then
      Portd = C

      If Licht = 147 Or Licht = 72 Then
      Rotate C , Left , 1
      End If

      If Pinb.0 = 0 And Pinb.1 = 0 And Pinb.2 = 1 And Pinb.3 = 1 Then
      Portd = &B11111111
      Waitms 10
      Portd = &B00000000
      Waitms 50
      Return
      Elseif Pinb.0 = 1 And Pinb.1 = 1 And Pinb.2 = 1 And Pinb.3 = 1 Then
      Portd = &B00000000
      End If

   Loop

   End


   Timer_irq:
   Timer1 = Timervorgabe
   Incr Licht
   If Licht = 150 Then Licht = 1
   End If


   Return
ich muss noch sagen das ich ne kleine 10er tastatur zur auswahl dran hab, selber gebaut versteht sich
somit spart man ports und um genau zu sein 6 wie ihr im programm seht braucht man dann nur noch 4 ports, man könnte dann theoretisch 15 taster an 4 ports anschließen

gruss, bigeggmc