zu beginn wuste ich nicht wie ich anfangen soll, deswegen ist der Code mit der zeit gewachsen und deswegen..... sagen wir mal suboptimal.... geht aber.
Ich freue mich schon auf meinungenCode:$regfile = "m8535.dat" $crystal = 4000000 '-------------------------------------- Config Porta = Output Config Portb = Output Config Portc.7 = Output Config Portd.5 = Output Config Portd.6 = Output Config Timer1 = Timer , Prescale = 256 Enable Timer1 On Timer1 Systemtakt Enable Interrupts Enable Timer1 Load Timer1 , 2000 '-------------------------------------- Dim Ablauf(2) As Byte Dim Ablaufmax As Byte Dim Ablaufalt As Byte Dim Zaehler As Byte Dim Auswahl(10) As Byte Dim Status As Byte '.0 = Timer '.1 = Ablauf 1 = wurm vor '.2 = Ablauf 2 = wurm rück '.3 = Ablauf 3 = fläche '.4 = Ablauf 4 = pfeil '.5 = Ablauf 5 = zufall Dim Ladewert As Word Dim Leds As Word 'X1 -> .0 'X2 -> .1 'X3 -> .2 'X4 -> .3 'X5 -> .4 'X6 -> .5 'X7 -> .6 'X8 -> .7 'X9 -> .8 'Ebene1 -> .9 'Ebene2 -> .10 'Ebene3 -> .11 '-------------------------------------- Declare Sub Schalten() Declare Sub Anzeige() Declare Sub Zufall() Declare Sub Wurm() Declare Sub Fläche() Declare Sub Pfeil() Declare Sub Zufällig() '-------------------------------------- X1 Alias Porta.0 X2 Alias Porta.1 X3 Alias Porta.2 X4 Alias Porta.3 X5 Alias Porta.4 X6 Alias Porta.5 X7 Alias Porta.6 X8 Alias Porta.7 X9 Alias Portc.7 Ebene3 Alias Portb.0 Ebene2 Alias Portb.1 Ebene1 Alias Portb.2 Ledrot Alias Portd.6 Ledgelb Alias Portd.5 '-------------------------------------- Ladewert = 2000 Status.1 = 1 Status.2 = 0 Status.3 = 0 Status.4 = 0 Status.5 = 0 Ledrot = 0 Ledgelb = 0 '######## Anfang ################################ Do If Status.0 = 1 Then Status.0 = 0 If Status.1 = 1 Then Ablaufmax = 61 Incr Ablauf(1) If Ablauf(1) >= Ablaufmax Then Status.1 = 0 Status.2 = 1 Call Zufall End If Call Wurm End If If Status.2 = 1 Then Decr Ablauf(1) If Ablauf(1) <= 0 Then Status.2 = 0 Status.3 = 1 Call Zufall End If Call Wurm End If If Status.3 = 1 Then Ablaufmax = 19 Incr Ablauf(1) If Ablauf(1) >= Ablaufmax Then Ablauf(1) = 0 Status.3 = 0 Status.4 = 1 Call Zufall End If Call Fläche End If If Status.4 = 1 Then Ablaufmax = 7 Incr Ablauf(1) If Ablauf(1) >= Ablaufmax Then Ablauf(1) = 0 Status.4 = 0 Status.5 = 1 Call Zufall End If Call Pfeil End If If Status.5 = 1 Then Ablaufmax = 100 Incr Ablauf(1) Call Zufällig If Ablauf(1) >= Ablaufmax Then Ablauf(1) = 0 Status.5 = 0 Status.1 = 1 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 End If End If End If Auswahl(1) = Auswahl(2) Call Anzeige Auswahl(1) = Auswahl(3) Call Anzeige Auswahl(1) = Auswahl(4) Call Anzeige Auswahl(1) = Auswahl(5) Call Anzeige Auswahl(1) = Auswahl(6) Call Anzeige Auswahl(1) = Auswahl(7) Call Anzeige Auswahl(1) = Auswahl(8) Call Anzeige Auswahl(1) = Auswahl(9) Call Anzeige Auswahl(1) = Auswahl(10) Call Anzeige Loop '############################################################################# '############################################################################# Sub Zufällig() Incr Ablauf(2) If Ablauf(2) >= 10 Then Auswahl(2) = Rnd(27) Auswahl(3) = Rnd(27) Auswahl(4) = Rnd(27) Auswahl(5) = Rnd(27) End If End Sub '######## Wurm ############## Sub Wurm Ablaufmax = 61 Select Case Ablauf(1) Case 0 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Case 1 Auswahl(2) = 1 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Case 2 Auswahl(2) = 1 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Case 3 Auswahl(2) = 1 Auswahl(3) = 2 Auswahl(4) = 0 Auswahl(5) = 0 Case 4 Auswahl(2) = 1 Auswahl(3) = 2 Auswahl(4) = 0 Auswahl(5) = 0 Case 5 Auswahl(2) = 1 Auswahl(3) = 2 Auswahl(4) = 3 Auswahl(5) = 0 Case 6 Auswahl(2) = 1 Auswahl(3) = 2 Auswahl(4) = 3 Auswahl(5) = 0 Case 7 Auswahl(2) = 1 Auswahl(3) = 2 Auswahl(4) = 3 Auswahl(5) = 6 Case 8 Auswahl(2) = 2 Auswahl(3) = 3 Auswahl(4) = 6 Auswahl(5) = 0 Case 9 Auswahl(2) = 2 Auswahl(3) = 3 Auswahl(4) = 6 Auswahl(5) = 9 Case 10 Auswahl(2) = 3 Auswahl(3) = 6 Auswahl(4) = 9 Auswahl(5) = 0 Case 11 Auswahl(2) = 3 Auswahl(3) = 6 Auswahl(4) = 9 Auswahl(5) = 8 Case 12 Auswahl(2) = 6 Auswahl(3) = 9 Auswahl(4) = 8 Auswahl(5) = 0 Case 13 Auswahl(2) = 6 Auswahl(3) = 9 Auswahl(4) = 8 Auswahl(5) = 7 Case 14 Auswahl(2) = 9 Auswahl(3) = 8 Auswahl(4) = 7 Auswahl(5) = 0 Case 15 Auswahl(2) = 9 Auswahl(3) = 8 Auswahl(4) = 7 Auswahl(5) = 4 Case 16 Auswahl(2) = 8 Auswahl(3) = 7 Auswahl(4) = 4 Auswahl(5) = 0 Case 17 Auswahl(2) = 8 Auswahl(3) = 7 Auswahl(4) = 4 Auswahl(5) = 5 Case 18 Auswahl(2) = 7 Auswahl(3) = 4 Auswahl(4) = 5 Auswahl(5) = 0 Case 19 Auswahl(2) = 7 Auswahl(3) = 4 Auswahl(4) = 5 Auswahl(5) = 14 Case 20 Auswahl(2) = 4 Auswahl(3) = 5 Auswahl(4) = 14 Auswahl(5) = 0 Case 21 Auswahl(2) = 4 Auswahl(3) = 5 Auswahl(4) = 14 Auswahl(5) = 15 Case 22 Auswahl(2) = 5 Auswahl(3) = 14 Auswahl(4) = 15 Auswahl(5) = 0 Case 23 Auswahl(2) = 5 Auswahl(3) = 14 Auswahl(4) = 15 Auswahl(5) = 18 Case 24 Auswahl(2) = 14 Auswahl(3) = 15 Auswahl(4) = 18 Auswahl(5) = 0 Case 25 Auswahl(2) = 14 Auswahl(3) = 15 Auswahl(4) = 18 Auswahl(5) = 17 Case 26 Auswahl(2) = 15 Auswahl(3) = 18 Auswahl(4) = 17 Auswahl(5) = 0 Case 27 Auswahl(2) = 15 Auswahl(3) = 18 Auswahl(4) = 17 Auswahl(5) = 16 Case 28 Auswahl(2) = 18 Auswahl(3) = 17 Auswahl(4) = 16 Auswahl(5) = 0 Case 29 Auswahl(2) = 18 Auswahl(3) = 17 Auswahl(4) = 16 Auswahl(5) = 13 Case 30 Auswahl(2) = 17 Auswahl(3) = 16 Auswahl(4) = 13 Auswahl(5) = 0 Case 31 Auswahl(2) = 17 Auswahl(3) = 16 Auswahl(4) = 13 Auswahl(5) = 10 Case 32 Auswahl(2) = 16 Auswahl(3) = 13 Auswahl(4) = 10 Auswahl(5) = 0 Case 33 Auswahl(2) = 16 Auswahl(3) = 13 Auswahl(4) = 10 Auswahl(5) = 11 Case 34 Auswahl(2) = 13 Auswahl(3) = 10 Auswahl(4) = 11 Auswahl(5) = 0 Case 35 Auswahl(2) = 13 Auswahl(3) = 10 Auswahl(4) = 11 Auswahl(5) = 12 Case 36 Auswahl(2) = 10 Auswahl(3) = 11 Auswahl(4) = 12 Auswahl(5) = 0 Case 37 Auswahl(2) = 10 Auswahl(3) = 11 Auswahl(4) = 12 Auswahl(5) = 21 Case 38 Auswahl(2) = 11 Auswahl(3) = 12 Auswahl(4) = 21 Auswahl(5) = 0 Case 39 Auswahl(2) = 11 Auswahl(3) = 12 Auswahl(4) = 21 Auswahl(5) = 24 Case 40 Auswahl(2) = 12 Auswahl(3) = 21 Auswahl(4) = 24 Auswahl(5) = 0 Case 41 Auswahl(2) = 12 Auswahl(3) = 21 Auswahl(4) = 24 Auswahl(5) = 27 Case 42 Auswahl(2) = 21 Auswahl(3) = 24 Auswahl(4) = 27 Auswahl(5) = 0 Case 43 Auswahl(2) = 21 Auswahl(3) = 24 Auswahl(4) = 27 Auswahl(5) = 26 Case 44 Auswahl(2) = 24 Auswahl(3) = 27 Auswahl(4) = 26 Auswahl(5) = 0 Case 45 Auswahl(2) = 24 Auswahl(3) = 27 Auswahl(4) = 26 Auswahl(5) = 23 Case 46 Auswahl(2) = 27 Auswahl(3) = 26 Auswahl(4) = 23 Auswahl(5) = 0 Case 47 Auswahl(2) = 27 Auswahl(3) = 26 Auswahl(4) = 23 Auswahl(5) = 20 Case 48 Auswahl(2) = 26 Auswahl(3) = 23 Auswahl(4) = 20 Auswahl(5) = 0 Case 49 Auswahl(2) = 26 Auswahl(3) = 23 Auswahl(4) = 20 Auswahl(5) = 19 Case 50 Auswahl(2) = 23 Auswahl(3) = 20 Auswahl(4) = 19 Auswahl(5) = 0 Case 51 Auswahl(2) = 23 Auswahl(3) = 20 Auswahl(4) = 19 Auswahl(5) = 22 Case 52 Auswahl(2) = 20 Auswahl(3) = 19 Auswahl(4) = 22 Auswahl(5) = 0 Case 53 Auswahl(2) = 20 Auswahl(3) = 19 Auswahl(4) = 22 Auswahl(5) = 25 Case 54 Auswahl(2) = 19 Auswahl(3) = 22 Auswahl(4) = 25 Auswahl(5) = 0 Case 55 Auswahl(2) = 19 Auswahl(3) = 22 Auswahl(4) = 25 Auswahl(5) = 0 Case 56 Auswahl(2) = 22 Auswahl(3) = 25 Auswahl(4) = 0 Auswahl(5) = 0 Case 57 Auswahl(2) = 22 Auswahl(3) = 25 Auswahl(4) = 0 Auswahl(5) = 0 Case 58 Auswahl(2) = 25 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Case 59 Auswahl(2) = 25 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Case 60 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 End Select End Sub '######## Fläche ###################################### Sub Fläche() Ablaufmax = 19 Select Case Ablauf(1) Case 0 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 1 Auswahl(2) = 1 Auswahl(3) = 2 Auswahl(4) = 3 Auswahl(5) = 4 Auswahl(6) = 5 Auswahl(7) = 6 Auswahl(8) = 7 Auswahl(9) = 8 Auswahl(10) = 9 Case 2 Auswahl(2) = 10 Auswahl(3) = 11 Auswahl(4) = 12 Auswahl(5) = 13 Auswahl(6) = 14 Auswahl(7) = 15 Auswahl(8) = 16 Auswahl(9) = 17 Auswahl(10) = 18 Case 3 Auswahl(2) = 19 Auswahl(3) = 20 Auswahl(4) = 21 Auswahl(5) = 22 Auswahl(6) = 23 Auswahl(7) = 24 Auswahl(8) = 25 Auswahl(9) = 26 Auswahl(10) = 27 Case 4 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 5 Auswahl(2) = 1 Auswahl(3) = 4 Auswahl(4) = 7 Auswahl(5) = 10 Auswahl(6) = 13 Auswahl(7) = 16 Auswahl(8) = 19 Auswahl(9) = 22 Auswahl(10) = 25 Case 6 Auswahl(2) = 2 Auswahl(3) = 5 Auswahl(4) = 8 Auswahl(5) = 11 Auswahl(6) = 14 Auswahl(7) = 17 Auswahl(8) = 20 Auswahl(9) = 23 Auswahl(10) = 26 Case 7 Auswahl(2) = 3 Auswahl(3) = 6 Auswahl(4) = 9 Auswahl(5) = 12 Auswahl(6) = 15 Auswahl(7) = 18 Auswahl(8) = 21 Auswahl(9) = 24 Auswahl(10) = 27 Case 8 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 9 Auswahl(2) = 19 Auswahl(3) = 20 Auswahl(4) = 21 Auswahl(5) = 22 Auswahl(6) = 23 Auswahl(7) = 24 Auswahl(8) = 25 Auswahl(9) = 26 Auswahl(10) = 27 Case 10 Auswahl(2) = 10 Auswahl(3) = 11 Auswahl(4) = 12 Auswahl(5) = 13 Auswahl(6) = 14 Auswahl(7) = 15 Auswahl(8) = 16 Auswahl(9) = 17 Auswahl(10) = 18 Case 11 Auswahl(2) = 1 Auswahl(3) = 2 Auswahl(4) = 3 Auswahl(5) = 4 Auswahl(6) = 5 Auswahl(7) = 6 Auswahl(8) = 7 Auswahl(9) = 8 Auswahl(10) = 9 Case 12 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 13 Auswahl(2) = 3 Auswahl(3) = 6 Auswahl(4) = 9 Auswahl(5) = 12 Auswahl(6) = 15 Auswahl(7) = 18 Auswahl(8) = 21 Auswahl(9) = 24 Auswahl(10) = 27 Case 14 Auswahl(2) = 2 Auswahl(3) = 5 Auswahl(4) = 8 Auswahl(5) = 11 Auswahl(6) = 14 Auswahl(7) = 17 Auswahl(8) = 20 Auswahl(9) = 23 Auswahl(10) = 26 Case 15 Auswahl(2) = 1 Auswahl(3) = 4 Auswahl(4) = 7 Auswahl(5) = 10 Auswahl(6) = 13 Auswahl(7) = 16 Auswahl(8) = 19 Auswahl(9) = 22 Auswahl(10) = 25 Case 16 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 17 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 18 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 19 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 End Select End Sub '######## Pfeil ################################################ Sub Pfeil() 'If Status.4 = 1 Then Ablaufmax = 7 Select Case Ablauf(1) Case 0 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 1 Auswahl(2) = 5 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 2 Auswahl(2) = 14 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 Case 3 Auswahl(2) = 23 Auswahl(3) = 1 Auswahl(4) = 2 Auswahl(5) = 3 Auswahl(6) = 6 Auswahl(7) = 9 Auswahl(8) = 8 Auswahl(9) = 7 Auswahl(10) = 4 Case 4 Auswahl(2) = 10 Auswahl(3) = 11 Auswahl(4) = 12 Auswahl(5) = 15 Auswahl(6) = 18 Auswahl(7) = 17 Auswahl(8) = 16 Auswahl(9) = 13 Auswahl(10) = 0 Case 5 Auswahl(2) = 19 Auswahl(3) = 20 Auswahl(4) = 21 Auswahl(5) = 24 Auswahl(6) = 27 Auswahl(7) = 26 Auswahl(8) = 25 Auswahl(9) = 22 Auswahl(10) = 0 Case 6 Auswahl(2) = 0 Auswahl(3) = 0 Auswahl(4) = 0 Auswahl(5) = 0 Auswahl(6) = 0 Auswahl(7) = 0 Auswahl(8) = 0 Auswahl(9) = 0 Auswahl(10) = 0 End Select End Sub Pfeil() '######## Anzeige ################################
Übrigens:
kann man mit Target die einzelnen Busleitungen Beschriften?







Zitieren

Lesezeichen