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

Wsad do Atmega8A-PU: zegar z datą na LCD 2x16 bez czujników temperatury

dżordż411 30 Lip 2012 16:30 3089 6
  • #1 11158374
    dżordż411
    Poziom 2  
    Poszukuję wsadu do AtMega8 umożliwiającego stworzenie zegarka z datą na wyświetlaczu 2x16. Znalazłem kilka ale była też tam obsługa czujników temperatury (bądź pod wyświetlacz led), a ja odczytywać temperatury nie chcę. Czy któryś z forumowiczów dysponuje takim plikiem, lub potrafiłby zmienić ten, tak aby nie było obsługi czujników temperatury:

    '
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Przy układzie zamontowałem kwarc 4Mhz. Super by było żeby obsługiwać go jednym przyciskiem podłączonym do pinu PD1(TXD)

    Pozdrawiam
  • #2 11158655
    oj
    Poziom 42  
    Kod w tagach umieszczaj, bo to nie jest czytelne.


    Ten kod nie ma obsługi termometru oraz daty. Nie sprawdzałem na poprawność kodu.

    Jeżeli ma to być na Atmega8 lepiej wykorzystać Timer2 na kwarc 32,768kHz jako wzorzec czasu.

    Data powinna mieć dzień tygodnia w formie całonazwowej oraz wykrywanie 30/31 dnia miesiąca oraz rok przestępny
  • #3 11232786
    dżordż411
    Poziom 2  
    A nie może to być Timer1 i kwarc podłączony do Pb6 i Pb7.
    Mogę wykorzystać kwarc od starego zegarka? I jak to ustawić w fusebitach (MkAvrCalkulator) ?
  • #4 11233736
    piotrva
    VIP Zasłużony dla elektroda
    Może być to tylko Timer2, fusebity należy ustawić (zostawić) na wewnętrznym oscylatorze 8mhz
  • #5 11236913
    dżordż411
    Poziom 2  
    To zmienia moją koncepcję :( obecnie mam ustawione tak: Timer1=Timer (odlicza mi jedną sekundę) Timer0=Counter (zlicza mi impulsy). Chciałem dodać do tego programu zegar z datą, ale wydaje mi się że sekunda z Timera1 na kwarcu 4Mhz nie jest zbytnio dokładna.

    Może jakaś podpowiedź jak najprościej przerobić program żeby mieć ten zegarek? (chciałbym użyć najprostszej funkcji Time$ ) Mogę np zamiast Timer1 wpisać Timer2 i zamiast kwarcu 4Mhz przylutować zegarkowy i tylko zmienić preskaler i ilość przerwań?
  • #6 11240744
    Konto nie istnieje
    Konto nie istnieje  
  • #7 11250229
    dżordż411
    Poziom 2  
    Poradziłem sobie ale mam inny problem. Jak używając funkcji Time$ pozbyć się wyświetlania sekund? Oraz jak ustawiać czas z poziomu urządzenia?

    Może ktoś podpowie mi jak zrobić żeby normalnie zegar nie był wyświetlany, a działo się to dopiero po naciśnięciu przycisku i trwało kilka sekund. To co wymyśliłem nie działa:

    Enable Interrupts
    
    
    Config Clock = Soft
    
    Config Date = Dmy , Separator = -
    
    
    '___ data ___
    
    '_day = 25
    
    '_month = 4
    
    '_year = 12
    
    Date$ = "01-01-12"
    
    '___ godzina ___
    
    '_hour = 00
    
    '_min = 00
    
    '_sec = 00
    
    Time$ = "12:00:00"
    
    Cls
    
    
    
    If Pind.0 = 0 Then
          Cls
          Lcd Time$
          Lowerline
          Lcd Date$
          Wait 2
          Cls
    End If
    
    End


    Pind.0 to przycisk łączący ten pin z masą.
REKLAMA