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.

[ATmega8] [bascom] - jak dodać drugi przycisk

john wejn 27 Kwi 2012 18:00 813 1
  • #1 27 Kwi 2012 18:00
    john wejn
    Poziom 1  

    jestem bardzo początkujący więc pewnie pytanie będzie banalne :-) szukałem na różnych forach, próbowałem i nie wiem gdzie wrzucić w kodzie 2 przycisk... idea programu ma być taka: po włączeniu zasilania pojawia się na wyświetlaczu "witaj" i po naciśnięciu przycisku 1 mierzy napięcie (kolejne naciśnięcie=kolejny pomiar). I do tego miejsca wszystko działa. Chciałem dołożyć drugi przycisk po naciśnięci którego wyświetlane będą inne wartości z pierwszego pomiaru (przykładowo w pliku założyłem nap. x2, nap. x0,01, nap zaokr.) każde naciśnięcie przycisku 2 ma powodować wyświetlenie kolejnej wartości. Bardzo dziękuję za pomoc (to nie jest pytanie pomóżcie bo mi się nie chce - pewnie to niewiarygodne ale siedzę nad tym już drugi dzień). Działająca część w bascomie wygląda tak:

    $regfile = "m8def.dat"
    $crystal = 8000000

    Config Adc = Single , Prescaler = Auto , Reference = Avcc

    Dim Pomiar1 As Word

    Dim V1 As Single

    Dim Doliczenia1 As Single
    Dim Doliczenia2 As Integer
    Dim Doliczenia3 As Integer
    Dim Doliczenia4 As Integer

    Config Pind.0 = Input
    Portd.0 = 1
    Przycisk1 Alias Pind.0

    Config Pind.1 = Input
    Portd.1 = 1
    Przycisk2 Alias Pind.1

    Start Adc

    Do
    Locate 1 , 1
    Lcd "witaj"
    Locate 2 , 1
    Lcd "pomiar=1"
    Cursor Off
    If Przycisk1 = 0 Then
    Bitwait Przycisk1 , Set
    Cls
    Gosub Praca
    Cls
    End If
    Loop
    End

    Praca:
    Cls
    Pomiar1 = Getadc(0)
    V1 = Pomiar1 * 0.0049
    Doliczenia1 = V1 * 1
    Doliczenia2 = V1 * 2
    Doliczenia3 = V1 * 0.01
    Doliczenia4 = Round(doliczenia1)

    Do
    Locate 1 , 1
    Lcd "pomiar 1"
    Locate 2 , 1
    Lcd "" ; Doliczenia1
    Reset Przycisk1
    If Przycisk1 = 0 Then
    Bitwait Przycisk1 , Set
    Gosub Praca
    End If
    Loop

    0 1
  • #2 28 Kwi 2012 22:34
    netotron
    Poziom 26  

    Witam
    Nie taki sposób programowania.
    Spróbuj na początek używać jednej pętli głównej programu Do..Loop
    Po -> Praca: nie masz Return, dodaj i program wróci do pętli, będziesz mógł sprawdzać.

    pozdrawiam

    0