Taster entprellen ?

Gast #26562
Lesenswert?

Hallo,

ich habe ein Versuchsboard mit Tastern. Leider werden die einzelnen 
Rotinen immer mehrmals aufgerufen. Wer hat eine Idee??? Meine Lösung mit 
sbrs r20,1 Befehl funktioniert bei mir nur beim ersten Bit bei sbrs 
r20,2 ist das gleiche wie ohne Befehl.

Vielen Dank im vorraus !!!!


Gruß

Jürgen
Gast #26563
Lesenswert?

Moin!

Deine Taster lösen bestimmt nen Interrupt aus oder? Wenn ja schaltest du 
den Interrupt in der Interruptroutine aus. Dann startest du einen Timer 
und in der Overflow-Interruptroutine schaltest du den Tasterinterrupt 
wieder ein.
Meistens hat man so und so einen Timer mit 20ms oder so, da kann man das 
dann mit einbinden.

MfG
Gast #26566
Lesenswert?

Also mir fällt erst mal auf, das du mit rcall ein unterprogramm aufrufst 
und mit rjmp und nicht nit ret zurückspringst!
Und du solltest dir das mit dem Externen Interrupt angwöhnen, das ist 
erst mal mehr aufwand, aber für größere Programme bestimmt die bessere 
Wahl!
Gast #26568
Lesenswert?

entweder :
1) per software
z.B. erst wenn 3 mal hintereinander im abstand von 100 millisec das 
signal auf high ist, ist wirklich high

2) per hardware mit kondensator parallel zum taster
   würde mit etwa 100nf zu probieren beginnen

lg

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren