RTV forum PL | NewsGroups PL

Tworzenie procedury do zarządzania przekaźnikiem na AT89C4051 według aktualnego czasu

prosze o dopisanie procedury na AT89C4051

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Tworzenie procedury do zarządzania przekaźnikiem na AT89C4051 według aktualnego czasu

Rafal
Guest

Mon Dec 20, 2004 6:48 pm   



chodzi mi o mi procedurę badającą czy ma być aktualnie załączony przekaźnik
Quote:
czy nie, na podstawie czasu bierzącego i ustawień.
specysikacja:

Dane wejsciowe:
R7 - minuty ustawione
R6 - godzina ustawiona
R5 - minuty bierzące
R4 - godzina bierząca

wyjście:
A=0 to załączyć
A<>0 to wyłączyć
dam przykład

mam ustawiony st1 na zał 19:05 i wył 6:50 (a np. od 23:20 do 1:15 nie było
prądu) aktualny czas to 1:15 to w takim przypadku procedura powinna dać
sygnał załączenia

Andy
Guest

Mon Dec 20, 2004 6:59 pm   



Użytkownik "Rafal" <rafal@pc-net.nospam.pl> napisał w wiadomości news:cq7721$11i$1@nemesis.news.tpi.pl...
Quote:
chodzi mi o mi procedurę badającą czy ma być aktualnie załączony przekaźnik
czy nie, na podstawie czasu bierzącego i ustawień.
specysikacja:

Dane wejsciowe:
R7 - minuty ustawione
R6 - godzina ustawiona
R5 - minuty bierzące
R4 - godzina bierząca

wyjście:
A=0 to załączyć
A<>0 to wyłączyć
dam przykład
mam ustawiony st1 na zał 19:05 i wył 6:50 (a np. od 23:20 do 1:15 nie było
prądu) aktualny czas to 1:15 to w takim przypadku procedura powinna dać
sygnał załączenia
....


w takim razie brakuje na wejsciu do procedury
informacji, o ktorej ma sie przekaznik wylaczyc

np w dwoch kolejnych rejestrach

--
Andrzej

Pawel Kurzawa
Guest

Mon Dec 20, 2004 10:16 pm   



to moja procedurka w AVR-GCC, ale zobaczysz na czym idea polega to
sam sobie napiszesz w asm.

/*
porowanie czasow ON/OFF z aktualnym czasem
jezeli ON=OFF zwraca 0
jezeli poza przedzialem od ON do OFF zwraca -1
jezeli w przedziale zwraca 1
*/
s08 CompareTimes ( Time_t t_on, Time_t t_off, Time_t t_real ) {
if ( t_on.hour > t_off.hour && CompareTimes ( t_off, t_on, t_real ) == -1 )
return (1); //jezlie t_on > t_off to wywolaj funkcje z zamiana
argumentow
if ( t_on.hour == t_off.hour && t_on.min == t_off.min && t_on.sec ==
t_off.sec ) return (0);
else if (( t_real.hour > t_on.hour ||
( t_real.hour == t_on.hour && t_real.min > t_on.min ) ||
( t_real.hour == t_on.hour && t_real.min == t_on.min && t_real.sec >=
t_on.sec ) ) &&
( t_real.hour < t_off.hour ||
( t_real.hour == t_off.hour && t_real.min < t_off.min ) ||
( t_real.hour == t_off.hour && t_real.min == t_off.min && t_real.sec <
t_off.sec ) ) ) return (1);
else return (-1);
}

--
--
Best regards
K@pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------

tomm
Guest

Tue Dec 21, 2004 9:07 am   



przeciez juz pisales w jednym watku kilka dni temu o tym i dostales pelna
pomoc
po co piszesz drugi raz ???

Tomek

Pawel Kurzawa
Guest

Tue Dec 21, 2004 9:42 am   



Quote:
po co piszesz drugi raz ???
a nie to samo przeczytaj w czym problem ...


--
--
Best regards
K@pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------

Rafal
Guest

Tue Dec 21, 2004 12:41 pm   



to narazie uzyj jakis zmiennych jak chcesz

Rafal
Guest

Tue Dec 21, 2004 12:42 pm   



problem rozwiazany ale nie do konca

elektroda NewsGroups Forum Index - Elektronika Polska - Tworzenie procedury do zarządzania przekaźnikiem na AT89C4051 według aktualnego czasu

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map