Co robi funkcja bcd_na_dec? Kod powinieneś wstawiać pomiędzy syntax=csharp a /syntax
na fuse bitach wyłacz JTAG-a
Już śpieszę z informacjami, cieszę się że ktoś odpowiedział :) Na początek wygląd z PC jest taki: http://obrazki.elektroda.pl/2594549100_1... Kod z Visual Basica 2008: [syntax=vb] Option Explicit On Imports System Imports Microsoft.VisualBasic Imports System.Configuration.ConfigurationSettin... Imports System.Windows.Forms Imports System.IO...
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()...
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. 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
No to jak się zastanawiałeś nad tym, to powinieneś zaskoczyć o co chodzi... Po prostu należy najpierw wyłączyć maskowanie roku i dnia tygodnia (więc zamiast 8 do rejestru 0 wpisać wartość 0), potem odczytać cały bajt, zamaskować niepotrzebne bity w danym bajcie: najpierw rok i odczytać dzień miesiąca, potem zamaskować dzień miesiąca i odczytać rok -...
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...
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
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...
: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...
(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...
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...
A jak inaczej czytać PCF-a jak nie przez I2C? Widzę że humor dopisuje :D Otóż, usiądź bo to może Cię zaskoczyć, TWI to sprzętowa, dużo lepsza od programowej, kiedy mamy możliwość skorzystania z dedykowanych pinów, obsługa I2C wbudowana w mikrokontroler. Żeby jej użyć należy ją najpierw skonfigurować dwoma komendami. W przeciwnym wypadku korzystasz...
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...
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,...
witam w bascomie odczytuję sekundy z tego scalaczka i w wyniku mam 0,1,2,3,4,5,6,7,8,9,22,23,24,25,32,33,34... .... kawałek kodu odczytującego sekundy : I2cstart I2cwbyte &HA0 I2cwbyte 2 I2cstart I2cwbyte &HA1 I2crbyte S , Ack I2crbyte M , Ack I2crbyte H , Nack I2cstop T = Makebcd(s) co siędzieje ? z kwarcu na plus mam 33pF (bez niego to samo)...
W skrócie powiem tak: R E W E L A C J A !!! oby więcej takich ,,Nauczycieli" !!! :D Z góry dziękuję za rewelacyjne wytłumaczenie całej obsługi zapisu i odczytu PCF8583 no i oczywiście czekam(y) na dalsze informacje w sprawie ustawienia alarmów - dla mnie osobiście rok w pcf-ie był największym problemem :) ale po takim szczegółowym wyjaśnieniu już nie...
Hej mam ten sam problem.. poradziles sobie juz z tym???
Złe podłączenie kondensatora spowoduje tylko że zegar będzie leciał szybciej albo wolniej juz nie pamiętam, co nie zmienia faktu że coś powinno się dać odczytać. Proponuje odczytać inne komórki, nie zaglądałem do pdf'a ale może te co czytasz to jest rok albo godzina.
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...
Rozumiem że odczyt pcf8583, po prostu daje same zera , tak ? Po pierwsze : czy ra3 i ra4 nie są pinami w trybie analogowym ? (rejestr ADCONx) Według mojego rozumienia a nieznajomości C, ten fragment : #define SDA TRISAbits.TRISA3 #define SCL TRISAbits.TRISA4 #define SDA_IN PORTAbits.RA3 #define SCL_IN PORTAbits.RA4 powinien być tak : #define SDA_IN...
Rok i dzień tygodnia odczytujesz analogicznie do dnia miesiąca. Wystarczy tylko zmienić numer rejestru PCF przy odczycie i zamaskować niewykorzystywane bity.
Pomogło - program nie jest uwięziony w pętli, komunikuje się z PCF i wyświetla poprawne informacje - na razie tylko sekundy, mam nadzieję, że z dalszą rozbudową nie będzie problemów, jak jednak się pojawią zwrócę się o pomoc. Dzięki wszystkim za wszystko i pozdrawiam :).... kod po przeróbkach: ldi r21, 160 ' adres zapisu PCF8583 (A0 = 0) ldi r22, 161...
Wyciąłem tylko obsługę EEPROM bo mi to nie potrzebne. Jak by ktoś mógł by się przyjrzeć to był bym wdzięczny. [syntax=c] /* * main.c * * Created on: 2010-09-07 * Autor: Mirosław Kardaś * * Program korzysta ze sprzętowej obsługi I2C/TWI * Umożliwia zapis danych do RTC oraz EEPROM a także * oczyt z tych urządzeń * */ #include <avr/io.h> #include...
Użyj sprawdzonych bibliotek do zegara. Pamiętaj o rezystorach podciągających. [syntax=c] void TWI_inicjacja(void) { // Czestotliwosc TWI(i2c) = 100kHz (max 100kHz) -> atmega8 taktowana wewnetrznie 8MHz (RC=8MHz) // ----------------------------------------... /* TWSR = TWS7 TWS6 TWS5 TWS4 TWS3 - TWPS1 TWPS0 */ TWSR =0b00000000; // Preskaler =...
Proszę o pomoc...odczytanie dnia tygodnia tzn czy poniedziałek itd;...druga sprawa zapis dziesiątek i jednostek miesięcy.....niby proste a za chiny zapisać nie potrafię już paluchy bolą od klepania w klawisze żadne przesunięcia bitowe nie działają...odczyt dla miesięcy zdefiniowany tak;a dni tygodnia ???????? { PCF8583=TWI_read(zegar,0x06);...
... W takim wypadku czy rejestr daty/roku to wg pdfa 05H ale mnie jednak to nic nie mowi:( Kolejny raz wołam o pomoc... Jeżeli masz kłopot ze zrozumieniem co zawierają rejestry 05 i 06 , to ustaw w rejestrze kontrolnym(adres 00) bit nr.3(mask) i wtedy Twój kod zadziała - pomiń odczyt Year.Zmianę roku , musisz załatwić wyłącznie programowo. Piotrek
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...
Witam. Postanowiłem wreszcie zrobić sobie zegarek do pokoju. Wybór pał na PCF8583 bo już kiedyś z niego korzystałem i wspominam bardzo pozytywnie - nie było żadnych problemów z odpaleniem i komunikacją tylko że to były czasy AT89C2051 i bascoma 8051. Teraz mam w układzie atmege8515 i są spore "jaja" co jakiś czas (godzina czasem pół czasem dwie) dostaje...
Temat zamykam.
ja niedawno odpaliłem rtc na twi i działa świetnie na stronie radzio.dxp.pl są podane procedury do twi sprawdzałem je i działają nie wiem czy wiesz ale PCF w przeciwieństwie do eeprom adres+1 to odczyt więc jeśli masz adres A2 to do niego zapisujesz a z pod A3 czytasz
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.
Nie analizowałem dokładnie kodu, ale na pierwszy rzut oka brakuje mi ustawienia częstotliwości taktowania magistrali (rejestr TWBR i bity TWPS1:0 w rejestrze TWSR). Maksymalna częstotliwość taktowania SCL układu PCF8583 to 100kHz. Nie napisałeś jaką częstotliwością jest taktowany procesor. Po starcie procesora te rejestry są ustawione na wartość 0 i...
Witam wszystkich serdecznie, Chciałbym prosić o pomoc w analizie błędów inicjalizacji i komunikacji z zegarem RTC, który wszyscy znają. Chciałbym przedstawić kod, który nie działa - opisać objawy i spytać o parę rzeczy, które mnie nurtują. A więc do rzeczy. Najpierw Kod: [syntax=c] #define PCF8583_ADDR ((uint16_t)(0x50)) #define I2C_SCL GPIO_Pin_6 #define...
Tu masz kody źródłowe do interfejsu I2C, może tam coś znajdziesz. Pozdrawiam. http://www.programmersheaven.com/downloa... http://www.phanderson.com/jkmicro/8583_1... Układ PCF8583 jest widoczny pod adresem 80D (50H) magistrali I2C. Ponieważ najmłodszy bit adresu I2C określa typ operacji (odczyt/zapis) wiec układ PCF8583 jest “widoczny”...
Dokładnie... Czas mierzy u mnie PCF8583 , procedurka odczytu jest banalna i chyba nie zajmuje nadto procka ...
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 ..........
Bardzo Ci dziękuję za przejrzyste wyjaśnienie jak czytać te rysunki i wreszcie wszystko jasne :) Co do PCF8583, to: Dla pinu A0 podciągniętego do VCC ZAPIS - 162 ODCZYT - 163 Dla pinu A0 podciągniętego do GND ZAPIS - 160 ODCZYT - 161
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"...
Sprawa rozwiązana. Wysłali mi z hurtowni PCF8563 zamiast PCF8583. Nie zauważyłem tego. Teraz wymieniłem i jest OK.
dziala kwarc pcfa był padnięty dzięki
Witam. Napisałem w Bascomie prosty program do odczytu 2 termometrów DS1820 i PCF8583 - właściwie jest to zarys gotowych procedur. Niestety przy kompilacji wywala mi masę wewnętrznych błędów - Internal Errors w ostatniej linii. GDZIE ROBIĘ BŁĄD? Zmniejszałem liczbę zmiennych typu Byte (chyba jest ich zbyt dużo więc zmniejszyłem rozmiar tablicy Adresy)...
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...
(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...
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...
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...
Ja tylko dodam, że trzeba sobie popatrzeć do dokumentacji DS1307 i porównać jego rejestry z rejestrami w PCF8583.
Klas tu nie uświadczysz. Najpierw zapisujesz do pcfa jakieś wartości a potem odczytujesz te same. Wklej cały program.
Czesc. Poszukuje pomocy na temat zapisu, zamiany i odczytu roku w RTC PCF8583 Jest tam zapis roku w postaci 0, 1, 2 i 3. Tylko takie wartości można wpisać. A jak ma to się do roku w postaci 2005, zakladajac tylko ostatnie dwie cyfry 05 powiedzmy w formacie BCD. Jak taką wartosc zapisac w w rejestrze PCFa.
Witam, mam taki problem mały. Gdy odczytuję czas z uC to na LCd czas ten mi tak szybko miga że nie można tego odczytać. inne rzeczy natomiast są dobrze widoczne a są w tej samej lini na wyświetlaczu. zmian waitms też nie pomaga.
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....
Niedawno robiłem taki zegarek i proponowano mi napisanie progra,owego roku niz korzystanie z tego z pcf-a. Najpierw musisz ustawić 3 bit w rejestrze kontrolnym np tak: Dim B1 As Byte Set B1.3 I2cstart I2cwbyte 162 I2cwbyte 0 I2cwbyte B1 I2cstop Potem żeby ustawić podstawowe wartości musisz je zamienić na kod bcd a następnie wysłać tak: I2cstart I2cwbyte...
Tutaj problem polega na tym, że trzeba maskować sekundy, minuty i godziny. W PCF8583, jest to rboione automatycznie.
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...
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...
Sprawdź dokładnie adresowanie - odczyt i zapis. Problem na pewno leży gdzieś tam.
Witam. Zacznij od odczytu. Masz może podpięty wyświetlacz ? Byłoby łatwiej testować. Tu przykładowy podprogram odczytu zegara sprawdzony i działający. Wyświetla na LCD Sub Odczyt_czasu I2cstart I2cwbyte 162 I2cwbyte 2 I2cstart I2cwbyte 163 I2crbyte S , Ack I2crbyte Mn , Ack I2crbyte H , Nack I2cstop cls Lcd "time " ; Bcd(h) ; ":" ; Bcd(mn) ; ":" ; Bcd(s)...
Witam Mam dziwny problem z działaniem zegara PCF 8583 na magistrali I2C. Używam procedur do obsługi I2C ze strony: http://cyna.barlinek.biz/index.php?stron... Skleciłem na własne potrzeby procedurkę do odczytywania danych z zegara (poniżej). Problem polega na tym iż pierwsze wywołanie procedury działa ok ale kolejne już nie działa, procedurka I2C_Start...
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)...
Witam. Patrz komentarze które dodałem do Twojego listingu: $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.3 = Input 'pinb.1 jako wejscie Config Pinb.2 = Input 'pinb.2 jako wejscie Config Lcd = 16 * 2 'jaki zostal podlaczony wyswietlacz LCD Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4...
Ja to robilem tak: Dim M As Byte Dim S As Byte Dim Ho As Byte Dim D As Byte Dim We As Byte Dim Mnt As Byte Dim Wm As Byte Dim Y As Byte Dim Yd As Byte Input "dzien" , D Input "dzin tygodnia" , We Input "miesiac " , Mnt Input "rok" , Y Input "godzina" , Ho Input "minuta" , M Input "sekunda"...
Witam. Mam pytanie dotyczące PCF8583. Chodzi mi o odczyt dnia, miesiąca, dnia tygodnia i roku. Wiem, że dzień i rok są pod adresem 5 a miesiąc i dzień tygodnia pod 6. Dostęp do nich ustawiamy bitem w rejestrze kontrolnym. A czy da się jednocześnie odczytywać wszystkie te cztery wartości? Próbowałem odczytywać rok i dzień tygodnia a później ustawiałem...
Sprawa załatwiona, w procedurze odczytu brakoiwało mi ustawienia portu danych w stan wysoki, przez co procek siłą rzeczy musiał odczytać same zera. moglbys sie podzielic swoja poprawiona procedurka odczytu ? bo wlasnie przezywam podobny problem.
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ą.
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.
Akurat z C dla mikrokontrolerów to jestem cienias ale widzę, że w main.c jest zdefiniowana funkcja ustawiania zegarka a Ty jej nie wywołujesz. 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). Jeśli chcesz sprawdzić, czy mam rację...
nie szukaj błedu w procedurze odczytu, to sam układ zegarka szwankuje. pierwsza rzecz jaką wykonaj to podłącz zasilanie do 8583 przez diode krzemową, i dodaj kondensator tantalowy 10mikro. ostatecznie może być elektrolityczny. jeżeli to nie pomoże (u mnie zawsze wystarczyło) to wymien rezonator kwarcowy przy układzie zegarka. częstotliwość mikrokontrolera...
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.
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)...
O kurcze rzeczywiście.Nie przyglądałem się tej bibliotece.Więc tak: Zamiast definicji "i2cwbyte" ---> Zmienne Byte_offset, Error, minuty i godziny DIM Byte_offset as byte(czyli jako bajt) dim error as byte.Dobrze myślę? EHHHh.Mimo tego że mam zdefiniowane te zmienne jako byte, mam błędy na offset i error. [syntax=basic4gl]If S6 = 0 Then Sub Displayalarm()...
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
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)...
Witam. Czy można podłączyć 3 M16 do jednego PCF8583? Chodzi o to by 3 zegary w różnych częściach domu działały jednakowo. Miały odczyt z jednego zegara PCF. Myślałem o połączeniu równoległym linii SDA i SCL, czy to ma szansę działać?
W dataszitach do AVRów ze sprzętowym TWI są przykłady podstawowych operacji (zapis, odczyt) w asemblerze .
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:...
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...
Żeby zrobić menu - potrzebujesz dodać kolejne funkcje obsługi odczytu i wyświetlania temperatury. Obsługę wyświetlania i poruszania się po menu itd. Ponadto istniejącą procedure obsługi PCF musisz rozszerzyć o procedury odczytu i zapisu daty oraz obsługę budzika. Kolejna sprawa to wprowadzenie przerwań. Tzn. Ustawiasz w PCF odpoowiednią datę budzika...
Udało mi się uruchomić i pobrać sekundy z PCF8583P! Wasze porady były bardzo pomocne, problemem był zły adres i brak ustawienia częstotliwości TWI. Udało się odczytać sekundy, ale nie udało mi się odczytać minut, nie wiem czemu. Tak odczytuję sekundy: [syntax=c]unsigned char PCF8583_read_unity_of_seconds() //jedności sekund { unsigned char czasPCF8583;...
W dokumentacji 24c02 jest podany adres 160-zapis, 161-odczyt z bloku pierwszego, 162-zapis do bloku drugiego a 163-odczyt z bloku drugiego.... wiec jak mozna zapisywac do drugiego bloku jak pcf8583 ma adres 162 ????moze mi to ktos wyjasnic....
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...
Wykonuję Kolejno czynności: -Inicjuję I2C (I2C_Init) - Wysyłam START transmisji i adres układu z 1 na końcu czyli zapis (I2C_SendStartAndSelect) - Wysyłam adres rejestru do odczytu (I2C_SendByte) - Wysyłam START transmisji i adres układu z 0 na końcu czyli odczyt (I2C_SendStartAndSelect) - Odczytuję dane z rejestru I2C_ReceivData_NACK(); Zapis to 0...
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...
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 Na szynie I2C podłączoną mam kość PCF8583 oraz pamięć 24C64. Wykonuję zapis do pamięci a następnie odczyt. Jednak podczas zapisu następuje przekłamanie danych. Np zapisuję wartość 35 do pamięci a w rzeczywistości zapisana zostaje wartość 32 lub 33. Gdy odłączę od szyny I2C PCF8583 problem znika. W czym więc leży problem? Bardzo proszę o jakieś...
Kompiluje się, ale znalazłem już rozwiązanie na stronie autora biblioteki której używam ,jednak temat pozostawiam otwarty(jeszcze odczyt daty który jest dosyć dziwny :D) Pozdrawiam Gbr3
Witam,jest tego sporo na forum,poszukaj też na inne procki ,ja niedawno miałem podobny problem masz tu kawałek prostego kodu: Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7 = P1.7 , E = P1.3 , Rs = P1.2 Config Lcd = 16 * 1a Cursor Off Cls Declare Sub Read_time() Dim S As Byte , M As Byte, H As Byte Config Sda = P3.5 Config Scl = P3.7...
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.
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.
Posiadam Help'a po polsku a notę katalogową po angielsku tylko nie rozumiem jak ma być odczyt godz z tego pcf'a jak wyświetlić informacje przesłane za pomocą I2C.
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?
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ę...
Mam zamiar dolaczyc ten uklad do 89c51 no i mam kilka pytan :) Nie jestem pewien (bo z angielskiej noty katalogowej malo zrozumialem)ale do poprawnej pracy uklad potrzebuje zasilania 1,5v tak? I jeszcze problemem dla mnie jest jak wprowadzic czas,date do ukladu? Posiadam tylko programator, nic wiecej. Program pisze pod bascomem (dokladniej to nie pisze...
no ale teraz problem u Ciebie jest taki że Twoja pamięć już jest prawdopodobnie uszkodzona. Jej żywotność gwarantowana to 100 000 cykli zapisu. Szacuje że Twój program główny to jakieś 1000 cykli (zawyżam wartość) uC. Jeżeli taktujesz uC z 8MHz, to zabijesz pamięć po 12,5s. Takie rzeczy jak potrzebujesz robi się na pamięci RAM z podtrzymaniem bateryjnym...
Dziwne że rok działa (chyba, żę B ma wymiar 8 bitów) Kod C - Dziwne to jest tu podejście Autora do odczytu roku. Przecież w PCF8583 wartość roku odczytywana z tego rejestru mieści się w zakresie 0-3. Jest to informacja o tym który aktualnie mamy rok od ostatniego roku przestępnego. Dlatego w przytoczonych przeze mnie materiałach wartość roku trzymana...
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...
Powtórna inicjalizacja (sygnał START) wymagany jest tylko w momencie w którym Master zapisuje do układu adres rejestru z którego następnie chce odczytać wartość (FIG. 17 z dokumentacji). W przykładzie z pierwszego postu powtórna inicjalizacja podyktowana była "cechą" układów na I2C - automatyczna inkrementacja licznika rejestru. Jeśli wpisujesz wartość...
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;...
pcf8583 odczyt pcf8583 odczyt czasu pcf8583 asembler
katalog kodów silnik pralka predom nawigacja widzieć satelit
zabezpieszczenie piwnicy instrukcja serwisowa gramofon daniel
Gdzie kupić żarnik do nagrzewnicy Master? Błędy 10B56 i 10B57 w Mercedes Actros MP4 - przyczyny i diagnostyka