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

[BASCOM] ATmega8: Jak ustawić stan wysoki na pinie o określonej godzinie?

aderrinho 19 Sie 2013 21:42 1806 8
  • #1 12645600
    aderrinho
    Poziom 9  
    Witam,
    Projektuje sobie urządzenie które w zasadzie będzie zegarem, ale z kilkoma funkcjami. Chodzi mi o to że np. o godzinie 12 w południe chcę aby na jednym z pinów procesora pojawił się stan wysoki do np. godziny 13. Zegar programowo jest ok, odlicza czas, wszystko jest na LCD, nie wiem tylko jak zrealizować te ustawiane godziny. Prosiłbym żeby mnie jakoś pokierować, ewentualnie o jakiś kod do zanalizowania.
    Procesor ATmega8, wewnętrzne 8MHz

    Kod znaleziony w internecie:

    Kod: text
    Zaloguj się, aby zobaczyć kod


    Z góry dziękuję za pomoc, pozdrawiam.
  • #3 12645711
    aderrinho
    Poziom 9  
    Miałem tak zrobione, zadeklarowalem piny,

    If godziny = 12 then
    Pinx.0 = 1
    End if

    Pinx.0 dla przykładu, a efektu nie dało, miałem podłączona diode na tym pinie i nic się nie działo.

    Dodano po 41 [minuty]:

    Miałem tak zrobione, zadeklarowalem piny,

    If godziny = 12 then
    Pinx.0 = 1
    End if

    Pinx.0 dla przykładu, a efektu nie dało, miałem podłączona diode na tym pinie i nic się nie działo.
  • #5 12646679
    landy13
    Poziom 31  
    aderrinho napisał:
    Pinx.0 dla przykładu, a efektu nie dało

    Da efekt, gdy napiszesz: PORTx.0=1
  • #6 12657299
    aderrinho
    Poziom 9  
    Kod wygląda tak i nadal nie działa tak jak bym chciał.. Chcę żeby w 5 minucie zapaliła się dioda podłączona do PORTB.0, ma się tam pojawić stan wysoki więc podłączam diodę do masy i nic.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #8 12717858
    aderrinho
    Poziom 9  
    Witam,
    Wybaczcie dłuższą nieobecność. Program działa jak użyje PORT.X
    Mam inny problem. Otóż potrzebuje Timer1 do PWM i chciałbym zegarek zrealizować na Timer0. Znalazłem w sieci program, który wykorzystuje Timer0 do odliczenia 1 sekundy. Działa. Po zmodyfikowaniu programu który do odliczania czasu wykorzystuje Timer0 niby też działa, tylko problem polega na tym że w ciągu sekundy zegarek zlicza czas dwóch minut na LCD. Co tutaj jest nie tak? Do portc.5 mam podłączony LED który ładnie miga co 1s. Jakieś sugestie?

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #9 12718052
    zumek
    Poziom 39  
    aderrinho napisał:
    ... Do portc.5 mam podłączony LED który ładnie miga co 1s.

    Szczerze wątpię :(
    Popatrz


    aderrinho napisał:
    ...problem polega na tym że w ciągu sekundy zegarek zlicza czas dwóch minut...


    Pierwszy "End if" w procedurze przerwania timera, przenieś na koniec tej procedury, a następnie zastanów się dlaczego.
REKLAMA