Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Bascom => Jak zrobić zegarek?

03 Lis 2005 19:20 3028 9
  • Poziom 10  
    Witam.
    Chciałbym tak zaprogramowac mikroprocesor w Bascomie, aby na wyswietlaczu byl aktualny czas (gg:mm:ss). Mam podłączony układ do komputera (RS232). Tak myślę, że możnaby było pociągnąć z systemu Windows czas, tylko nie wiem jak. Jak ktoś ma jakieś pomysły to będę wdzięczny.
  • Poziom 39  
    a po co do tego mieszać RS232
    układów zegarowych jest cała masa , wystarczy poszukać
  • Poziom 20  
    Poszukaj na forum opisu ukladu PCF8583. Jest tego mnostwo.
  • Poziom 10  
    A czy mozna to jakos zrobic programowo bez uzycia ukladow zegarowych? Bo w sumie to juz mam zlutowany uklad, a nie pomyslalo sie wczesniej...
  • Poziom 10  
    Witam!

    Jeżeli programujesz w 8051 to jest to proste.

    Konfigurujesz Timer0 w następujący sposób:

    Config Timer0 = Timer , Gate = Internal , Mode = 1

    Jeżeli taktujesz procesor kwarcem 11.059Mhz
    ładujesz do licznika wartość 4150:

    Counter0 = 4150

    I ustawiasz przerwanie dla Timera

    Ważne jest aby w przerwaniu za każdym razem ładować licznik tą wartością!!!
    Licznik musi przepełnić się (zgłosić przerwanie) 15 razy!!!
    wtedy osiągniesz 1 sekundę.
    Reszta jest prosta.
    W przypadku kwarcu 12.00Mhz
    Counter=3090 natomiast ilość przepełnień wynośi 16.

    Wartości są przetestowane i działa to dość dokładnie.

    Pozdrowionka!
  • Poziom 23  
    tak tylko ze ten zegarek ma taką dokładnosć jak mechaniczny. proponuje inny sposób ( na zegarek ). timer0 mode 2 ( z automatycznym przeladaowaniem ) wpisujesz to tl0 np: 250; przerwanie co 250us ( kryształ 12MHz ) acha w deklarujesz przerwanie z parametrem "nosave". liczysz przerwania np 200 przerwań to 50ms; liczysz 50-ti po 20 piedziesiątkach masz jedna sekunde. i pamietaj "nosave" bez tego bascom przy wystapieniu przerwania odkłada na stos cała rzesze rejestrów, a to zajmuje troche czasu, a tego masz nie wiele ( 250us do nastepnego przerwania ). pozdrawiam
  • Poziom 15  
    Dołączasz do procesra kwarc 32767 Hz do odpowiednich końcówek - TOSC1 i TOSC2. Nie są to te od taktowania procesora.

    W Bascomie masz gotowe polecenia, do ustawiania i odczytu czasu itd.

    A co będzie jak prądu braknie ?
    Dlatego dobrze ktoś wcześnieł radził. PCF i bateria.

    PL
  • Poziom 36  
    plp napisał:
    Dołączasz do procesra kwarc 32767 Hz do odpowiednich końcówek - TOSC1 i TOSC2. Nie są to te od taktowania procesora.

    W Bascomie masz gotowe polecenia, do ustawiania i odczytu czasu itd.

    A co będzie jak prądu braknie ?
    Dlatego dobrze ktoś wcześnieł radził. PCF i bateria.

    PL


    I to jest jedyny sensowny pomysł. Stabilność termiczna kwarców zegarkowych w temperaturze 25°C jest co najmniej o dwa rzędy lepsza od typowych kwarców megahercowych (do sprawdzenia w datasheetach, zresztą był też taki temat na elektroda.pl). Co do braku prądu, to tak czy tak potrzebne jest jakieś podtrzymanie (bateryjka). Wygaszamy wyświetlacze, usypiamy procesor i też ma szansę popracować jakiś czas "bez prądu".

    ps. w ATMega8 to są te same wyprowadzenia co XTAL (kwarc główny). Układ musi pracować na wewnętrznym oscylatorze.
  • Poziom 10  
    Dzieki wszystkim za pomoc. W moim ATmega8 jest wbudowany zegar czasu rzeczywistego. Po dolaczeniu kwarcu powinien dzialac. To moim zdaniem najlatwiejsze teraz rozwiazanie. Jeszcze raz dzieki.