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

[Bascom]Timer1 - załączanie przekaźnika na czas.

pief 16 Lut 2010 20:17 1922 3
REKLAMA
  • #1 7704779
    pief
    Poziom 17  
    Witam

    Piszę program (bascom) i nadziałem się na problem z którym nie mogę sobie
    poradzić.

    Timer 1 pracuje jako zegar i po spełnieniu warunku , ma załączyć przekaźnik
    który ma być załączony na czas_pracy i po odliczeniu czasu pracy ma
    wyłączyć się na czas przerwy i zablokować włączenia przekaźnika na ten czas.

    Tak w skrócie:
    kod :

    $regfile = "m8def.DAT"                                      'deklaracja procesora, w tym wypadku Atmega8
    $crystal = 8000000                                          'deklaracja czestotliwości pracy
     '$sim
    Config Lcd = 20 * 4
    
    Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5
    
    Config 1wire = Portb.1                                      'deklaracja portu na którym będą podpięte DS18b20
    
    '--------------------------------------TIMER1-------------------------------------------------
    Enable Interrupts
    
    Config Timer1 = Timer , Prescale = 256
    
    Counter1 = 34286
    
    On Timer1 Odmierz_1s
    
    Enable Timer1





    DO
    
    
    WYŚWIETLANIE CZASU
    
    WARUNEK ZAŁĄCZENIA PRZEKAŻNIKA
    PRZEKAŻNIK ZAŁĄCZONY
    
    ODLICZ CZAS_PRACY
    
    GDY MINĄŁ CZAS_PRACY - WYŁĄCZ PRZEKAŻNIK
    
    ZACZNIJ ODLICZAĆ  CZAS_PRZERWY I ZABLOKUJ 
    
    WŁĄCZENIE PRZEKAŹNIKA NA CZAS_PRZERWY
    
     LOOP
    przerwanie od timera
    
    CZAS_PRACY -USTAWIANY RĘCZNIE ZAKRES  0 - 5 MIN
    CZAS_PRZERWY ------//-------//------  0 - 40 MIN 


    Problemem jest jak przy pracującym zegarze ( Timer1)
    przechwycić godzinę i dodać zadane czasy -czas pracy i czas przerwy
    np . jest godzina 17-58-40 wystąpił warunek załączenia przekaźnika na
    czas pracy 3 min - jak dodać ten czas by o godzinie 18-01-40 nastąpiło
    wyłączenie przekaźnika ,czas przerwy będzie pewnie odbywał się na tej
    samej zasadzie co wyżej.

    Wiem że najlepiej byłoby włączyć timer0 i odliczać , ale w programie jest
    jeszcze pomiar temperatury(1wire ), timer1 i jeszcze timer0 i w sumie
    próbowałem ale gryzło się to ze sobą .
    Jak to zrobić za wszelkie pomysły i sugestie z góry dziękuje i pozdrawiam

    Poprawiłem tytuł.
    [zumek]
  • REKLAMA
  • REKLAMA
  • #3 7706088
    HIOB
    Poziom 17  
    Witam,

    Proponuję w projekcie wykorzystać tani i prosty w obsłudze RTC - zegar czasu rzeczywistego - PCF8583.
    O ile dobrze pamiętam Bascom ma zaimplementowaną jego obsługę.

    Pozdrawiam,
    Piotr.
  • #4 7706158
    pief
    Poziom 17  
    Kolego leon1313 - mógłbyś rozwinąć swoją podpowiedź ,
    jak to skonwertować , może jakiś przykład , nie wiem od czego zacząć
    jak to ugryźć .

    układ rtc raczej odpada musiałbym przerabiać cały program .
REKLAMA