'Schneckenzaun V.1.0 '19.07.16 $regfile = "attiny45.dat" $crystal = 1000000 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10 for the SW stack $framesize = 40 'default use 40 for the frame space Config Adc = Single , Prescaler = Auto , Reference = Avcc Config Portb.1 = Output Config Portb.2 = Output Dim Spannung As Word Dim Zaun_an_zeit As Byte Dim Zaun_aus_zeit As Byte Dim Blink_zeit As Byte Led Alias Portb.1 Zaun_an Alias Portb.2 Led = 0 Zaun_an = 0 Zaun_an_zeit = 0 Zaun_aus_zeit = 0 Blink_zeit = 0 Start Adc Do 'Solange der Zaun unter einer Sekunde angeschaltet ist.. If Zaun_an_zeit < 10 Then '...an lassen Zaun_an = 1 'Wechselspannung an Waitms 100 'Zeitschleife Zaun_an_zeit = Zaun_an_zeit + 1 'Zeitzähler ++1 Spannung = Getadc(2) 'Messen ob <10 'Prüfen, ob ein Kurzschluss vorliegt (z.B. Schnecke in der Leitung) If Spannung <= 200 Then 'etwa 1V Led = 1 Else Led = 0 End If End If If Zaun_an_zeit >= 10 Then '1 Sekunde ist um, Zaun 3 sek abschalten Zaun_an = 0 'Zaun ausschalten Waitms 100 'Zeitschleife Zaun_aus_zeit = Zaun_aus_zeit + 1 End If 'Wenn der Zaun 3 Sek ausgeschaltet war, wieder Ein vorbereiten If Zaun_aus_zeit >= 30 Then Zaun_an_zeit = 0 Zaun_aus_zeit = 0 End If Loop '############### Kurzschluss_detected: Led = 1 Return '############### End 'end program +