juhuuu es läuft nun![]()
Hier mal der fertige Code:
Code:'################################################### '#Lauflichtsteuerung mit 3 Verschiedenen Programmen# '################################################### $regfile = "M8def.dat" $crystal = 3686400 Ddrd = &B11100000 'PD7, PD6, PD5 als Ausgänge festlegen, rest Eingang Portd = &B00001100 'PullUps von PD2, PD3 Aktivieren Dim Zler As Byte Dim Pr1_3 As Byte On Timer1 Ontimer1 Config Timer1 = Timer , Prescale = 64 'Timertakt = Crystal / 64 Enable Timer1 'Timer1 einschalten Enable Interrupts 'Interrupts Global einschalten Const Timervorgabe = 36736 'Hat mir rnAVR so berechnet '###Deklarationen### Led_gr Alias Portd.7 'LED Grün Led_ge Alias Portd.6 'LED Gelb Led_ro Alias Portd.5 'LED Rot Prwata Alias Pind.3 'Programmwahltaster Declare Sub Pr_1 Declare Sub Pr_2 Declare Sub Pr_3 '###Hauptschleife### Do Debounce Prwata , 0 , Pr_wechs , Sub 'Programmwahltaster entprellen und zu Pr_wechsel springen Gosub Pr_wechsel Loop '###OnTimer1### Ontimer1: Timer1 = Timervorgabe If Zler >= 3 Then 'Wenn Zler = 10 dann... Zler = 0 '...Zler = 1 End If Incr Zler 'Zler + 1 Return '###Unterprogramme### Pr_wechs: Incr Pr1_3 Gosub Pr_wechsel Return Pr_wechsel: If Pr1_3 >= 3 Then 'Wenn Pr1_3 = 2 dann... Pr1_3 = 0 '...Pr1_3 = 0 End If If Pr1_3 = 0 Then 'Wenn Pr1_3 = 0 dann... Gosub Pr_1 End If '...zum Sub PR_1 springen If Pr1_3 = 1 Then 'Wenn Pr1_3 = 1 dann... Gosub Pr_2 '...zum sub PR_2 springen End If If Pr1_3 = 2 Then Gosub Pr_3 End If Return '---------------- Pr_1: If Zler = 1 Then Led_ro = 1 Led_ge = 1 Led_gr = 1 End If If Zler = 2 Then Led_ro = 0 Led_ge = 0 Led_gr = 0 End If If Zler = 3 Then Led_ro = 0 Led_ge = 1 Led_gr = 0 End If Return '--------------- Pr_2: If Zler = 1 Then Led_ro = 1 Led_ge = 0 Led_gr = 1 End If If Zler = 2 Then Led_ro = 0 Led_ge = 1 Led_gr = 0 End If If Zler = 3 Then Led_ro = 1 Led_ge = 1 Led_gr = 1 End If Return '--------------- Pr_3: If Zler = 1 Then Led_ro = 1 Led_ge = 0 Led_gr = 0 End If If Zler = 2 Then Led_ro = 0 Led_gr = 1 Led_ge = 0 End If If Zler = 3 Then Led_ro = 0 Led_gr = 0 Led_ge = 1 End If Return







Zitieren

Lesezeichen