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][attiny13] microswitch

Manio95 06 Sie 2010 20:29 1881 7
REKLAMA
  • #1 8372070
    Manio95
    Poziom 21  
    Witam
    wiem, że pytanie wydaje się być na najniższym poziomie ale nie umiem znaleźć odpowiedzi.
    Jaką komendą mam obsłużyć microswitch w bascom.
    Chodzi o to, że np. chcę zrobić, że jak nacisnę microswitch to dioda zacznie mrugać.
    Więc zaczynam tak:

    
    $regfile = "attiny13.dat"
    $crystal = 1200000
    
    Config Pinb.3 = Output
    Config Pinb.4 = Input
    

    No i teraz jest potrzebna jakaś komenda, która po naciśnięciu microswitcha wykona np.to

    
    Do
    Set PORTB.3 
    Wait 1
    Reset PORTB.3
    Wait 1
    Loop

    Szukałem w help-ie ale nic nie znalazłem.
    Microswitch połączam z masa.
    Bardzo dziękuję za tą dla was prostą ale dla mnie bardzo pomocną odpowiedź.
    Pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 8372142
    alien_audio
    Poziom 21  
    Witam.
    Można tak:
    
    $regfile = "attiny13.dat" 
    $crystal = 1200000 
    Config Portb.3 = Output 
    Config Pinb.4 = Input 
    
    set pinb.4
    reset portb.3
    
    do 
    if pinb.4=0 then 
    do
    Set PORTB.3 
    Wait 1 
    Reset PORTB.3 
    Wait 1 
    Loop
    end if
    Loop
    
    



    W pętli odczytujesz stan przycisku i jak będzie niski zacznie migać.
  • REKLAMA
  • REKLAMA
  • #5 8372166
    Manio95
    Poziom 21  
    Dobra rozwiązanie kolegi alien_audio spełnia moje wymagania i działa..
    Dziękuję i pozdrawiam.
  • #6 8372192
    arktik1
    Poziom 27  
    Proponuje tak:
    
    $regfile = "attiny13.dat"
    $crystal = 1200000
    Config Portb = &B101111
            Portb = &B010000
    Do
    
    If Pinb.4 = 0 Then
    Wait 1
    Toggle Portb.3
    Else
    Portb.3 = 0
    End If
    
    Loop
    
  • REKLAMA
  • #7 8372251
    Manio95
    Poziom 21  
    Dzięki arktik1 za twoją propozycję ale tamto rozwiązanie jest dla mnie najłatwiejsze do zapamiętania.
  • #8 8372260
    alien_audio
    Poziom 21  
    
    $regfile = "attiny13.dat" 
    $crystal = 1200000 
    Config Portb.3 = Output 
    Config Pinb.4 = Input 
    Config Pinb.0 = Input 
    
    set pinb.4 
    reset portb.3 
    reset portb.0 
    
    do 
    if pinb.4=0 then 
    do 
    Set PORTB.3 
    Wait 1 
    Reset PORTB.3 
    Wait 1 
    Loop 
    end if 
    if pinb.0=0 then
    set portb.3
    wait 10
    reset portb.3
    end if
    Loop 
    
    


    Oczywiście to bardzo prymitywe rozwiązanie służy tylko jako przykład
REKLAMA