Lecture d'un bouton en utilisant un timer

Forum sur la programmation Bascom AVR
Répondre
andromeda
Messages : 706
Enregistré le : 30 mars 2004 0:07
Contact :

Lecture d'un bouton en utilisant un timer

Message par andromeda » 05 mars 2007 11:22

Code : Tout sélectionner

Config Timer0 = Timer , Prescale = 256
On Timer0 Timer0int

Switch Alias Portb.0
Dim SwitchCnt As Integer
Declare Sub LongSw
Declare Sub ShortSw

Timer0int:

If Switch = 0 Then
Incr Switchcnt
If Switchcnt = 140 Then ' When You press shorter You get ShortSw(),
exactly LongSw()
' and longer nothig
Call LongSw()
End If
Else
Select Case Switchcnt
Case 8 To 139 ' 8 - value off debouce 139 have to be smaller
then Long Press value
Call ShortSw()
End Select
Switchcnt = 0
End If
Return

Sub LongSw

If Pwm1a = 0 then
Pwm1a = 255 'Turn ON
else
Pwm1a = 0 'Turn OFF
End IF

End Sub

Sub ShortSw

Pwm1a = Pwm1a + 55 'You have to configure PWM

End Sub
Moderator - Forum

Répondre