logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bascom AVR: Jak zmierzyć czas naciśnięcia przycisku na AT90S2313?

karlos79 16 Lip 2005 14:26 1429 2
REKLAMA
  • #1 1658028
    karlos79
    Poziom 33  
    Posty: 1768
    Pomógł: 254
    Ocena: 76
    Witam.
    Jak sprawdzić czas naciśnięcia przycisku??
    Chce zrobić tak , zeby po krótkim nacisnięciu przycisku procek wykonał jakąś operacje.
    Jeśli przytrzymał bym ten przycisk dłużej to procek zrobił by inna operacje.
    Np.
    At90s2313 , po jednokrotnym przycisnięciu przycisku zapala diode, natomiast po jego przytrzymaniu przesuwa jedynke po całym porcie.
    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 1658115
    Kminek
    Poziom 15  
    Posty: 200
    Pomógł: 21
    Ocena: 16
    Hej!

    Oto programik w Bascom-AVR. Jeżeli naciśniesz przycisk(portd.0) na mniej niż pieć sekund to zapli Ci się dioda(Portb.7), a jeżeli będziesz trzymał przycisk wciśnięty przez pięć sekund to przesunie Ci jedynkę po całym porcie b.


    Config Pind.0 = Input
    Config Portb = Output

    Dim I As Dim

    I=1
    Program:
    Do

    If Pind.0 = 0 Then
    For I = 1 To 5
    Wait 1
    If Pind.0 <> 0 Then 'Jezeli przycisnales na krocej niz 5 sekund
    Waitms 400
    I=1
    Set Portb.7 ' Zapala diode
    Goto Program
    End If

    If I = 5 Then ' A po pieciu sekundach przesuwa 1 po calym porcie
    If Pind.0 = 0 Then
    Set Portb.7
    Waitms 250
    Reset Portb.7
    Set Portb.6
    Waitms 250
    Reset Portb.6
    Set Portb.5
    Waitms 250
    Reset Portb.5
    Set Portb.4
    Waitms 250
    Reset Portb.4
    Set Portb.3
    Waitms 250
    Reset Portb.3
    Set Portb.2
    Waitms 250
    Reset Portb.2
    Set Portb.1
    Waitms 250
    Reset Portb.1
    Set Portb.0
    Waitms 250
    I=1
    Goto program
    End If
    Next I
    End If

    Loop


    Pozdrawiam
  • #3 1981926
    karlos79
    Poziom 33  
    Posty: 1768
    Pomógł: 254
    Ocena: 76
    Witam
    Dziękuje bardzo problem został rozwiazany, i uważam go za zamkniety.
    Pozdrawiam
REKLAMA