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ł
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?
Moderatorzy:Jacek Bogusz, robertw, k.pawliczak, Moderatorzy
-
- -
- Posty:35
- Rejestracja:20 mar 2004, o 14:16
- Lokalizacja:Lublin
- Kontaktowanie:
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
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
pamietaj by ustawic mask flag adres 00 bit 3 na 0 bo innaczej przy odczycie bedziesz mial zero
Ps. tu masz linka http://www.semiconductors.philips.com/a ... _clock.pdf
Ps. tu masz linka http://www.semiconductors.philips.com/a ... _clock.pdf
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
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
Kto jest online
Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 53 gości