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()...
Co robi funkcja bcd_na_dec? Kod powinieneś wstawiać pomiędzy syntax=csharp a /syntax
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
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...
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...
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...
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"...
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);...
Witam, jak w temacie, czyli źle wyświetlają mi się cyfry na LCD w sensie tak chcą ( 00 -> 01 -> 00 -> 01 -> 00 -> 08). Nie wiem po jakiej stronie leży problem. Pracuje na płytce ewaluacyjnej GOTRONIK z Atmega32A z RTC PCF8583 ( INT-PD2, A0-GND, SDA-PC1, SCL-PC0) Umieszczam kody programu: Main.c [syntax=c]#define F_CPU 16000000L #include...
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. 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...
... 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. Doczego podlaczyc linie A0? Do Vcc czy do masy i czym sie to rozni?
No właśnie chcę żebyś zrozumiał - wiesz jak raz zrozumiesz to potem wszystko będziesz dał radę zrobić sam i chyba satysfakcja też większa ;) Ja też, patrząc na mnie całkiem na zimno, jestem samoukiem ;) Też zaczynałem od różnych pytań - możesz sam sobie poczytać i pośmiać się z moich pierwszych postów na forum. A więc ten rysunek pokazuje poszczególne...
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. Mam problem z ozywieniem tego zegarka RTC. Objawy sa takie, ze po wyslaniu i2c_start jest ok, po wyslaniu bajtu adresu jest brak odwpowiedzi od Save. Przegladnalem podobne temety na forum, ale nic pomocnego nie znalazlem. Na nozce siodmej jest sygnal 1Hz, wiec uklad pracuje. moj program: Read_Time: LCALL I2C_Start LCALL i2c_Czekaj JC NoACK1 ;...
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...
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
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ć?
Witam, Buduję kolejny mały układzik testowy, w którym natknąłem się na problem zapisu liczby typu integer do pamięci flash. Wymyśliłem sobie taką metodę która niestety nie do końca chce działać: Const Memw = 160 Const Memr = 161 Dim Bl As Byte Dim Bh As Byte Dim Ilosc As Integer ... 'Zapis liczby pod wskazany adres: Bl = Low(ilosc) Bh =...
Witam, Napisalem programik do centralki alarmowej w Codevision C AVR na ATMega128. Na plytce centralki jest zegar RTC PCF8583. Jednym z zadan programu jest wysylanie aktualnego czasu pobranego z zegara poprzez Uart do szyfratora z LCD. Problem polega na tym, ze wbudowane w biblioteki procedury pobieraja czas z RTC i konwertuja go bcd2bin. Chcialbym...
Witam. Próbuję nawiązać łączność z zegarkiem pcf8583 poprzez interfejs I2C,ale interfejs nie generuje nawet znacznika przerwania TWINT po wyslaniu bitu startu.Poniżej zamieszczam kod, który to realizuje (tak myśle:). #include <avr/signal.h> #include <avr/interrupt.h> #include <avr/io.h> #include <stdlib.h> #include "lcd.c"...
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ę...
Witam, mam problem jak w temacie. Zbudowałem urządzenie, w którym wykorzystuje RTC PCF8583P. Z elektroniką jest wszystko OK bo ogólnie zegarek "tyka". Natomiast mam coś nie tak z programem. Wygląda to następująco: Za pierwszym razem gdy odczytuje czas (tzn godziny i minuty) wszystko jest tak jak być powinno. Program działa w pętli i w związku z tym...
Hej! Potrzebuje procedury na zapis, odczyt i kasowanie pamieci EEPROM PCF 8582, mecze sie i mecze i nie moge nic sensownego wymyslic, czy ktos moze mi pomoc?? Proszeeeee
mam programik obsługujący klawiaturę zbudowaną w oparciu o układ pcf 8574.Mam potrzebę zrealizowania odczytu z klawiatury trzech zmiennych potwierdzanych jednym klawiszem z możliwością cofnięcia wpisanej cyfry lub cyfr też innym klawiszem i połączenia tych cyfr np. temp=a1 ,temp=a2, temp=a3 liczba=a1a2a3= np123 albo789 w jedną zmienną Chciałbym się...
mam problem z zegarem na pcf 85853P. jest od podłączony do 89s52. na wyświetlaczu zamiast czasu pokazuje tylko FF. program jest ok, dla testow wgralem znaleziony w sieci, piny w programie pozmieniane pod moj ulkad. Ten pcf podczas normalnej pracy wysyła chyba jakiś sygnał z pinu 7, ale gdy mierze go woltomierzem, to nic nie wykazuje, zmieniałem juz...
Witam. Co jest zle w tym kodzie? Na wyświetlaczu za miast czasu wyświetla mi się wartość 165:165:165 Kod: $crystal = 16000000 $regfile = "m8def.dat" 'deklaracja zmiennej określającej godziny Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Sda = Portd.7...
Witam, poniżej zamieszczam kod z Bascoma mojego sterownika BMS, w tej chwili kontroluje temperaturę, czas, Rs232, LCD 2x16. Obsługa z klawiatury lub pilota RC5, w obecnej chwili rozwiajm go o dostęp przez internet. zajmuje ok 8kb pamięci więc w A162 będziesz miał jeszcze drugie tyle pamięci. Ja kożystam z A32 Pozdrawiam. PS. daj znać jak zakończysz...
Witam, tu masz link z przykładem: http://www.elektroda.net/dla_domu/zegar_... Pozdrawiam ArteXL
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...
Sprawa rozwiązana. Wysłali mi z hurtowni PCF8563 zamiast PCF8583. Nie zauważyłem tego. Teraz wymieniłem i jest OK.
http://obrazki.elektroda.pl/1998348900_1... Witam, chciałbym wszystkim przedstawić projekt sterownika matrycowego wyświetlacza LED. Na początek proszę tylko o nie ocenianie wykonania płytki (na płytce uniwersalnej/pająk) bo jestem świadomy jak ona wygląda i jak ją wykonałem. Historia Pomysł projektu narodził się, gdy jakieś pół roku...
problem rozwiązany zamiast t=makebcd(s) trzeba dać makedec , temat zamykam
https://obrazki.elektroda.pl/2040620700_... Przedstawię tu spontaniczny projekt który został zrobiony w jeden dzień - dwukanałowy ściemniacz pasków LED oparty na PIC12F1612, zbudowany przy wykorzystaniu części z elektrośmieci. Oprócz PICa mój ściemniacz będzie korzystał z pamięci EEPROM do zapisu stanów jasności - jest to niezbędne,...
http://obrazki.elektroda.net/67_12744374... Witam! Chciałbym dziś pokazać urządzenie, które powoli i z bólami tworzyłem ostatnimi czasy. Inspiracją do ruszenia z pracami były zbliżające się urodziny narzeczonej, której chciałem podarować coś nietypowego, a jednocześnie praktycznego. A że nie może być chyba nic bardziej praktycznego i przydatnego...
[syntax=c]author: http://avrlab.com // PD7=LCD_D7 PD6=LCD_D6 PD5=LCD_D5 PD4=LCD_D4 // PD3=LCD_E // PD2=LCD_RS //PB0=SDA //PB1=SCL #include <avr/io.h> #define RS 2 #define E 3 #define TIME 10 #define SET_TIME 0 #define SET_UP 1 #define SET_DOWN 2 #define SDA 0 #define SCL 1 #define READ_PCF 0xa1 #define WRITE_PCF 0xa0 unsigned char ack=0; unsigned...
na fuse bitach wyłacz JTAG-a
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ć...
No więc, tak jak obiecałem jakiś czas temu postaram się przybliżyć i wytłumaczyć kwestię programowej obsługi popularnego układu RTC – PCF8583. Układ ten ma zarówno zwolenników jak i przeciwników, a jedni i drudzy mają swoje racje. Są układy prostsze w obsłudze programowej, posiadające wszystkie interesujące nas dane w osobnych rejestrach prostych...
Ale szybkie postępy! Dwa programy obsługi PID są do ściągnięcia z MCS Electronics. PCF8583 może też generować prostokąt 1Hz-co można wykorzystać do "odpytywania" o czas w pętli Do...Loop lub w przerwaniach. PCF8583 ma też kilka? dziesiąt bajtów RAM-które można wykorzystać do nastaw. Zwłaszcza przy zasilaniu z baterii przy wyłączonym zasilaniu układu.
Właśnie, o to chodziło, też zastanawiałem się nad tym, że w tym bajcie, jest też odczyt dnia tygodnia i może to z tym mi kolidować, zmieniłem teraz i zamiast 03/41 mam 03/01, czyli prawidłowo wreszcie. A jeśli chciałbym wykorzystać odczyt dnia tygodnia, by wyświetlać nazwy dni to jak to zrobić, żeby nie kolidowało mi z miesiącem?
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. 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...
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
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, bardzo potrzebuje pomocy, jestem poczatkujacy a udalo juz mi sie zlozyc taki zegar. Moglby ktos mi pomoc w dopisaniu do tego istniejacego kodu zegara, odczyt temperatury na ds18b20? W załączniku mam sam kod temperatury w kawalku (niekompletny), ktory przeslal mi ElektroTME. Nalezaloby to polaczyc badz napisac cos podobnego. Z gory dziekuje za...
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 =...
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...
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:...
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.
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...
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...
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...
Sprawdź dokładnie adresowanie - odczyt i zapis. Problem na pewno leży gdzieś tam.
Witam Napisałem program w Bascomie - i w kilku miejscach mam odwołanie do funkcji gettime. Układ pracuje na Atmega1280. Zegar RTC skonfigurowany prawidłowo: [syntax=basic4gl]Config Sda = Portd.1 Config Scl = Portd.0 I2cinit [/syntax] układ podpięty to I2C prawidłowo(zgodnie z dokumentacją) [syntax=basic4gl]Sub Gettime I2cstart 'inicjalizacja magistrali...
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 ->...
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ć?
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)...
Zegar działa poprawnie. Zarówno odczyt jak i ustawianie. Jak można w Bascom’ie zrobić Menu. Planuje rozbudowę o funkcje temperatury , daty, budzika i chciałbym mieć te funkcje ustawiane z menu. $regfile = "m162def.DAT" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7...
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...
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 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....
odczyt pcf8583 pcf8583 odczyt czasu pcf8583 bascom odczyt
reset kropelka zmywarka naczyń candy regulator obrotów silnika częstotliwoś
skoda felicia silnik przerywa jakie gniazdo prądotwórczego
Epson SX130 - Awaria skanera, jak rozebrać? Samsung QE55Q80C nie włącza się, świeci dioda LED, buczenie