Mam program, tak jak poniżej, nie reaguje na przerwanie z int0 i int1. Program ma sterować silnikami od drzwi garażowych
'--------------------Sterownik bramy by Peter507------------------------------'
Enable Interrupts
Enable Int0
Enable Int1
On Int0 Przerwanie
On Int1 Przerwanie1
Dim Licznik As Byte , Licznik1 As Byte , Stan_bramy As Byte , Opcja1 As Byte
Dim Opcja2 As Byte , Opcja3 As Byte , Stan_bramy1 As Byte , Opcja11 As Byte
Dim Opcja22 As Byte , Opcja33 As Byte
Config Pind.0 = Output
Config Pind.1 = Output
Config Pinb.0 = Output
Config Pinb.1 = Output
'----------------------------zerowanie zmiennych-------------------------------'
Licznik = 0
Licznik1 = 0
Stan_bramy = 0
Stan_bramy1 = 0
Opcja1 = 0
Opcja2 = 0
Opcja3 = 0
Opcja11 = 0
Opcja22 = 0
Opcja33 = 0
'---------------------------poczatek pierwszej bramy--------------------------'
Do
If Opcja1 = 0 Then
If Licznik = 1 Then
Portd.0 = 0
Portd.1 = 1
Wait 20
Portd.0 = 1
Stan_bramy = 1
Opcja1 = 1
End If
End If
If Stan_bramy = 1 Then
If Opcja2 = 0 Then
If Licznik = 2 Then
Portd.0 = 1
Portd.1 = 1
Opcja2 = 1
End If
End If
End If
If Opcja3 = 0 Then
If Licznik = 3 Then
Portd.0 = 1
Portd.1 = 0
Wait 20
Portd.1 = 1
Stan_bramy = 1
Opcja3 = 1
End If
End If
'----------------------------poczatek drugiej bramy----------------------------'
If Opcja11 = 0 Then
If Licznik1 = 1 Then
Portb.0 = 0
Portb.1 = 1
Wait 20
Portb.0 = 1
Stan_bramy1 = 1
End If
End If
If Opcja22 = 0 Then
If Stan_bramy1 = 1 Then
If Licznik1 = 2 Then
Portb.0 = 1
Portb.1 = 1
End If
End If
End If
If Opcja33 = 0 Then
If Licznik1 = 3 Then
Portb.0 = 1
Portb.1 = 0
Wait 20
Portb.1 = 1
Stan_bramy1 = 1
End If
End If
Loop
End
'------------------------koniec drugiej bramy--------------------------------'
Przerwanie:
Licznik = Licznik + 1
If Licznik = 4 Then
Licznik = 1
End If
If Portd.0 = 0 And Portd.1 = 0 Then
Portd.0 = 1
Portd.1 = 1
End If
Opcja1 = 0
Opcja2 = 0
Opcja3 = 0
Return
Przerwanie1:
Licznik1 = Licznik1 + 1
If Licznik1 = 4 Then
Licznik1 = 1
End If
If Portb.0 = 0 And Portb.1 = 0 Then
Portb.0 = 1
Portb.1 = 1
End If
Opcja11 = 0
Opcja22 = 0
Opcja33 = 0
Return