Co robi funkcja bcd_na_dec? Kod powinieneś wstawiać pomiędzy syntax=csharp a /syntax
na fuse bitach wyłacz JTAG-a
Witam. Miałem podobny przypadek - ale co jakiś czas były prawidłowe odczyty z PCF-a. Pomogło podłączenie kondensatora między nóżkami zasilania PCF-a. Pozdrowienia - teedd
Nic sie nie dzieje, bo to nie ma prawa działać :D Gdzie rezystory podciągające linie SDA,SCL do plusa? Dostaw tam dwa rezy 10kR... Powinno to rozwiązać problem. Twój program wisi na komunikacji I2C, procek czeka na ACK lub NACK pod koniec transmisji i z powodu braku podciągania nigdy tego nie dostaje...
Witam. Mam problem z ww układem. Otóż udało m się ustawić date i czas w układzie ale przy odczycie najczęściej układ się zacina. Na płytce mam też slot do karty SD, BTM-222 i RFM-12, wszystko działa poprawnie oprocz tego ukladu rtc. Wykorzystuje go tylko do zapisu czasu na karte sd wiec ogolnie za duzo tego nie ma. Układ działa ale tylko raz na 10 razy...
Sub Odczytaj_pcf8583 Dzien = Makedec(dzien) Miesiac = Makedec(miesiac) H = Makedec(h) M = Makedec(m) S = Makedec(s) I2cstart I2cwbyte &HA0 I2cwbyte 2 I2cstart I2cwbyte &HA1 I2crbyte S , Ack I2crbyte M , Ack I2crbyte H , Ack I2crbyte Dzien , Ack I2crbyte Miesiac , Nack I2cstop I2cstart I2cwbyte &HA0 I2cwbyte 100...
hej koledzy!!! juz jestem:) wielkie dzieki za pomoc - czesciowo juz zegar dziala, mieliscie racje!! zmienilem w kodzie odczytu HD na HA i dziala odczyt ' -------------------- Procedura odczytu czasu i daty -------------------- Clock: I2cstart I2cwbyte &HA0 ' zmienilem z HD0 na HA0 I2cwbyte 2 I2cstart I2cwbyte &HA1 ' zmienilem z HD0 na HA1 I2crbyte...
Ten PCF nie może poprawnie działać. Jest &B10100000 = 160 - adres PCF8583 dla zapisu &B10100001 = 161 - adres PCF8583 dla odczytu danych Powinno być odpowiednio &B10100010 lub 162 -adres PCF8583 dla zapisu &B10100011 lub 163 - adres PCF8583 dla odczytu danych
PCF8583 Coś nie tak, Uszkodzony ? Układ działa. Zczytuje godz., minuty, rok, miesiąc. Jest OK - wyświetla na wyświetlaczu. Jednak jak pobieram rejestr status (00h), control (08h), timer (07h), timer (0Fh) wszędzie mam wartość FFh twi_rep_start(Dev_Addr+TWI_READ)... twi_write(Control_Status_Addr); CTR_Status_00h=(twi_readAck()...
(at)Regan_3000 Czy któraś z sugestii powyżej rozwiązała Twój problem? Mam identyczny problem. (Jestem na Atmedze16/8MHz) Pisze w C, zegar działa poprawnie gdyż obsersuję na oscyloskopie transmisję danych (zauważam zmianę dziesiątek sekund/sekund/minut w bcd na linii SDA), zapewne coś siedzi w kodzie. (PCF8583 podpięcie: SCL,SDA -> przez rezystory...
11MHz po to żeby odczytać RTC i wyświetlić wynik? To nie lepiej puścić go na 1MHz i drastycznie zmniejszyć pobór prądu? Mocy obliczeniowej i tak bedzie wystarczająco.
Sprawa rozwiązana. Wysłali mi z hurtowni PCF8563 zamiast PCF8583. Nie zauważyłem tego. Teraz wymieniłem i jest OK.
Hej mam ten sam problem.. poradziles sobie juz z tym???
1. Dodaj przed pętlą Do-Loop komendę I2cinit 2. Sprawdź czy masz linie SDA i SCL podciągnięte rezystorami 4.7k do VCC Pozdrawiam...
kondensator ma być pomiędzy pinem "1" a "8" czyli Vcc a Ty go podłączyłeś do masyJS Poprawilem tak jak piszesz Ale dale tak samo pokazuje 0 cally czas ;/, Dziekuje J_saw za program, zaraz przerobie i sprawdze, jak cos to bede pisal. Dzieki jeszcze raz
Dokładnie... Czas mierzy u mnie PCF8583 , procedurka odczytu jest banalna i chyba nie zajmuje nadto procka ...
1. Cały układ chodzi na 3,3V, czy tylko PCF8583? 2. Pokaż kawałek kodu odczytu z zegara, może tam jest błąd. 3. DS1307 zamiast PCF8583 jest wiele lepszym rozwiązaniem.
adi84_84: Jeżeli chodzi o adres PCF'ki to zmieniłem go po kilku nieudanych próbach uruchomienia układu, gdyż spod adresu 0xA2 jaki jest w oryginalnym kodzie Mirka, PCF nie odpowiadał. Po zmianie na 0xA0 mam odpowiedź, ale jak pisałem dane są przekłamane. Może chodzi właśnie o ustawienie preskalera TWI. Będę się z tym bawił jak znajdę trochę czasu....
Otórz to. Maskowanie jest bardzo proste i mooocno użyteczne. Gdybyś od początku o nim wiedział to nie byłoby najmniejszego problemu z odczytem miesiąca. Zresztą dobrym nawykiem jest stosowanie maskowania zbędnych bitów w bajcie, bo czasami nie masz pojęcia co tam się może pojawić. Oszczędza to mnóstwo czasu i nerwów. Pzdr.
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ć...
Nie działa mi komenda debounce. Pracuje na ATmega 16 Mam podłączone przyciski do uC pod piny A0, A1, A2, A3, A4, A5. Przycisk natomiast jest podłączony pod mase układu. W programie podciągłem rezystory takim sposobem: Set PORTA.0 ............. a program wygląda tak do ...... instrukcje odczytu czasu z PCF8583 instrukcje odczytu z temp. z DS1820 ..........
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"...
Witam serdecznie! Mam nie lada problem, chciałbym odbierać dane w czasie rzeczywistym z zegara czasu rzeczywistego PCF8583 i "oczekiwać" na dane z RS232. Większość z Was napisze, że to nie problem Ischarwaiting() i poszło. Teoretycznie tak, ale..... Zastosowanie Ischarwaiting() powoduje, że dane wysyłane z programu z PC muszę wysłać 2 razy klikając...
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...
Dlaczego chcesz odczytywać czas w przerwaniu? Przerwanie powinno być jak najkrótsze. Odczyt danych z pcf-a zrób w pętli głównej a przerwanie wykorzystaj tylko do migania kropką.
Nie wiem czy to istotne ale w moim kodzie zapis czasu do PCF-a realizowany jest po odczycie wcześniej ustawionych wartości początkowych naliczania czasu.
Dzieki Panowie za podpowiedzi ,mam problem z ustawieniem konkretnej godziny bo do pcfka musi byc godzina zapisana w formacie BCD,i jak zastosuje cos takiego Zwiększaj/zmniejszaj binarną , a dopiero po tym rób z tego BCD. H = 21 'dwudziesta pierwsza if pinc.2=0 then incr h end if H=Makebcd(h) 'w H znajdzie sie wartość &H22(binarnie 34)...
Witam Na początek to //Porty: PC0(SCL) PC1(SDA) -> wejścia TWI DDRC =0b11111110; PORTC =0b11111101; skoro porty PC0(SCL) PC1(SDA) to wejścia TWI , ja bym je ustawił tak //Porty: PC0(SCL) PC1(SDA) -> wejścia TWI // 1 -> wyjście // 0 -> wejście DDRC =0b11111100; // 1 -> z podciągnięciem do VCC (pull-up) // 0 ->...
Jeżeli połączyłeś tak jak na schemacie, to używasz złych adresów. Zamień $A0 na $A2, a $A1 na $A3. Jeżeli chcesz korzystać z adresów $A0 i $A1, to nogi układu (A0) musisz podpiąć GND, a nie VCC.
Chodzi o to, że mam dwa urządzenia; rozkład jazdy autobusów na Atmega8 z zegarem PCF8583 oraz zegarek cyfrowy na ATtiny2313. Rozkład jazdy pobiera czas z PCF i tu wszystko gra. Zegar na ATtiny nie ma PCF-a, czas liczy procesor. Chcę oba te urządzenia połączyć razem aby miały zsynchronizowany czas bo ATtiny się spieszył. Nie chcę drugiego PCF-a dla ATtiny....
Rozumiem..fakt przesadziłem z tym kodem.....przepraszam......w sprawie wcięć to proszę o weryfikację czy tak ma wyglądać...to wyrwany z całości kawałek... //***** MAIN int main() { DDRA=0xC0; //jakieś ustawinie portów //***** LCD init LCD_menu init LCD_Initalize(); _delay_ms(200); //***** ADC init //***** TWI init while(1)...
Eh już nie mam siły problem pojawił się znowu, teraz czasem odczyt jest wporzadku a czasem nie. Nie wiem co mam z tym zrobić? Dodam ze problem jest raczej z odczytem PCF8583, pamięć 24C04 zdaje się być odczytywana normalnie? Miał ktoś kiedyś podobny problem? I jeśli tak to jak go rozwiązał? Zastanawiam się nad zmiana adresu pamięci 24C04, tak żeby była...
Mając trochę wolnego czasu napisałem parę funkcji do obsługi układu PCF8583. Funkcja która ustawia godzinę i datę zapisuje też dane potrzebne do obliczenia pełnego roku, dzień tygodnia jest obliczany automatycznie na podstawie daty. Funkcje Pcf8583_write i Pcf8583_read można wykorzystać do zapisywania/odczytywania danych z wolnej pamięci ram. Dostępne...
To ma być sterownik ogrzewania i docelowo ma obsługiwać większą liczbę czujników, z tego względu zależy mi na tym aby to przerwanie inicjowało konwersję temperatury. Nie chcę programu głównego zatrzymywać na czas oczekiwania na konwersje, a w pętli głównej chcę umieścić jeszcze kilka innych zadań jakie ma spełniać układ. Zdziwiło mnie tylko zachowanie...
:arrow: max_gg Starałem się koledze Lejk krok po kroku wyjaśnić metodę, a w poście wyżej prosił o łopatologiczny opis. 8) Jeżeli chodzi o maskowanie, to można też je zrealizować w układzie zegara PCF8583 podczas odczytu danych z rejestrów 05H i 06H poprzez ustawienie bitu 3 w rejestrze kontrolnym 00H. Wtedy odczytamy samą datę i numer miesiąca, natomiast...
Co ile masz przerwanie od timera bo jak się domyślam stan klawiatury odczytujesz kilkadziesiąt razy na sekundę?? Napisze to po raz kolejny: Wywal odczyt po IIC klawiatury z obsługi przerwania!!! I rób to tak samo jak odczyt czasu w programie głównym na podstawie flagi. Po drugie po co odczytujesz za każdym razem czas z PCF'a??? Skoro masz przerwanie...
Witam Niedawno zacząłem programować w C, jako kompilatora używam Ride firmy Raisonance. Mam mały problem który jest dość ciężki do opisania ale spróbuje. Otóż... Napisałem program do odczytu zegarka pcf8583 i wyświetlania czasu na wyświetlaczu... a że program był dość długi to podzieliłem go na "moduły" - obsługi wyświetlacza, i2c, odczyt czasu... itp....
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...
(at)piotrva, doczytałem o tym zasilaniu, po prostu nie chciało mi się przerabiać swojego schematu i wrzuciłem go jedynie "poglądowo" ;-) Nadal uważam, że R7 i R3 są za małe... po co Ci taki prąd przez diodę? zwłaszcza jak oszczędzasz prąd. R6 powinno być w okolicy 4,7k. Jeśli sam będziesz wymieniał baterie i nie boisz się ryzyka odwrotnego ich włożenia...
pcf_pinread(unsigned char adres_pcf, unsigned char pin) { unsigned char stan_portu; unsigned char signal; stan_portu = pcf_portread(adres_pcf); stan_portu >>= pin; signal = (stan_portu & 1); return signal; } Właśnie nie odczytuje w przerwaniu, odczyt PCFa jest ustalony w pętli głównej w której jak narazie jest...
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...
Declare Sub Gettime Declare Sub Settime Dim S As Byte Dim M As Byte Dim H As Byte Dim Yd As Byte Dim Wm As Byte Podprogram odczytu pcf8583: Sub Gettime I2cstart 'generate start I2cwbyte &HA2 'write addres of PCF8583 (a0 do plusa) I2cwbyte 2 'select second register I2cstart 'generate repeated start I2cwbyte &HA3 'write address for reading info I2crbyte...
Witam wszystkich, mam problem z wyświetlaczem LCD DMF5005N, podczas wyświetlania czegokolwiek na LCD, pojawiają się na nim oprócz poprawnych informacji także śmieci - pojedyncze i podwójne piksele. Program pracuje w pętli - odczyt czasu z PCF8583, a ilość niechcianych pikseli zwiększa się sukcesywnie do pewnego momentu, za każdym razem są to te same...
Korzystanie ze sprzętowych timerów do generowania taaaak długaśnego odcinka czasu 1Hz to po prostu istne marnotrawstwo by było niestety. Sam sobie podpowiadasz i dobrze, że masz na wyjściu PCF8583 generowany 1Hz - nic tylko podłączyć go pod jakieś przerwanie INTx i masz w procku 1Hz a jeszcze możesz go pięknie wykorzystać do odczytu czasu z PCF'a i...
Pierwsze co rzuciło mi się w oczy po spojrzeniu do datasheet do adresy do zapisu/odczytu. W kodzie masz odczyt-A1, i zapis- A0. PCF8593T korzysta z adresów: odczyt-A3, zapis A2.
Przepraszam moje nie dopatrzenie , co do Twojego kodu ,wkleje swoj do obsługi TWi działający ponieważ widzę pewne róznice w kodach : void TWI_INIT(void) { TWSR = 0; /* no prescaler */ TWBR = ((16000000/F_TWI)-16)/2; /* must be > 10 for stable operation */ } // procedura transmisji sygnału START void twistart(void)...
Dokładność czasu 1minuta to standard przy takich zegarach...na if-ach robiłem najpierw sprawdzanie co godzinę czy Tgodz_pcf==Tgodz_kanal_t1_t2_t3_t4 jeżeli tak to sprawdzałem analogicznie minuty i jeżeli znowu tak to sprawdzałem który czas nastawy "pasuje" do czasu bierzącego. To trochę zakręcone i sam się w tym gubiłem dlatego szukam innego bardziej...
Trafiłem na ten temat, bo szukam procedur w asemblerze do PCF8583 , odczyt,zapis (zegar, kalendarz, alarmy). Proszę jeśli ktoś posiada w swoich zbiorach. Spotkało mnie doświadczenie z dziwnym zachowaniem się tego zegara jak wyżej w postach. Problem rozwiązałem programowo, jako że ten pojawiał się sporadycznie. Podaję fragment programu z odczytem zegara...
Witam, tu masz link z przykładem: http://www.elektroda.net/dla_domu/zegar_... Pozdrawiam ArteXL
Witam. Od jakiegoś czasu noszę się z zamiarem usprawnienia zegara który jest na PCF8583. Ostatnio wpadł mi w ręce odbiornik DCf a właściwie to budzik z uszkodzonym LCD. Przeglądając sieć, znalazłem informacje na temat zegarów z DCF77 z podstawowym czasem na timerach. Chciałbym dołożyć DCF77 do zegara, który ma PCF8583. I tu moje pytanie do Was. Czy...
Układ RTC możesz zastąpić bardzo popularnym PCF8583 który także chodzi po magistrali I2C oczywiście po odpowiednim zmodyfikowaniu programu i PCB :) Zmiana oprogramowania akurat w tej części odpowiedzialnej za prawidłowy odczyt czasu z RTC nie powinna być trudna.
Witam. Koledzy czy można podłączyć zegar PCF8583 do portu SPI procesora który obsługuje na tym porcie kartę pamięci? Jeśli się da to czy wystarczy na czas odczytu lub zapisu PCF-a konfigurować porty SCL SDA a później obsługiwać kartę pamięci. Czy trzeba ją będzie inicjować za każdym razem?
Niekoniecznie.Zakladam, ze adres bazowy ukladu jest zgodny z napisanym w programie.Jezeli tak to wyzeruj wszystkie rejestry-jest mozliwosc, ze omylkowo wylaczyles generator(w rejestrze kontrolnym).W bascomie tak wlasnie przypadkiem zrobilem-gdy zapomnialemm wpisac jednej komendy. W programie odczytu zostaw linijke dotyczacom sekund.Jak juz bedzie poprawnie...
Dziękuje że miałeś czas i ochotę patrzeć w te bazgroły Buzzer przetestuje DS18B20 rezystor 3.3k dobrany doświadczalnie przy 4,7k różnie bywało z odczytem długa linia kilka Ds-ów PCF8583 poprawię i zabieram sie za zmianę schematu
Zastosuj locate a nie żadne waitms i cls w petli.
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 ja odczytuje z pcf8583 tą procedurą (co prawda układem atmega8, ale atmega16 różni się ilością wyprowadzeń, natomiast rejestry sterujące są takie same): //0x03 - odpowiada minutom? -> tak co do pytania Program się zapętla. Najprawdopodobniej przy tej linii: Kod C while((TWCR&(1<<TWSTO))); W funkcji TWI_stop(); -> przeanalizuj procedurę...
(...)Od razu zaczynasz od odczytu a przecież zegarek PCF8583 po załączeniu zasilania nie chodzi i ma w rejestrach raczej przypadkowe wartości (o ile sobie dobrze przypominam). (...) Po załączeniu zasilania PCF8583 zaczyna odmierzanie czasu od wartości 00:00:00 (oczywiście pod warunkiem, że oscylator działa poprawnie). (...)Jeśli chcesz sprawdzić, czy...
Bardzo fajny projekt, Super Ci to wszystko wyszło. Ogólnie od jakiegoś czasu jestem wielkim fanem SMD, Większość układów tańsza, dużo mniej miejsca potrzeba, brak wiercenia tylu otworów... U Ciebie jest sporo miejsca więc jest ok. Dlaczego obsługę dnia, miesiąca, roku i dnia tygodnia zlecasz EEPROMowi? On ma bardzo mało cykli zapisu/odczytu a PCF8583...
Powód jest prosty :) Cały czas się uczę bascoma i chcę dowiedzieć się jak najwięcej. Wiem że można to zrobić zapisując w eepromie procka ale chciałby wiedzieć jak to się zapisuje do eepromu zewnętrznego. Przypuśćmy że są takie układy w których bardzo często zapisuje się nowe ustawienia i wtedy najlepszym rozwiązaniem jest zapis do pamięci zewnętrznej,...
Witam! Zaczynam swoją przygodę z AVR i mam mały problem. Chciałem ustawić godzinę i datę i wszystko cacy poza tym, że gdy dzień miesiąca dojdzie do 30 to przeskakuje na 10 zamiast 1. Próbowałem też zamaskować rok,ale bez skutku Nie mam pojęcia dlaczego tak się dzieje. Poniżej umieszczam fragment kodu i proszę o pomoc: [syntax=c] // Ustawianie czasu...
Przepraszam, oczywiście chodzi o PCF8583... Chodzi mi o to czy dobrym rozwiązaniem jest ODBIÓR Z EEPROM'A -> PORÓWNANIE Z AKTUALNYM CZASEM -> JEŚLI RÓWNE TO ZAŁĄCZ tak? Czyli odczyt z EEPROM'A będzie następował co ~1s (bo tyle trwa moja pętla głowna) Czy takie rozwiązanie jest dobre? Gdzieś słyszałem, że nie można umieszczać funkcji odczytu z EEPROM'u...
Witam. Jestem w trakcie kończenia pisania oprogramowania do zegarka z podświetlaniem RGB. Na razie mam takie funkcje: - 3 przyciskowa klawiatura. - Nastawianie daty i czasu i zapis/odczyt w/z PCF8583; - Wyświetlanie temperatury wraz z tendencją spadkową lub wzrostową przy pomocy strzałek; - Regulacja poprzez PWM sprzętowy w Atmedze8 jasnością wyświetlacza;...
Witam! Mam taki problem że układ na bierząco podaje aktualną godzinę z pcf8583. Co 15 sekund pcf uruchamia przerwanie int0 i w tym momencie następuje odczyt i wyświetlenie temperatury. Program działa poprawnie do czasu aż za którymś razem po powrocie z przerwania na ekranie pojawiają sie krzaki ale funkcje z przerwania nadal działają. po dłuższej chwili...
bo na pewno zostawiłeś CLS w pętli DO..LOOP - prawda? a kolega wyżej mówił ci żebyś wywalił tego CLS'a i użył polecenia LOCATE, które wyświetla dane zawsze na tej samej pozycji i wtedy nie trzeba kasować całego ekranu LCD. Po drugie sam jakby słusznie podejrzewałeś że warto zrobić odczyt z zegarka co jakiś czas a nie bez przerwy w pętli go odczytywać....
Witaj! Co masz na myśli mówiąc "jednocześnie"? Masz na myśli immobiliser z termometrem w jednym? :) Ten przykład tutaj działa :) To niewątpliwie, bo kiedyś go uruchomiłem ... z pełnym sukcesem, tak więc musisz próbować :) Albo pisz co jest niejasne, co Ci nie działa, albo jakie masz błędy ... Ja teraz zmagam się z zegarem :) Chcę zrobić zegar ATMEGA8+PCF+właśnie...
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...
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 Mam kilka pytań: 1) czy możliwa jest obsługa PCF8583 przy użyciu AT89C2051 ale bez wykorzystania do tego I²C. Pisząc obsługa mam oczywiście na myśli wpisywanie daty i czasu do 8583 i późniejszy jego odczyt, 2) jeżeli możliwy do spełnienia jest warunek 1) to jak wyglądałaby obsługa 8583 z punktu widzenia programu, chodzi mi o polecenia w asemblerze...
Chciałbym nie obsługiwać programowo zamiany czasu oraz daty. Zależy mi abym raz ustawił datę i godzinę a reszta przebiegała bez użycia procesora. W chwili obecnej mam układ PCF8583 gdzie w/w operacje są realizowane programowo. W moim programie odczyt daty i czasu przez mikrokontroler realizowany jest tylko w chwili wystąpienia zdarzenia (zmiany stanu...
(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...
Coś potrafię "wyczytać" z angielskiej dokumentacji ale zrozumienie przychodzi trudniej...np; PCF8583...czytałem kombinowałem i marnie szło i dopiero gdy zobaczyłem dobrze napisany kod obsługi I2C dla PCF-a pozwalający na odczyt czasu i daty i porównałem z tabelkami w dokumentacji zacząłem dochodzić jak to funkcjonuje...i z ustawieniem a potem zapisem...
A możesz skontaktować się ze mną na gg?? Wytłumaczyłbym Ci trochę, bo tak trudno trafić, co już wiesz a czego jeszcze nie!! Wszystko w zasadzie można wyczytać z pdf-a, opisującego PCF8583, do pobrania ze strony Philipsa. Ogólnie mogę powiedzieć tak: 1. Rok: Właściwe rejestry zegarowe PCF8583 nie przechowują całej liczby oznaczającej rok, a jedynie cyfrę...
Widze ze jest duze zainteresowanie zegarkami binarnymi wiec stworzylem ten post. Chcialem zebyscie wszystkie pytania na temat tych zegarkow kierowali tytaj (moje sa pod koniec posta). Chcialem tez tutaj przedstawic jak odczytywac godzine (i przekonac wszystkich ze odczytywanie godzny nie trwa 5 min tylko jak sie przyzwyczai to trwa to tyle ile odczytywanie...
Skoro program utyka w jakimś miejscu to znaczy że czekasz w pollingu na stan, który się nie pojawia. Po pierwsze dodałbym time out, który przerwie pętlę oczekiwania zanim układ zostanie zresetowany przez watchdog. Zapis nie jest w pętli, struktura programu wygląda tak: Skoro na magistrali nie ma innego mastera to należałoby wysłać ponowny warunek startu....
Witam szanowne grono, i proszę o rade: Probuje uruchomić tego PCF'ka pod kontrola atmega16 i...nie chce mi tykać. Zasilanie ze stabilizatora 5V, A0 do plusa/masy (różnie próbowałem), Pomiędzy OSCI a OSCO kwarc zegarowy, a pomiędzy OSCI a VCC kondensator 33p. Odczyt i zapis przez mikrokontroler bezproblemowy, tylko...nie chce odliczać czasu - zaczyna...
http://obrazki.elektroda.pl/8192024800_1... Witam, Przedstawiam kolejny projekt z wykorzystaniem karty TeleVGA, tym razem jest to " 4- kanałowy termometr z zegarem RTC i wyjściem VGA " Projekt powstał przy okazji realizacji zlecenia na kontrolę temperatury na linii produkcyjnej. Jednym z wymagań była dobra widoczność odczytów dlatego...
Dzieki za odpowiedzi. Wątek fakt był prowokacyjny bo jakoś nie mogłem albo nie chciałem przyjąć do wiadomości, że się nie da. Mam wykorzystane wszystkie timery a potrzebuję odmierzać 100ms aby liczyć czas przyspieszania auta z dokładnością do 0,1 sekundy na 8051. Niestety nie mam pojecia jak to zrobić. Liczę już czas między impulsami z przetwornika...
Program przekopiowałem już toczka w toczkę z płyty dołączonej do książki, oczywiście zmieniłem pod moje podłączneie do procesora ukłądu pcf8583 ale nadal nie wywołuje przerwania ten układ i nic nie mogę z niego zczytać. Jak sprawdzić czy czasem w jakiś sposób nie uszkodziłem tego układu? Jedyna różnica przy podłączniu odbiegająca od książki to nie podłączone...
tak, error pokazuje, bo są jakieś błędy transmisji (nie jestem pewny, bo kody tylko odpaliłem, a nie analizowałem całej biblioteki, ale taki stan pojawia się jeśli crc się nie zgadza). Natomiast przy odłączonym czujniku cały czas linia nie zmienia stanu i odczyt wszystkiego (ID czujnika i temperatury) jest 0x00. a czujniki mam nadzieję w ogóle udało...
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]....
Podłącze się do tematu. Piszę funkcję zapisu na LCD godziny, daty z PCFa. Mój sprzęt: Atmega128, sprzętowy TWI, przerwanie z PCFa, LCD 240x128, AVR studio 4 + WinAVR I zastanawiam się czy co przerwanie (1s) mam napisać funkcję odczytującą całego PCFa (wszystkie potrzebne rejestry) i zapisanie tego na LCD, czy może inaczej. Właśnie tak zrobiłem, ale...
Wiec tak zmieniłem program w ten sposób ze nie wraca mi do startu, pozbyłem sie pętli, układ po odczytaniu z PCF8583 i wyświetleniu na wyświetlaczach staje w miejscu. Co dziwne pokazała sie normalna wartość czasu na wyświetlaczach. Dałem reset patrze sekundy sie zwiększyły, i tak wciskając reset zauważyłem ze sekundy i minuty prawidłowo sie zwiększają...
OK, ale sam program po wyrzuceniu wszystkich dodatków to nadal prawie 500 linii. Więc zamieściłem tylko część inicjującą. Czy coś przeoczyłem? static volatile unsigned char key1=0, key2=0, key3=0, key4=0; static volatile unsigned char odczyt_keys=0; static volatile unsigned char odczyt_time=0; SIGNAL(SIG_INTERRUPT6) { if(!(PINB&0x01))...
Wprawdzie ... to nie humanitarnie z mojej strony dawać niemalże gotowca ... :D [syntax=basic4gl]$regfile = "m2560def.dat" $crystal = 16000000 $hwstack = 64 $swstack = 64 $framesize = 64 $include "Config_PCF8583.bas" Declare Sub Displaytime() Declare Sub Settime() Declare Sub Cancel() Declare Sub Plus() Declare Sub Minus() Declare Sub Saveandexit() Declare...
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. Spotkałem się z dziwnym problemem podczas pisania w Bascomie. Otóż, po umieszczeniu na magistrali tych układów w niektórych przypadkach (różni producenci pamięci) brak jest odczytu sekund z zegarka. Zegarek pracuje normalnie, minuty przeskakują ale nie sekundy. Po wymianie pamięci na inny model - Atmela problem znika. Próbowałem zwiększać opóźnienie,...
problem rozwiązany zamiast t=makebcd(s) trzeba dać makedec , temat zamykam
Widzę że na początku miałeś sprawdzenie pinb.4 i pinb.7 a teraz napisałeś pinb.5. Sprawdź jeszcze czy jak nic nie wciskasz to napięcie na pinb.4 i pinb.7 jest równe zasilaniu. Może zostaw tylko obsługę przycisków i dokładaj kod po kawałku i sprawdzał po czym przestanie działać. Rozumiem że odczyt godziny działa prawidłowo tylko klawisze nie przynoszą...
Witam Chciałem jako element dodatkowy oprócz pomiaru temperatury i zapisu na kartę SD dodać kalendarz z numerem dnia tygodnia ( później zamienić numer dnia na nazwę dnia ) Niestety jakbym nie próbował, to cały czas wyświetla 0. Odczyt Sub Gettime() I2cstart I2cwbyte 162 'Wysyła adres odczytu urzadzenia (162 (0xA2) układu PCF8583)...
Ja używam wersji 2.0.1 Czy warto robić upgrade?
W tym problemie są 2 problemy : 1. Fluktuacja częstotliwości zegara - tutaj mogą być różne przyczyny : niewłaściwe odsprzęganie zasilania, złe poprowadzenie ścieżek, nawet pętle masy. I faktycznie, może być tak, że to co nie przeszkadza układowi PCF8583, stanowi problem dla PCF8563. Zamieść schemat i fragment płytki - będzie nam łatwiej zgadywać. 2....
w jaki sposób rozwiązujesz rok w 8583 ? Jak "rozwiązuję rok" ;) to dość trudno tak w kilku zdaniach wytłumaczyć, chociaż sprawa generalnie jest prosta... Może więc zamiast się rozwodzić, pozwolę sobie wkleić dobrze (mam nadzieję) skomentowane fragmenty swojego programu. ' ****************************************... 'Odczyt:...
Docelowy uklad bedzie sporo robil > 2 czujniki temp, odczyt godziny z pcf8583 i alarmu, wszystko sterowane pilotem(jak bedzie trzeba to na przerwaniu), jak sie uda to komunikacja z pc przez uart, sterowanie 7 przekaznikami, regulacja rgb przez pwm, obsluga przyciskow bez debounce i waitow, obsluga menu ... Jak pisalem wczesniej powyzszy program to tylko...
Witam wszystkich poraz kolejny:) Mam pewien problem, mianowicie: Mam RTC DS1337 pracujący z magistralą I2C, mam także PDFa, ale nie mogę odczytać wartości sekund, minut, godzin ani daty. Do odczytu używam kodu: Sub Gettime I2cstart 'generate start I2cwbyte 209 I2cwbyte 2 'select second register I2cstart 'generate repeated start I2cwbyte 208 'write address...
"opóźnienia związane z przetwarzaniem danych" chodziło mi o to że mikrokontroler zanim przygotuje te dane i je wyświetli minie trochę czasu. Ja w danej chwili nie potrzebuje idealnie dokładnego czasu, ale żeby po tygodniu nie rozjechał się o kilkanaście sekund, bo po roku będzie to opóźnienie kilku minut, a zamierzam zastosować dla PCF'a podtrzymanie...
źle robisz, zatrzymanie pcf ma jedynie sens podczas wpisywania do pcfa nowego czasu. Włączanie i wyłaczanie zliczania kilka, kilkanaście razy na sekunde nic dobrego chyba nie przyniesie.... Zastanawiam się też czy źle zrozumiałeś PDF'a. tam jest napisane że podczas odczytu wszystkie dane przezucane sa do osobnego zatrzasku. Ma to uchronic przed błędami...
Panowie, wrócmy do PCF8583 pierwszy raz spotkałem sie z tym problemem. W apliakcji pisze że powinien pracować przy 1V. Mam podpietą baterie 1,5V (zawsze niałem "litówke" 3V i chodziło) i po ponownym włączniu urządzenia zegarek jest wyzerowany, a z ramu odczytuje jakieś bzdury (zawsze takie same). Co ciekawe przy napięciu 1,5V pojawia sie sygnał z wyjscia...
Cały program poza zegarem sterującym [ kwestia porównywania czasu ] działa i napięcia oraz prądy są odczytywane poprawnie a co za tym idzie sterowanie dwoma zasilaczami oraz monitorowanie ogniwa foto galwanicznego [na razie brak - symulacja] działa również poprawnie.Mierzone napięcie jest napięciem skutecznym. Nadal próbuje dociec dlaczego mam błędny...
http://obrazki.elektroda.net/94_12891659... Witam, własną konstrukcję prezentuje na elektrodzie po raz pierwszy, jestem otwarty na wasze opinie, pomysł na konstrukcję miałem już dawno temu, kupiłem wyświetlacze, jeszcze w szkole zrobiłem płytkę pod wyświetlacz (co zresztą widać) ale późnej zabrakło i wiedzy i chęci. No i ostatnio zafascynowany...
pcf8583 odczyt odczyt pcf8583 ustawianie czasu pcf8583
bosch sterownik zmywarka wtyczka zasilać laptop silnik krokowy civic
schemat rozruchu schemat rozruchu
Zamienniki dla TB2906HQ: TDA7850, TDA7388, TDA7492 Komputer nie widzi głośników zewnętrznych - kod 10