Hallo Markus!
Ein dazu passendes Programm könnte in etwa so aussehen (ungetestet):
Code:
$regfile = "attiny13.dat"
$crystal = 1200000
$hwstack = 24
$swstack = 10
$framesize = 24
Eingang Alias Pinb.0
Ausgang Alias Portb.1
'DEBOUNCE konfigurieren: Nach Erkennen einer Zustandsänderung am Eingang, wird
'nach 20 ms noch einmal geprüft ob der Zustand stabil geblieben ist.
Config Debounce = 20 '20 ms
Do
'Wenn der Eingang von LOW nach HIGH gezogen wird, dann wird das
'Label *Eingang_wurde_geschaltet* angesprungen.
Debounce Eingang , 1 , Eingang_wurde_geschaltet , Sub
Loop
End
Eingang_wurde_geschaltet:
'DEBOUNCE wartet bereits 20 ms um den Eingangszustand genau zu erkennen.
'Wenn zusätzlich noch etwas gewartet werden soll, dann kann man hier
'ein ``WAITMS`` unterbringen.
'Ausgang einschalten
Ausgang = 1
'100 ms warten
Waitms 100
'Ausgang ausschalten
Ausgang = 0
'Zur Hauptschleife zurückkehren
Return
Bei diesem Programm muss der Eingang mit einem Pulldown-Wiederstand (ca. 10 kOhm) nach GND gezogen werden, so dass ein stabiler Zustand garantiert werden kann. Der Reed-Schalter muss den Eingang nach VCC ziehen.
Würde man es umgekehrt machen, dann könnte man auf den externen Pulldown-Widerstand verzichten und den eingebauten Pullup-Widerstand aktivieren.
mfg
Gerold
:-)
Lesezeichen