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 - wyłączanie z opóźnieniem

mavi 02 Cze 2014 20:56 1254 7
  • #1 02 Cze 2014 20:56
    mavi
    Poziom 19  

    Pewnie mi się dostanie ale nie mogę sobie dać rady z komendą w Bascomie, która po pojawieniu się sygnału z czujnika na wejściu procesora, spowoduje włączenie przekaźnika przez kolejne 5 sekund, a następnie go wyłączy. Zakładam, że to musi byc opcja Timer1 ale stworzenie działającej komendy mnie przerasta.

    Poniżej namiastka programu, który włącza przekaźnik jak czujnik działa i wyłącza jak czujnik przestaje działać. Czy ktoś może dać przykład jak ten program musi być zmodyfikowany by przekaźnik wyłączał się po upływie 5 sekund?

    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Pinc.0 = Input
    Config Pinb.0 = Output
    Czujnik Alias Pinc.0
    Przekaźnik Alias Portb.0
    Set Portb.0
    Set Portc.0
    Do
    If Czujnik = 1 Then Set Przekaźnik
    If Czujnik = 0 Then Reset Przekaźnik
    Loop
    End

    0 7
  • #2 02 Cze 2014 21:09
    mi14chal
    Poziom 28  

    A to w bascomie nie ma jakieś funkcji delay?

    0
  • #3 02 Cze 2014 22:03
    mavi
    Poziom 19  

    z tego co wiem to delay to komenda to odliczania czasu w mikrosekundach, a do dokładnego odliczania czasu należy używać funkcji Timer.

    0
  • #5 02 Cze 2014 23:44
    emarcus
    Poziom 35  

    mi14chal napisał:
    O jest: http://avrhelp.mcselec.com/index.html?wait.htm po za tym chyba nie potrzebujesz mieć dokładnych 5 sekund więc to powinno być wystarczające.


    Autor zaznaczył w pierwszym poście żę ma w zadaniu użyc Timer1, więc delay lub wait, waitms jest poza zasięgiem wymogu.

    Aby użyc w programie dowolny timer należy go uprzednio sconfigurowac (ustalic tryb pracy, prescaler, początkowy preload lub wartośc TOP). Od tych wartości będą zależały dalsze instrukcje. W nastęnym wejściu napiszę dla autora gotowy program.
    Konceptów programowych może byc tyle samo co programistów.

    e marcus

    0
  • #6 08 Cze 2014 13:39
    mavi
    Poziom 19  

    widzę, że temat przygasł wiec ponownie prośbę...
    proszę o wrzucenie przykładowego programu na procesor atmega, gdzie po naciśnięciu przycisku dioda zapala się na 5 sekund i gaśnie.
    Liczę ze taki program pomoże mi zrozumieć zasadę działania komendy odliczajacej czas. Książka ani inne posty jakoś mi nie pomagają i nie mogę tego przeskoczyć. Liczę, że od strony praktycznej pojme o co chodzi...

    0
  • #7 12 Cze 2014 07:15
    emarcus
    Poziom 35  

    mavi napisał:
    widzę, że temat przygasł wiec ponownie prośbę...
    proszę o wrzucenie przykładowego programu na procesor atmega, gdzie po naciśnięciu przycisku dioda zapala się na 5 sekund i gaśnie.
    Liczę ze taki program pomoże mi zrozumieć zasadę działania komendy odliczajacej czas. Książka ani inne posty jakoś mi nie pomagają i nie mogę tego przeskoczyć. Liczę, że od strony praktycznej pojme o co chodzi...


    Raczej 'przygasło' twoje zainteresowanie.....

    Oto masz jeden z niezliczonej ilości możliwych przykładów, sprawdzając stan logiczny a wejściu PIND.2.
    Kod: basic4gl
    Zaloguj się, aby zobaczyć kod

    Możesz także alternatywnie wykorzystac interrupt INT0 na PD.2 odpowiednio go configurując .....

    e marcus

    0
  • #8 12 Cze 2014 17:49
    mavi
    Poziom 19  

    po co ta uszczypliwość ....

    tak czy siak dziękuje za pomoc.
    Postaram się to zaadoptować.

    0