ich habs geschafft!!!! =D>
Ist zwar mehr als kompliziert gecodet, aber immerhin erfüllt es voll und ganz seinen zweck.
Code:$regfile = "m8def.dat" $crystal = 8000000 'Interner 8mhz Quarz '#####Ausgänge##### Config Portb = Output Gruen Alias Portb.2 'Grüne LED an Portb.5 Rot Alias Portb.1 'Rote LED an Portb.4 Blau Alias Portb.0 'Blaue LED an Portb.3 '#####Deklarationen##### Dim Helligkeit As Byte 'Helligkkeitswert '###Hilfsbits und -bytes### Dim Ro1 As Bit Dim Bl1 As Bit Dim Gr1 As Bit Dim Reverse As Bit Dim Zler1 As Byte Dim Zler2 As Byte Dim Halb As Byte Dim Ganz As Byte '#####Timer##### Enable Interrupts Enable Timer0 On Timer0 Int_timer0 Config Timer0 = Timer , Prescale = 256 Enable Timer1 On Timer1 Int_timer1 Config Timer1 = Timer , Prescale = 8 Const Timervorgabe = 32203 Helligkeit = 5 '#####Hauptschleife##### Do Loop '#####Hauptschleife Ende##### '#####Timer0 isr##### Int_timer0: If Ro1 = 1 Then Toggle Rot If Rot = 1 Then Timer0 = 256 - Helligkeit Else Timer0 = Helligkeit End If End If If Bl1 = 1 Then Toggle Blau If Blau = 1 Then Timer0 = 256 - Helligkeit Else Timer0 = Helligkeit End If End If If Gr1 = 1 Then Toggle Gruen If Gruen = 1 Then Timer0 = 256 - Helligkeit Else Timer0 = Helligkeit End If End If Return '#####Timer1 isr##### Int_timer1: Timer1 = Timervorgabe 'Timervorgabewert von RNAVR berechnet If Helligkeit = 250 Then Set Reverse Incr Zler1 End If If Helligkeit = 1 Then Reset Reverse Incr Zler2 End If '####Moodlight#### '###rot### If Zler2 = 0 Then Set Ro1 If Zler1 = 1 Then Reset Ro1 If Zler1 = 2 Then Set Ro1 If Zler2 = 3 Then Set Ro1 If Zler1 = 4 Then Reset Ro1 If Zler2 = 2 Then Reset Ro1 '###Gruen### If Zler2 = 0 Then Set Gr1 If Zler1 = 2 Then Reset Gr1 If Zler1 = 3 Then Set Gr1 If Zler2 = 3 Then Reset Gr1 If Zler2 = 4 Then Set Gr1 '###Blau### If Zler2 = 1 Then Reset Bl1 If Zler2 = 0 Then Set Bl1 If Zler2 = 2 Then Set Bl1 If Zler1 = 3 Then Reset Bl1 If Zler1 = 4 Then Set Bl1 '////////////////////////////////////////////// If Zler1 > 4 Then Zler1 = 0 If Zler2 > 4 Then Zler2 = 0 If Reverse = 1 Then Decr Helligkeit If Reverse = 0 Then Incr Helligkeit Return End






Zitieren

Lesezeichen