Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

PCF8583 - czy jest możliwość odczytania dni tygodnia?

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:
PCF8583 - czy jest możliwość odczytania dni tygodnia?

Postautor: almatea » 5 sie 2004, o 20:58

Procedury zapisujące i odczytujące z PCF8583 godziny, minuty, dni i miesiące. Czy jest możliwość zapisania i odczytywania dni tygodnia?

Sub Zapisz_date
Dni = Makebcd(dni) 'konwersja danych do postaci
Miesiace = Makebcd(miesiace) 'zrozumialej dla rtc
I2cstart 'start i2c
I2cwbyte &HA0 'adres rtc
I2cwbyte 0 'ustawienia
I2cwbyte 8 'ramki danych
I2cstop 'stop
I2cstart 'start i2c
I2cwbyte &HA0 'adres rtc
I2cwbyte 5 'od rejestru dni
I2cwbyte Dni 'zapis dni
I2cwbyte Miesiace 'zapis miesięcy
I2cstop 'koniec transmisji
End Sub


Sub Odczytaj
I2cstart 'inicjalizacja i2c
I2cwbyte &HA0 'adres rtc
I2cwbyte 2 'od rejestru sekund
I2cstart 'ponowny start i2c
I2cwbyte &HA1 'adres do odczytu z rtc
I2crbyte Sekundy , Ack 'odczyt sekund z potwierdzeniem
I2crbyte Minuty , Ack 'odczyt minut z potwierdzeniem
I2crbyte Godziny , Ack 'odczyt godzin z potwierdzeniem
I2crbyte Dni , Ack 'odczyt roku z potwierdzeniem
I2crbyte Miesiace , Nack 'odczyt daty bez potwierdzenia
I2cstop 'koniec transmisji
Sekundy = Makedec(sekundy) 'konwersja liczb bcd
Minuty = Makedec(minuty) 'na postać dziesiętną
Godziny = Makedec(godziny) 'potrzebną dla prawdidlowego
Dni = Makedec(dni) 'wyświetlania na lcd
Miesiace = Makedec(miesiace)
End Sub

Pozdrawiam Wszystkich

Rafał

Awatar użytkownika
Press
-
-
Posty:389
Rejestracja:10 mar 2004, o 16:21
Lokalizacja:Wrocław
Kontaktowanie:

Postautor: Press » 5 sie 2004, o 22:52

Tak, o ile dobrze pamiętam, to informacja o dniu tygodnia jest reprezentowana w postaci liczb 0 - 6 i zawarta w trzech najstarszych bitach bajtu pod adresem 06.

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 6 sie 2004, o 10:45

Próbowałem na różen sposoby i wciąż bez efektu.

Pozdrawiam

wojwo
-
-
Posty:15
Rejestracja:25 sie 2003, o 15:59

Postautor: wojwo » 6 sie 2004, o 11:49

z dokumentacji wyraźnie wynika, że można odczytać dzień tygodnia ale w praktyce tego nie sprawdzałem

pozdrawiam Wojtek

rejestr007
-
-
Posty:35
Rejestracja:20 mar 2004, o 14:16
Lokalizacja:Lublin
Kontaktowanie:

Postautor: rejestr007 » 6 sie 2004, o 17:52

Witam!
Daje się bez większych problemów. Trzeba tylko zamaskować liczbę miesięcy i przesunąć w prawo o pięć bitów i już mamy liczbę oznaczającą dzień tygodnia. Jak to zrobiłem w "C" można zobaczyć na mojej stronie (kliknij ikonkę WWW) w projekcie "Zegar z dziesięcioma timerami". Podobnie zrobi się to w Bascomie.
Pozdrawiam :)

Awatar użytkownika
ACeK
-
-
Posty:1522
Rejestracja:30 mar 2003, o 19:35
Lokalizacja:Kielce

Postautor: ACeK » 6 sie 2004, o 20:28

:) pamietaj by ustawic mask flag adres 00 bit 3 na 0 bo innaczej przy odczycie bedziesz mial zero :wink:
:D
Ps. tu masz linka http://www.semiconductors.philips.com/a ... _clock.pdf :P

Awatar użytkownika
almatea
-
-
Posty:240
Rejestracja:12 gru 2003, o 17:02
Lokalizacja:Brzeszcze
Kontaktowanie:

Postautor: almatea » 7 sie 2004, o 11:54

Tak, też przeglądałem wcześniej te PDFki, ale niestety ni udało mi się zrealizowac tego programowo. Czy ma ktoś może gotową procedurę w Bascomie?

McKEE
-
-
Posty:186
Rejestracja:7 cze 2004, o 10:02
Lokalizacja:Gniewkowo_Toruń

Postautor: McKEE » 1 wrz 2004, o 06:54

A program clock.bas z katalogu Samples z Bascoma nie dziala?
Mozesz zobaczyc DS1307.bas jako przyklad lub odwiedz
http://www.fernando-heitor.de/pic/proje ... /index.htm
sa tam przyklady w C ktore ewentualnie mozna teleportowac do
Bascoma szczegolnie plik pcf8583.h

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 41 gości