Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[bascom] - Bardzo prosty program, If...then

qqrydza 20 Lip 2012 12:06 1030 2
  • #1 20 Lip 2012 12:06
    qqrydza
    Poziom 11  

    Witam. Proszę o pomoc w napisaniu banalnego (zależy dla kogo) programu który bedzie wykonywał:

    jeśli Pinb.3 zwarty do masy to wystaw na 3 sek. stan wysoki na jedną z nóżek po czym czekaj na naciśnięcie drugiego przycisku [nie wykonuj tego ciągle tylko raz]

    jeśli Pinb.4 zwarty do masy to wystaw na 2 sek. stan wysoki na jedną z nóżek po czym czekaj na naciśnięcie pierwszego przycisku [nie wykonuj tego ciągle tylko raz]

    Zawsze jeden z pinów (Pinb.3 albo Pinb.4) jest złączony do masy.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    0 2
  • Pomocny post
    #2 20 Lip 2012 14:52
    Press
    Poziom 22  

    No masz moją wersje rozwiązania tego problemu.
    W symulatorze działa. Na uP nie testowałem.

    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    $regfile = "attiny13.dat"
    $crystal = 1000000

    Dim Fp1 As Bit
    Dim Fp2 As Bit

    Config Pinb.3 = Input
    Config Pinb.4 = Input

    Config Pinb.1 = Output
    Config Pinb.2 = Output

    Set Portb.3 'podciagniecie do +5V
    Set Portb.4


    Do
    If Pinb.3 = 0 And Fp1 = 0 Then
    Set Fp1
    Reset Fp2
    Set Portb.1
    Wait 3
    Reset Portb.1
    End If

    If Pinb.4 = 0 And Fp2 = 0 Then
    Set Fp2
    Reset Fp1
    Set Portb.2
    Wait 2
    Reset Portb.2
    End If
    Loop

    End 'end program

    'flagi FP1 i FP2 zapamietuja ktory przycisk został nacisniety ostatnio.
    'Po wcisnieciu przycisku na PB.3 stan wysoki na PB.1 przez 3 sek
    'Po wcisnieciu PB.4 stan wysoki na PB.2 przez 2 sekundy
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod


    Dodam tylko że program nie jest zabezpieczony przed wciśnięciem obu przycisków równocześnie' bo nie nadmieniałeś takiej potrzeby ;)

    Pozdro :)

    0
  • #3 20 Lip 2012 15:50
    qqrydza
    Poziom 11  

    Wielkie dzięki. Działa dokładnie tak jak chciałem.


    ...siedziałem nad tym od wczoraj:D

    0