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