Zegar czasu rzeczywistego na uC

Oct 16, 2004 9 Replies

Witam, na wstepie napisze ze jestem dopiero poczatkujacy w systemach uC ;-) Mam do dyspozycji processor AT89C2051 i chcialem napisac program ktory bedzie sterowal 2 urzadzeniami (wzmacniaczem i przedwzm. oraz wyswietlaczem LCD w nim)



1) Jezeli przez 5 min sygnal na koncowkach z karty dzw. bedzie rowny zero to uklad poprzez przekaznik wylaczy wzm i przedwzm.
2) Jezeli przez 5 sek. nie nadejdzie komenda z pilota przez podczerwien uklad wylaczy wyswietlacz LCD..

W zasadzie to wiem jak napisac taki program poza obsluga tych czasow... Bardzo prosze o pomoc... ;)



Pozdrawiam, Piotrek



ustaw timer aby generowal przerwanie co sekunde, no i zliczaj te sekundy. Dalej to chyba juz wiesz co i jak. pozostaje jeszcze mozliwosc uzycia zewnetrznego zegara czasu rzeczywistego na i2c lub SPI. Bascom ma zaimplementowana obsluge RTC na i2c. Jak piszesz w C to odezwij sie podam Ci linka do strony z gotowa obsluga takiego scalaka.

Powitanko,

To chyba z jakims baaardzo sennym kwarcem;-) f kwarcu/12/timer (max65535) to dla typowego kwacu wychodzi co ok 70ms... Pozdroofka, Pawel Chorzempa

To dobrze policz, tylko poszukaj dobrych wzorow. Nie wiem czy AT89C2051 ma timer16bitowy. Jak pisalem to mialem na mysli wlasnie takowy timer. Tylko nie pisz ze na 16bitowym sie nie da...

Użytkownik Paweł K napisał:

ma, ale i tak przy kwarcu 24MHz (typowy) mamy 0,5us na impuls zliczany co daje 32,763ms na przepelnienie licznika 16-bitowego niemniej nic to nie zmienia, trzeba programowo wiecej liczyc (okolo 30,5 przepelnienia)

Powitanko,

Ma, nawet 2, problem w tym, ze autoreload moze przechodzic tylko z 1 polowki tego rejestru (8 bitow). Oczywiscie mozna dzialac w trybie

16-bitowym, ino zeby byla 1 s, to kwarc musialby miec 12(preskaler)*2do16. No chyba, ze ktos ma jakis sposob zeby generowac przerwanie co 1s z wewn. timera, przydaloby mi sie takie soluszyn;-) Pozdroofka, Pawel Chorzempa

Moze nie co sekunde, ale chyba mozna podlaczyc do ktoregos timera kwarc zegarkowy 13,costam kHz.

Użytkownik Paweł K napisał:

mam nadzieje ze po Twoim poscie nikt nie bedzie probowal wpiac na zywca kwarcu do wejscia timera bo sie zdziwi ;)

PS: sygnaturke masz conieco niezgodna z netykieta

Ja to atmegi128 mam podpiety i jakos mnie to nie dziwi.

Ca³y czas przecie¿ mowa o: "Mam do dyspozycji processor AT89C2051 i chcialem napisac program ktory...".

Mister

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required