Pin INT w PCF jest typu otwarty dren. Potrzebujesz więc rezystor podciągający.
Problem może być związany z rezonatorem 32,768kHz. Dobrze byłoby pomierzyć właściwą częstotliwość. Może być on uszkodzony lub źle (ale aż tak?) dobrany kondensator - zwykle 33pF. :wink:
Masz dwie metody: 1) Łatwiejsza - Ustawiasz Clock mode, timer na zero, timer alarm, timer na odliczanie minut, wpisujesz do rejestru alarmu timera 15, czekasz na przerwanie. Po przerwaniu zerujesz rejestr alarmu, zerujesz flagę alarmu i zerujesz timer. Control status register (0x00) = 0000 X1XX Timer register (0x07) = 0 Alarm control register (0x08)...
hello, nie moge poradzić sobie z tym układzikiem. dziwnie się zachowuje, nie wiem gdzie robię błąd. Polega on na tym że odczytuje wartosć sekund, minut i godzin. Sekundy odczytują sie bez problemu, natomiast wartość minut i godzin jest cały czas równa zero. Minuty nie zmieniają sie mimo że w rejstrze sekund nastąpi przepełnienie
Próbuję napisać program zegara ale mam problem z ustawianiem czasu, pominąwszy to, że menu działa jak działa to nie mogę ustawić minut i godzin większych niż 10 bo wyskakuje mi liczba 161, jeżeli wgrywam sam kod menu bez obsługi układu pcf wszystko jest ok. Proszę o pomoc. [syntax=basic4gl][/syntax]$regfile = "m32def.dat" $crystal = 16000000 Enable...
spróbuj tak zmienić kod brakuje odnośnika do podprogramu odczytującego czas z PCFa Do Cursor Off Czas Wait 1 Locate 2 , 1 Lcd Godzina ; ":" ; Minuta ; "." ; Sekunda Wait 1 Loop
Witam serdecznie! Co znaczą znaki zapytania przy odbiorze i odczycie danych z PCF8583, przy godzinach minutach i sekundach , błąd komunikacji? Jak w ogóle powinien zareagować układ co powinien wyświetlić przy pierwszym poprawnym odpaleniu? Dzięki :)
Witam, Korzystam z minimodułu MMEGA01 z prockiem ATmega128 oraz zegarem PCF8583. Program pisze w Bascom. Do magistrali I²C mam podpięte rezystory wg. schematu modułu 2k7. Problem polega na tym, że gdy chce odczytać godzinę minutę oraz sekundę, to sekundy przeskakują co kilka np, z 25 na 31 itp.. z minutami z resztą też coś jest nie tak. Sprawdzam...
Witam, Próbuje w ramach nauki zbudować zegarek w oparciu ATMegę168 i PCF8583. Zbudowałem następujący układ: http://obrazki.elektroda.pl/4826984900_1... Napisałem do niego następujący program: [syntax=c] #include <avr/io.h> #include <stdio.h> #include <util/delay.h> #include "HD44780.h" #include "i2c.h" #include "PCF8583.h"...
Zmiennych globalnych nie ma ..., lokalnych nie ma. Kod pokazany jest inny od aktualnego. Więc gdzie są deklaracje ? Po co shit tu wciskasz chcąc byśmy ci coś powiedzieli. Dawno nikt mnie nie sprowokował do takich słów. Albert
Witam, napisałem prosty program obsługujący układ rtc PCF8583, wszystko działa niby poprawnie jednak gdy licznik sekund dochodzi do 59 i zwiększają się minuty przez 4 sekundy wyświatlacz LCD pokazuje krzaki w postaci FF i jakiś cyfr, po 4 sekundach odliczanie powraca do zamierzonego wyglądu. Czy jest ktoś w stanie mi pomóc ? Pozdrawiam https://filmy.elektroda.pl/83_1632655619...
jesli przerwanie zakloca ci transmisje i2c to masz cos nie tak bo to transmisja synchorniczna i nawet jesli dana przestanie sie wysylac na kilka minut a potem sie wznowi to bedzie ok.
Wykorzystujesz rejestr 0Fh w i wpisujesz do niego 0. Po 100 sekundach następuje przepełnienie i masz czas 1min i 40 sekund. Lepiej chyba będzie nastawiać alarm (np. jako presunięcie aktualnego czasu o kilka minut) niż korzystać z Timera.
Może od złego miejsca czytasz rejestry sekund, minut i godzin.
Witam, mam mały problem: chcę odczytać minuty z układu pcf8583. Wartość tą odczytywałam co sekundę z przerwania INT0, tak samo jak sekundy, tyle że sekundy pokazuje mi dobrze, a minuty się zerują po 10 s. Jak zaczyna się kolejna minuta, to znowu ta dobra wartość mi się pokazuje przez 10 s. a potem się zeruje. Z czego to może wynikać?
jeżeli masz jeszcze możliwość, to daj sobie spokój z tym 8583: to cholerstwo jest niedokładne, trymer niewiele tu pomaga. Dallas ma 8-pinowe RTC na I2C, zdecydowanie dokładniejsze. PCF8583 potrafi odjechać o kilka minut/miesiąc nawet w pokojowej temperaturze.
tak, incr i decr a potem od razu zapis do zegara tej zmienionej wartości, tzn: 1. wciśnięcie przycisku 2. zwiększenie/zmniejszenie wartości z ograniczeniami (np. dla minut przy wartości 60 zmieniasz na 0, a przy próbie przejścia do -1 dajesz 59) 3. zapis do odpowiedniej komórki w zegarku pcf85x3
Witam! Tak ma wygladać main: #include <avr/io.h> #include "pcf8583.c" #Twoje pliki int main(void) { char mini[8]; twi_init(); glcd_setup(); // sprawdzenie lini sterowania LCD glcd_init(); // uruchomienie wyświetlacza LCD glcd_clear_text(); // wyczyszczenie całego tekstu glcd_clear_graph();...
Witam! Robię urządzenie, które ma być włączane i wyłączane o określonej godzinie i minucie. Czas bieżący pobieram z PCF8583. I tu mój problem: sterownik ma załączyć urządzenie o godz. 6:50 i wyłączyć je o godz. 20:00. Jak napisać ten warunek? (Mam kompletne zaćmienie... chociaż jestem zupełnie trzeźwy :) dim H as byte, M as byte ' godzina i minuta z...
Witam, standardowy sposób odczytu godziny z PCF'a wygląda mniej więcej tak: I2cinit I2cstart I2cwbyte 162 I2cwbyte 2 I2cstart I2cwbyte 163 I2crbyte Sekunda , Ack I2crbyte Minuta , Ack I2crbyte Godzina , Nack I2cstop Program taki zapisuje odczytane wartości sekund, minut i godzin do zmiennych Sekunda, Minuta i Godzina. Ja potrzebuję jednak rozbić godziny...
chodzi o dokładnośc na licznikach robiłem i chodzą róznie a ja chce zroić zegar dokładny a nie bylejaki z tolerancją na dzień 5 minut
Dzień dobry. Uczę się C na AVR. Często zwolennicy przesiadania się z Bascom na C twierdzą, że w tym drugim przypadku można generować krótsze kody. Bascom - Atmega 32. Testowy program pobiera z układu PCF8583 godzinę, minutę i sekundę i wyświetla to na wyświetlaczu LCD. Po skompilowaniu wsad do programatora ma około 900 bajtów. Atmel Studio 6. Optymalizacja...
Zawsze jak wchodzisz w przerwanie np.On Timer lub w podprogram sub procesor odkłada zawartość pewnych rejestrów na stos (co zajmuje mu ileś us) a po przerwaniu (lub sub-ie) zdejmuje ze stosu (co znowu zajmuje czas). Rachunkowo wygląda wszystko dobrze w programie-ale tylko gdy procesor chodzi z nieskończoną prędkością. A chodzi ze skończoną. A-w tych...
Mam mały problem z PCF8583, układ śpieszy się kilka minut na dobę, a jak zamontuję kondensatorek (trymerek) pomiędzy zasilaniem, a kwarcem, to dostaje kopa i zlicza czas dwa razy szybciej. Schemat połączenia jak na rysunku: http://obrazki.elektroda.pl/7154003800_1... Kwarc jest malutki z zegarka elektronicznego (zegarek chodził dokładnie :))...
Witam.Mam problem z funkcjami w dwu kanałowym zegarze sterującym gdzie muszę porównywać czas bieżący z ustawionym czasem włączenia i czasem wyłączenia niezależnie jednego i drugiego kanału. Napisałem coś takiego opierając się na warunkach if ale nie chodziło to prawidłowo bo raz zadziałało a raz nie a i kodu było sporo. Mam z tym duży kłopot bo to ostatni...
Wychodzi na to że timer przeładowywuje sie nie co 50ms a np: 49,5ms lub 49ms. Bedziesz musiał zweryfikować nastawy timera i metodą prób i błędów wyznaczyć najbardziej optymalny czas przeładowania. Niesety przy użyciu rezonatora kwarcowego 12Mhz do odmierzania czasu nie uzyskamy dużej dokładności. Do tego są specjalizowane układy, zegary czasu rzeczywistego...
Ale i tak masz stały wzorzec czasu, czyli o więcej niż 1s nie powinno się rozjechać... + - impuls/inkrementacja _ - bezczynność/brak impulsu ______+______+______+______+______+_____... - przebieg impulsu z zegara _______+________+_____+_____+________+__... - inkrementacje sekund i nie ważne ile by nie trwało przeładowywanie timerów i programowych liczników...
a może tak: [syntax=c] //odczyt czasu i zapis w odpowiednich zmiennych danaPCF8583 = PCF8583_read(PCF8583,godziny); czas[0] = (danaPCF8583 & 0b00110000) >> 4;//dziesatki_godzin czas[1] = danaPCF8583 & 0b00001111; //godziny danaPCF8583 = PCF8583_read(PCF8583,minuty); czas[2] = danaPCF8583 >> 4; //dziesatki_minut czas[3] = danaPCF8583 & 0b00001111; //minuty...
ale int podłączyć do anody czy do katody diody? dałem do anody przez rezystor i nie świeci w ogóle. kwarc na pewno jest 32,768kHz, kupiłem na tme i na opakowaniu też pisze 32,768kHz. układ też jak usunę set time / date to wyświetli datę 01.01.13 00:00:00, a musi pamiętać jaka godzina była. dałem by same sekundy odliczał ale i tak jest 00 i po 2-3 minutach...
Na szczęście dla mnie w tym projekcie nie jest istotne czy wpiszę 12 czy 16MHz bo z opóźnień procka praktycznie nie korzystam, więc czy wait 1 będzie trwał 1 sekundę czy 1,2 jest mało ważny, a wszystko co związane z czasem robię na PCF8583 i przerwaniach alarmu. Znaczy pracuję na godzinach i minutach a nie na ms czy us. Projekt dość (zegar PCF8583,...
Wyjątkowo nietuzinkowy pomysł i za to duuuży plus. Nawet osoby z minus 10 dioptri w oczach zobaczą ten zegar. Po porządnym zaprojektowaniu płytek i dołożeniu zdalnego sterowania można pomyśleć nad produkcją na potrzeby różnych poczekalni, dworców, instytucji. Oczywiście nie na zewnątrz. Minus to duży pobór prądu. Przydałby się też znak oddzielający...
Jeżeli co minutę zmienia wartość to PCF8583 - działa; można dodatkowo go sprawdzić dołączając diodę LED do wyprowadzenia 7 (+5V>rezystor 1k>anoda/dioda LED/katoda>wyprowadzenie7) - dioda będzie migać 1Hz Sprawdzić tranzystory T1,T3,T5,T7 ew. T2,T4,T6,T8, błąd w wyprowadzeniach; błędnie wstawione tranzystory n-p-n ew. p-n-p
http://obrazki.elektroda.net/88_11758727... Zegar VFD na radzieckiej lampie IW-18 sterowany za pomocą mikrokontrolera ATMega8. Układ wykorzystuje zegar czasu rzeczywistego pcf8583. Funkcjie układu: • Wyświetlenie godzin-minut-sekund :) • 2 stopniowa regulacja jasności świecenia • Automatyczne ściemnianie, rozjaśnianie o danych...
Tak na szybko mam takie rozwiązanie: Dim Go_s As String * 2 , Mi_s As String * 2 , Se_s As String * 2 Go_s = Str(godzina) Mi_s = Str(minuta) Se_s = Str(sekunda) Lcd Format(go_s , "00") ; ":" ; Format(mi_s , "00") ; ":" ; Format(se_s , "00") Wartości...
Na stronie 6 masz opisanie adresowania poszczególnyuch wartosci, i data i czas znajdują sie pod róznyymi adresami. I tak samo jak w PCF8583 z tego co widze jest to adresowane. Nie powinno byc problemów, Najlepiej sprawdź doświadczalnie, ile zajmuje zaprogramowanie czegoś takeigo, kilka minut i będzie wszystko jasne, zmien po prostu adresr R/W i zobacz....
Witam wszystkich! Chyba mam za małą wyobraźnie bo mam straszny problem z wydawałoby się banalną sprawą, a mianowicie, mam zrobiony zegarek na 89s52 i pcf8583 i teraz ja zrobić, najprościej żeby po upływie kilki minut coś tam załączyć, oczywiście załączenie i wyłączenie musi być w czasie! Czyli jeżeli spełnia jakiś warunek to załącza odliczanie, a jak...
Cześć wszystkim! Moj problem dotyczy ukladu RTC PCF8583 otóż do prawidłowej pracy układu potrzebny jest kwarc 32768 Hz oraz kondensator. Problem polega na doborze odpowiedniej wartości pojemności. Próbowałem kondensatory od 3,3p do 33pF i najlepszym osiągnięciem było to że układzik spieszył się o 17 sekund na minutę. Proszę o pomoc.
Po zapoznaniu się z datashetem i polskimi ubogimi tłumaczeniami napisałem kawałek kodu aby zapisywać i odczytywać 4 nastawy czasu Zapis do PCF8583 if(!(PIND & _BV(7))) {// _delay_ms(30); TWI_write(zegar,0x10,rtc_pcf[0... kanał 1 włącz TWI_write(zegar,0x20,rtc_pcf[1...
chyba zaraz wyjdzie zegarek z dcf. ja i tak wybrał bym wersje pcf8583 jest dokładny . tylko pozostaje kwestia dokładności bo to wcale nie musi byc ciągłe zliczanie.
Powinien być 32.768kHz (32768Hz),a mi babka w elektroniku dała 3.2768MHz, więc trochę większy niż powinien. No nieźle :) Chciałeś przyśpieszyć czas 100-krotnie? Wystarczająco szybko już leci... :) A poważnie - jeśli podłączysz PCF-a prawidłowo i jego generator działa jak należy, to (przy domyślnym ustawieniu rejestru kontrolnego) na pinie 7 (/INT)...
...bardziej mi chodzi o sam fakt, że nawet ręcznie (programowo) można wymusić takie dziwne wartości godzin i minut a scalak dalej będzie odliczał czas ;) nie zdając sobie sprawy że godzina w nim jest np 43:77. Tak sobie czytam ten wątek i ... nie mogę wyjść ze zdumienia 8-O Dlaczego "przyczepiłeś się" do PCF-a , a nie do swojego kodu :?: Nawet gdyby...
Witam, Zauważyłem dzisiaj pewną ciekawą rzecz i chciałem się podzielić :D Zrobiłem podtrzymanie zegarka PCF8583 z baterii 1,5V. Zaraz po diodach 1N4148 dałem kondensator 100uF/25V i 100nF, żeby zasilanie było stabilne. Podłączyłem zegar, ustawiłem czas... Potem wyłączyłem główne zasilanie, co więcej wyjęłem baterię podtrzymującą. Po około trzech minutach...
Heja! :arrow: _maro_ Kiedyś miałem podobny problem z Pcf8583. Kwarc wziąłem z zegarka, który co prawda spieszył się minutę na dobę, ale po podłaczeniu do Pcfa, całość spieszyła się kilkanaście minut na godzinę :lol: .... Przestałem się tym bawić, aż do wczoraj. Po Twojej wiadomości spróbowałem podłączyć 100nF i niestety mój zegar zaczął chodzić za wolno....
Faktycznie miałeś rację nie miałem podciągniętego do VCC teraz po podłączeniu pokazała się godzina 0:0:0 lecz zegar nie zmienia minut ani sekund. Adres też nie odpowiada.
Witam. Szukałem na elektrodzie podobnych tematów, ale jak ktoś się już o takie coś spytał to został zaraz odciągniety od tego pomysłu i proponowano mu robienie takiego czasomierza na uprocku. A ja muszę zrobić to na PCF8583. Już tłumaczę o co chodzi: Mam dosyć skomplikowany układ na ATmega128 (jeszcze nie jest dokończony, ale prawie :) ). Chodzi mi...
Chciałem uzyć RTC jak w temacie. Wszystko pieknie i ładnie tylko ze jest jeden problem nie wiem czemu ale ukłądzk ten zlicza 2x za szybko (tzn incrementuje minute co 30s). Uzyłem nowego kwarcu 32,768KHz Umieszczem lisning programu w Bascomie.Dziwne jest to ze zegarek chodzi akurat 2 x szybciej, gdyby był kwarc uszkodzony to raczej by wcala nei działało...
Zrobiłem jednak wybudzanie na timerze w pcf8583. Co 1 sek. lub co minutę (wtedy nie pokazuję sekund). Niestety oprócz kasowania flagi w rejestrze 00 (bit 0) trzeba ustawiać za każdym razem liczbę w rejestrze 07, który odlicza jednostki (ss/s/m/h/d w zależności od ust. bitów 0,1,2 w rej. 08 ) od ustawionej liczby do 99 Aktualnie zasilam z 3 akumulatorków...
Co 1 sekundę , odczytuj tylko rejestr sekund.Jeśli sekundy = 0 , odczytaj także rejestr minut.Jeśli rejestr minut zwróci 0 , odczytaj rejestr godzin , a jeśli rejestr godzin zwróci 0 , to ... itd. Piotrek
no zegarek ten spieszy mi sie jakies 6-7 minut na godzine, no a co kwarcu to go wymienie i zobacze co i jaka, a czy na to spieszenie moga jmiec wplyw kondensatory przy kwarcy dolacznym do pcf8583 ??
Witaj Kolego. Z zegarkami RTC philipsa to jest tak: 1. dobrze popatrz czy podłączyłeś przez diodę bateryjkę czy Ci jej nie rozładowuje. 2. Sam napisałeś procedurę I2C czy skopiowałeś od kogoś - dlaczego pytam - otóż jeśli masz jakieś przerwania i masz źle skonfigurowane te nóżki to w momencie kiedy Ty nie zdążysz ich przekonfigurować (mam na myśli SDA)...
Najprościej, ale może niezbyt elegancko: - definiujesz zmienne np.: czas_1_godz_zal czas_1_min_zal czas_1_godz_wyl czas_1_min_wyl czas_2.... ... itd Następnie w programie sprawdzasz warunki: - jesli godzina = godzina 1 zał to : sprawdzasz czy minuty sie zgadzaja - jesli tak, to załączasz dane wyjście - jeśli nie to wyjście wyłączone. to samo dla kolejnych...
Witam! Proszę o pomoc w rozwiązaniu problemu. Jedyne dane jakie dostaję od PCF-a to 165 dla wszystkich danych (godzina, miesiąc,.....) '$sim 'praca w emulacji sprzętowej $crystal = 4000000 $regfile = "m32def.dat" Config Sda = Portc.1 'konfiguracja linii SDA magistrali I2C Config Scl = Portc.0 'konfiguracja linii SCL magistrali I2C Config Lcd...
Witam Mam problem a raczej nie wiem jak zrobić możliwość włączenia na dany czes i wyłączenia na dany czas jednego pinu w atmedze.Dodam ze w układzie mam PCF8583,ale nie mam bladego pojęcia jak zrobić takie ustawianie.Czy wykorzystać do tego PCF8583 czy Timer z atmegi ? Chodzi o takie coś Włącz na 10 minut wyłącz na 3 godziny i ponownie włącz na 10minu...
Witam mam pytanko, czy jak chce ustawić godzinę 14:21 na zegarze to muszę dokonać korekcji w kodzie BCD o liczbę 6 czy nie. Jak wprowadzam z klawiatury te ustawienia i zapisuje do mojej PCF- ki to otrzymuję na LCD 01:01 i sekundy są wyświtlane prawidłowo. a jak wprowadzam godzinę mniejszą od 9 to jest ok, czyli ustawiam godzinę 9 i 21 minut to po uruchomieniu...
Ok spróbuje.Co nieco zmodyfikowałem ale utknąłem na porównaniu czasu.... część programu; [syntax=csharp][/syntax][/syntax]//=====... //ODCZYT ZEGARA CZASU RZECZYWISTEGO RTC //======================================... int a,tr; for(a=0;a<5;a++) { read_pcf[a] = TWI_read(pcf8583,rtc_adres[a]);...
Witam. Na początek dla jasności..przekopałem elektrodę..zagłębiłem się w datasheta...ale to okazało się za mało by PCF8583 zaczął wreszcie gadać z moją atmegą 32. Nie potrafię dojść dlaczego kompilator się pluje o zbyt wiele definicji w funcjii TWI_read której definicja jak wyczytałem z postów jest poprawna. Proszę pomóżcie bo ten program spać mi już...
Witam, Jestem początkujący w technice mikroprocesorowej. Napisałem program zegara z PCF8583. Na wyświetlaczu pojawia się godzina (godzina, minuta sekunda) ale widać jakby to skakało. Jak się przyjrzeć to widać jak po kolei pojawiają się cyfry. Czy jest jakaś możliwość przyśpieszenia odświeżania wyświetlacza tak aby pokazywana godzina sprawiała złudzenie...
Jestem początkującym ludkiem w zakresie zabaw z uC w bascomie. Pisząc program zegarka chcialem aby zamiast wskazywania sekund na LCD, upływ sekund wskazywał migający ":" pomiędzy godziną a minutami. Jedyny pomsł jaki mam to sprawdzenie czy liczba sekund odczytana z pcf8583 jest liczba parzysta lub nie i w/g tego zapalić lub zgasić ":". Narazie realizuje...
No i kurczę działa. A wcześniej się męczyłem i lipa. Dzięki wielkie za pomoc. Musiałem zmienić nieco docelowy soft. Zastosowałem Gosub Getdatetime Day_nr = Dayofweek() I mam teraz zarówno odczyt godzin, minut i dnia tygodnia. Super dzięki. Później przetestuję w gotowym urządzeniu, bo na biurku działa dobrze.
dane są przerobione z kodu dziesiętnego do BCD i następnie te wartości są wysłane do PCF8583. Odbiór tych danych załatwia mi funkcja. W samplach bascoma do odczytania godziny i minut została użyta postać hex. Chce porówać dane z zegarka i dane z pamięci mikrokontrolera aby załączył mi się alarm If Napstartgodz = hex(h) And Napstartmin = hex(m)...
Witam if godz_od >=godz_PCF8583 and godz_do <= godz_PCF8583 then if min_od >=min_PCF8583 and min_do <= min_PCF8583 then reset portc.2 end if end if Dlaczego ten warunek miałby się nie zdążyć wykonać ? Sprawdzasz go z dokładnością do minuty, więc masz całą minutę na jego potwierdzenie i odpowiednie do wyniku działanie. Inna sprawa, że warunek...
Z konwersji BCD_na_DEC w przypadku tak przesuniętej wartości dnia tygodnia możesz oczywiście korzystać tylko po co? przeanalizuj sobie kod tej funkcji to zrozumiesz dlaczego o tym mówię. A odnośnie automatycznego wyliczania - to podaj mi jeden przykład co w tym RTC jest automatycznie wyliczane jak piszesz? NIC ;) wszystko jest automatycznie inkrementowane...
Moim skromnym zdaniem przydałoby się dać też jakiś separator między godzinami i minutami, niechby i zwykłego LED-a (byle nie niebieskiego!) świecącego na stałe lub jeśli w procku jest jeszcze jakiś wolny pin to zrealizować mruganie. Ups, nie zauważyłem tej informacji, że to zwykła aplikacja PCF8583... :D
Mam problem. Program pozwala wyświetlić tylko rok z przedziału 2000-2004. Jak zmodyfikować ten program żeby wyświetlić aktualny przedział lat. Dzięki za podpowiedzi. Ps.Szukałem i czytałem forum , wpisując do zmiennej Rok wartość od 00-04 zmieniamy lata od 2000 do 2004 ale nie znalazłem informacji co zrobić żeby zmienić przedział lat na np. 2004-2008...
Witam Mam zrobiony zegar elektroniczny z wykorzystaniem PCF8583 i AT89C2051. Czas wyświetlany jest na LCD. Wszystko działa jak narazie dobrze tylko, że po każdym włączeniu (wyłączeniu) zasilania trzeba zegar ustawiać od nowa bo się zeruje. Żeby tego uniknąć do PCF8583 dołączyłem baterię 3V tak, jak na schemacie poniżej. Problem polega na tym, że pamięć...
zrobilem sobie taki zegarek RTC na I2C i LCD 16x2 na zestawie uruchomieniowym zl2avr jednak nie wiem jak sie zabrac za podlączenie LCD pod I2C myslalem zeby uzyc pcf8574 tylko nie wiem jak podlaczyc LCD do tego ukladu i czy nie trzema jakiejs dodatkowej biblioteki ?? co by to obslugiwala ?? oto moj programik jaki mam do tej pory bez LCD na I2C : $regfile...
Sub Wyslij_date Day = Makebcd(day) Month = Makebcd(month) I2cstart I2cwbyte 160 I2cwbyte 2 I2cstop End Sub Podpowiedzcie mi, bo mam już prawie cały program napisany i męcze się z tym. Właśnie nadpisałeś sekundy i minuty dniem i miesiącem:) Sub Wyslij_rok Year = Makebcd(year) I2cstart I2cwbyte 160 I2cwbyte 2 I2cwbyte Year I2cstop...
No tak dwa bity z lewej to rok dalsze 2 to 10 dni i ostatnie 4 to dzień zrobiłem taki program Zapisuje na starcie godzinę 23:59:58 i datę 31-12 dzień wpisuję tak &B00110001 , daję mi to 31 dzień miesiąca , kiedy przechodzi data na 1-01 to zmienną dnia wyświetla mi tak &B00000001 ale bity roku nie uległy zmianie. Jak do tego nie dojdę chyba zmienię...
Witam mam pytanko, czy jak chce ustawić godzinę 14:21 na zegarze to muszę dokonać korekcji w kodzie BCD o liczbę 6 czy nie. Jak wprowadzam z klawiatury te ustawienia i zapisuje do mojej PCF- ki to otrzymuję na LCD 01:01 i sekundy są wyświtlane prawidłowo. a jak wprowadzam godzinę mniejszą od 9 to jest ok, czyli ustawiam godzinę 9 i 21 minut to po uruchomieniu...
(at)dondu Twoje artykuły czytałem dokładnie ;-) Z kodu poniżej wycięte ustawianie portów (bonie widziałem żadnej różnicy w zużyciu prądu). Procek ustawione fusami na 8MHz wewnętrzny z podziałem przez 8 [syntax=vbnet] $crystal = 1000000 ' ustawiamy prędkość zegara $baud = 9600 ' ustawiamy prędkość transmisji $hwstack = 220 ' ustawiamy wielkość stosu...
Napisałem program w którym jednej z funkcji nie potrafię zdefiniować a dotyczy porównania czasu odczytanego z pamięci z czasem zegara systemowego. Są cztery kanały realizujące funkcje załącz/ wyłącz z uwzględnieniem dni tygodnia tzn; od poniedziałku do piątku [10 nastaw czasu] i sobota-niedziela [cztery] nastaw czasu co łącznie daje 14 wartości czasu]....
Ja czytam co sekundę, nie zauważyłem żeby występowały opóźnienia tego rzędu. Przyrząd z takim RTC, po kilku (kilkunastu?) dniach ma wskazanie różne o kilka minut, ale żeby 2 godziny na kilka godzin, to nie zdarzyło mi się. Dodano po 7 Przepraszam, dopiero teraz doczytałem, że chodzi o PCF8563. Ja używam PCF8583.
Po mojemu to mogło by być tak. '*********************** Podprogram ustawiania godzin ,minut, dni i miesięcy Sub Menu: Start_menu = 0 Do If Menu_ustaw = 0 Then Waitms 25 If Menu_ustaw = 0 Then Incr Start_menu If Start_menu >= 6 Then Start_menu = 0 End If End If End If Select Case Start_menu Case 0 : Case 1 : Locate 1 , 1 Lcd "Ustaw...
Zegar działa prawidłowo Czyli po włączeniu zasilania jest odczytywany PCF8583, na wyświetlaczu idą sekundy, minuty. Co by wykluczyło: "Czy adres sprzętowy PCF8583 pin3 A0 ustawiony jest prawidłowo - pin do masy ?" "Czy linie SDA SCL są podciągnięte rezystorami zewnętrznymi ?"
Oto wycinek kodu odpowiadający za odczyt i zapis zegara: Config Sda = Portc.4 Config Scl = Portc.5 Declare Sub Odczyt_rtc(sekunda As Byte , Minuta As Byte , Godzina As Byte) Declare Sub Zapis_rtc ... do Call Odczyt_rtc(sekunda , Minuta , Godzina) if Pind.3 = 0 Or Pind.2 = 0 Then Gosub Menu ... loop Menu: Call Odczyt_rtc(sekunda...
Gigantor - masz racje, multipleksuje rzedami, godziny,minuty, sekundy. Co do wyświetlania sekund, wiem, że niema to wielkiego sensu, jednak własnie dlatego, że fabryczne zegarki tych sekund nie pokazuja zdecydowałem sie na ich prezentacje :) . Odnosnie wygaszania PWM-em niezły pomysł, wezme to pod uwagę na pewno :) Na chwile obecną chce zakończyć cześc...
Witam. Standardowe połączenie atmega plus PCF8583, standardowe procedury odczytu i zapisu a mimo to zapis w ogóle nie działa a odczytuje same głupoty. Działanie PCF-a też jest strasznie dziwne. Mianowicie sekundy odlicza normalnie ale dziesiątki sekund zwiększa już gdy jednostki sekund mają wartość 9 a nie 0. Znów gdy dziesiątki sekund mają wskoczyć...
Albo zastosować małą sztuczkę - nie konwertuj godzin, minut i sekund na format dziesiętny, ale wyświetlaj je jako Lcd Hex(godziny);":"... Z tego co pamiętam to załatwia sprawę w jednej linijce.
ret=twi_start(Dev_Addr+TWI_WRITE)... if (ret) { twi_stop(); } else { twi_write(Seconds_Addr); twi_rep_start(Dev_Addr+TWI_READ)... sek=bcd2bin(twi_readAck()... odczyt rej sekund OK minut=bcd2bin(twi_readAck()&... OK hours=bcd2bin(twi_readAck()&... OK...
Zmieniłem realizacje zegarka na timer1. Oto część programu: [syntax=basic4gl] Config Timer1 = Timer , Prescale = 256 On Timer1 Odmierz_1s Enable Timer1 Counter1 = 34286 do loop end odmierz_1s: Counter1 = Counter1 + 34286 Incr Sek If Sek = 60 Then Sek = 0 Incr Minuta If Minuta = 60 Then Minuta = 0 Incr Godzina 'Godziny If Godzina = 24 Then Godzina =...
Środkowe lampy już działają. Cyfry też wyświetlają się poprawnie. Niestety nadal jest problem z zamianą przecinka z neonówką a ponadto lampa jednostek godziny wyświetla kilka cyfr naraz, "główną" i te które są aktualnie na lampach od sekund. Nie zauważyłem widocznych zwarć, więc gdzie szukać źródła problemu? Na 100% to kwestia montażu. Lampa jedności...
witam zamiast pcf8583 postanowilem wmontowac cos o mniejszych wymiarach i lepszych parametrach tj rtc m41t81 - "klon" pcf wyprowadzenia sa niemal identyczne, poza pinem przeznaczonym do baterii nie wymaga on rowniez trymetra do reg. kwarcu Moj problem polega na tym ze nie moge go zmusic do "startu" czytam note aplikacyjna http://www.st.com/stonline/books/pdf/doc...
michalko12, zgoda, masz racje. tylko wiem na 100% że to nie tu jest ten problem! pisząc większy program zapisuje sobie jego wersje jak zrobie jakiś milowy kroczek i mam w ten sposób chronologicznie 20 plików, każdy ma coś więcej. no i teraz chodzi o to że przysłałem Wam kod jednego z tych plików który wyświetlał POPRAWNIE godzine na LCD. po manipulacji...
Mam podobny pcf8583 się późni. Jest normalnie zasilany 5V a po wyłączeniu zasilania 2,4 NIMH. Diody itd... standardowy układ. Na scalaku dałem 100nF + 100uf. kwarc zegarkowy 33p do V+. Zegarek się późni około 2s na dobre większość czasu na akumulatorku. Czy to że jest zasilany z 2.4 V może powodować późnienie? Czy jak zrobię taki sam układ to będzie...
Niestety trochę trudno zrobić na tym układzie stoper, bo jak wiadomo liczy on do 9 i zwiększa liczbę o 1 pozycję w lewo, a jak wiadomo minuta ma 60 sekund :| . Możliwe jest, aby wyświetlał on wynik w sekundach, ale to nie jest wygodne :| . Ja bym to zrobił na jakimś uC (np. AT90S2313 albo ATTiny2313) i napisał program w Bascom'ie. Dla uproszczenia dodałbym...
Dziękuję za zainteresowanie i już spieszę z odpowiedzią: oloam, zastrzel, uduś, powieś, podłóż na tory , nie wiem czemu to działa, ale to dla mnie było oczywiste dopóki słusznie nie namieszałeś mi w głowie :). Najpierw w kodzie pobierana jest wartość z PCF i chodzi zegar na nim oparty, same warunki wykonywania poleceń są na końcu. Rozumiem co chcesz...
Witam. Planuję zrobić (jako dodatkową funkcję większego urządzenia) rejestrację połączeń domofonu tzn. aby układ rejestrował dokładną datę i czas zdarzenia zadzwonienia domofonu - w przypadku gdy nie ma mnie w domu - i wyświetlał na LCD. Mam w związku z tym pytania: 1. sygnał dzwonka domofonu jest modulowany i jak wiecie trwa pewien czas - ma ok.12V...
Tutaj problem polega na tym, że trzeba maskować sekundy, minuty i godziny. W PCF8583, jest to rboione automatycznie.
Raczej nie zaczęło. Prawidłowo działa odliczanie czasu w oparciu o zegar PCF8583 - co minutę miga dioda podprogramu Pomiar. I na tym się kończy sprawa jeśli chodzi o SD, nie dopisuje do pliku, nie tworzy nowego, reszta działa poprawnie - wyświetlanie czasu i temperatury na LCD. Plik Config_MMC.bas jest od Kolegi Duch '---------------------------------------...
Zrobilem ukladzik na atmedze32 i Pcf8583 Philipsa i mam problem z odczytem zegarka - zamiast godzin, minut i sekund widze na wyswietlaczu cyfry 165 - 165:165:165. Czy cos mam nie tak w kodzie?? Kod odpowiedzialny za wyswietlanie godziny: If Item = 8 Then Gosub Clock Cls Lcd G_str ; ":" ; M_str ; ":" ; S_str End If Procedura...
Próbowałem coś takiego i męczę się cały czas ,ale i tak mi wychodzą głupoty. :( [syntax=basic4gl]Sub Gettime() 'pobieranie czasu z PCF8583 'początek petli I2cstart 'inicjalizacja magistrali I2C I2cwbyte 166 'podanie adresu PCF8583 dla zapisu I2cwbyte 2 'wybranie drugiego rejestru (sekund) I2cstart 'powtórna inicjalizacja magistrali I2C I2cwbyte 167...
Witam. Pracuję na uniwersalnej płytce Gotronika. Bazując na książce i internecie postanowiłem zrobić sobie termometr z zegarem RTC. Sam termometr pracuje poprawnie, wyświetla temperatury z dwóch czujników DS, w dwóch liniach na LCD. Potem dorobiłem do tego zegar RTC oparty na wbudowanym w płytkę PCF8583. Sam zegar, z pominięciem daty również wyświetla...
http://obrazki.elektroda.pl/7884479900_1... Czy może ma ktoś pomysł na zegar RTC PCF8583, gdyż walczę z programem od kilku dni i nie mogę sobie z nim poradzić. Zrobiłem sobie zegarek na w.w. układzie i zamiast czasu wyświetla mi same znaki zapytania. Temperatura jest wyświetlana poprawnie. PCF działa poprawnie gdyż generuje na wyjściu...
Witam,mam do Was pytanie jak rozwiazać problem ustawiania godziny,minuty,sekundy w pcf8583,z wpisaniem do pcfka okreslonej godziny z poziomu Bascoma bo w tym jezyku pisze nie ma problemu ,ale jak zrobic ustawianie czasu za pomoca przycisków??Za wszystkie podpowiedzi bardzo dziekuje i pozdrawiam.
Ok...ten częściowy kod jest nieco zmodyfikowany ale teraz też lista komunikatów o błędnych wywołaniach funcji jest dłuższa niż program... //######################################... //########## A T M E G A _ 3 2 ########## //######################################... #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include...
Do programu ElektroTME dopisałem obsługę 2 czujników temperatury DS18B20. Czujniki podpięte pod portc.0, temperatura odczytywana w przerwaniach co około minutę. Wyniki są prezentowane na 4 pierwszych wyświetlaczach a na 2 ostatnich jest znak stopnia i litera C. Przewidziałem nawet przypadek ujemnych temperatur dla termometra zewnętrzengo co objawia...
Witam...nic z tego nie wyszło rozwaliłem tyko w mak resztę programu....za chiny nie wiem jak obsłużyć tego PCF8583 datashety tylko namierzały mi w głowie a jakiegoś prostego przykładowego kodu w C nie znalazłem....menu jak się sypało tak sypie się dalej...nie radze sobie z tymi przerwaniami wychodzą cuda... posiłkując się elektrodą o dadatshetem napisałem...
Czy próbował ktoś podłączyć ADC uC do baterii i w ten sposób monitorować jej stan? Oczywiście, szukaj na forum. Czy nie będzie to zbyt dużym obciążeniem dla baterii. Żadnym jeżeli zrobisz to prawidłowo. Nie trzeba tego sprawdzać 100.000 razy na sekundę. Wystarczy raz na parę minut, a może godzin - Ty decydujesz. A może są inne "tanie" sposoby na monitorowanie...
z porównywaniem sekundnika nie chciałem robić bo chcę się nauczyć obsługi przerwań a poza tym wyglądało by to mało profesjonalnie :p no cóż popróbuję i zobaczę co mi z tego wyjdzie :) Dodano po 54 zrobiłem narazie tak: $regfile = "m8def.dat" $crystal = 1000000 Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3...
Witam. http://obrazki.elektroda.net/100_1257666... P otrzebuję wsadu do ATmegi8 zgodnego z powyższym schematem. Nie udaje mi się odczytać godziny z tego zegara, a tym bardziej nie mogę ustawić w nim godziny. Proszę o wszelkie pomoce. Rysując schemat wzorowałem się na tym : http://mirley.firlej.org/zegar_nixie . Jednak nie potrafię z programu...
pcf8583 asembler biblioteka pcf8583 atmega pcf8583
please reset target zmienić podświetlenie zegarów cewka dwubiegunowy
philips czerwony zielony niebieski akumulatory lifepo4
Skoda Fabia - Wszystkie kontrolki zapalają się podczas jazdy Skoda Fabia 1: Opadające wskazówki i kontrolki