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

[ATMEGA8] - [BASCOM] Sterowanie diodami/przekaźnikami - nie działa

UKey 15 Mar 2014 21:21 1995 5
REKLAMA
  • #1 13407671
    UKey
    Poziom 15  
    Witam, proszę mnie upewnić co robię nie tak. Mam program który (działa :), ale nie do końca) jest termostatem z dodatkowym termometrem (jeden czujnik sprawdza temp na piecu i steruje przekaźnikiem, drugi tylko mierzy temp. zewnętrzną):

    Kod: text
    Zaloguj się, aby zobaczyć kod





    Program działa oprócz jednej "małej" sprawy - na portach mikro kontrolera:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Jakby się nie zmieniała temperatura zawsze jest stan niski - mimo że program wchodzi w pętle sprawdzającą stan temperatury bo wyświetla różne stany pracy pompy na lcd... [PRACA/STOP]

    Wyjścia sterujące przekaźnikiem i buzzerem są podłączone w klasyczny sposób przez rezystory do baz BC547 (wtórniki), natomiast wyjście Pind.6 bezpośrednio steruje diodą led podłączoną przez rezystor do masy.

    W przypadku uruchomienia układu bez chip'a i podaniu stanów wysokich na "podstawkę" - poszczególne piny - wszystko działa poprawnie (Przekaźnik rusza, buzzery pracują, dioda led się świeci itp).
    W przypadku uruchomienia układu z chipem - mam tylko stany niskie...
    Czy może mieć na to wpływ ustawienie 1wire na innych pinach tego samego portu?
    Gdzie robię błąd?
  • REKLAMA
  • #2 13407949
    piotrva
    VIP Zasłużony dla elektroda
    Nie wiesz czym różni się rejestr PINB od PORTB - poszukaj w dokumentacji procesorka ;)
  • REKLAMA
  • #3 13413293
    arktik1
    Poziom 27  
    Jeśli chcesz czymś sterować wpisujesz PORT.X
    Jeśli chcesz sterować Uc to wpisujesz PIN.X
  • REKLAMA
  • #4 13413487
    yokoon
    Poziom 29  
    arktik1 napisał:
    Jeśli chcesz czymś sterować wpisujesz PORT.X
    Jeśli chcesz sterować Uc to wpisujesz PIN.X


    Witam.
    Mylisz się kolego.

    Wpisywanie do portu to np:Config PortX = Output , PortX = 255 - dziesiętne lub PortX = &B11111111 - binarnie same jedynki na wyjściu.

    Pinx.y odczytujemy stan danego pinu np: If Pinx.y = 0 then
    jakieś instrukcje
    End If
  • REKLAMA
  • #5 13414430
    Dawid 88
    Poziom 14  
    Wstaw sobie o tak o:
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Pozdrawiam
REKLAMA