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 -...
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ę...
IF A>0 THEN DECR A
W załączeniu pdf z opisem pcf-a po polsku. Masz tam opisane jakie rejestry należy ustawiać.
Szybko zajrzałem do noty PCF8583 i tam jest napisane, ze kiedy nie używasz funkcji alarmu to stan na pinie INT zmienia się na przeciwny co 500ms. Tak wiec impuls jest na tyle długi ze spokojnie można go traktować jak zwykły przycisk naciskany co sekundę. [syntax=vbnet]$regfile = "m32def.dat" $Crystal=8000000 $hwstack = 64 $swstack=32 $framesize = 128...
Zobacz w pomocy polecenie GOSUB i CALL, bo pomieszałeś te polecenia. Dodano po 11 Do podprogramu możesz skoczyć poleceniem GOSUB i nie deklarujesz go. 'podprogram: Etykieta: 'etykiety kończymy dwukropkiem 'coś zrób Return Procedurę lub funkcję musisz zadeklarować i podać jakie parametry będą przekazywane. Jej treść musisz umieścić używając SUB...
http://www.elektroda.net/download/pafile...
Witam. Co prawda nie korzystałem nigdy akurat z PCF8563 (nie przeszkadzają mi "nierozdzielone dane" ;) ), ale po pobieżnym przejrzeniu jego dokumentacji proponował bym Ci zamaskować nieużywane bity poszczególnych rejestrów po ich odczytaniu. Nie wiem jak dla Ciebie, ale dla mnie znak "x" w dokumentacji na pozycji któregoś bitu oznacza stan nieokreślony,...
Najpierw musisz zająć się multipleksowaniem twoich wyświetlaczy i nauczyć się wyświetlać na nich cyfry. Poszukaj na forum bo było sporo tematów o tym.
Sda i Scl są skonfigurowane w kompilatorze (używam Bascom Avr). Adres się zgadza. A sprawdziłeś czy Twój PCF odpowiada ACK , po wysłaniu jego adresu na magistralę :?: Piotrek
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...
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...
Po mojemu to mogło by być tak. '*********************** Podprogram ustawiania godzin ,minut, dni i miesięcy Sub Menu: Start_menu = 0 Do If Menu_ustaw = 0 Then Waitms 25 If Menu_ustaw = 0 Then Incr Start_menu If Start_menu >= 6 Then Start_menu = 0 End If End If End If Select Case Start_menu Case 0 : Case 1 : Locate 1 , 1 Lcd "Ustaw...
Witam, Napisałem sobie taki programik w Bascomie pod PCF8583 i Atmege32 Wszystko funkcjonuje idealnie - czas, menu, nastawy itd, ale mam mały problem Otóż chciałbym wywoływać alarm o zadanej godzinie - nastawa w menu "Ustaw Alarm" Jeśli wpiszę tam odpowiednią godzinę i minutę to niestety alarm się nie uaktywnia? Dlaczego? Poniżej wklejam listing: [syntax=basic4gl]$regfile...
Czy na początku programu ustawiłeś magistralę I2C: Config Scl = Portx.x Config Sda = Portx.x I2cinit Pisałem obsługę do zegara na tym układzie. Zobacz tutaj: [url=http://mirley.firlej.org/zegar_nixi...
Na procu jest uruchomiony miernik częstotliwości (stacjonarny). Wykorzystane są dwa 16bitowe timery, uruchomiona jest komunikacja po rs232, zegar czasu na PCF8583 z podtrzymywaniem bateryjnym. Nie bardzo wiem jak to wszystko przełożyć na BASCOM AVR. Na początek spróbuj uruchomić przerwania oraz timer0 w trybie normalnego licznika - tak aby liczył z...
No tak, to święta prawda. Do tego Bascom sam z siebie dodaje sporo zbędnych procedur. Najgorszym przykładem jest obsługa LCD - ok 1kb kodu. Ja teraz kończę obsługę I2C Slave bo Bascom oferuje to tylko za dopłatą. Bascom , jest jak ... klucz uniwersalny. Potrafi odkręcić wiele śrubek , ale jest jest duuuuużo większy od np. ósemki oczkowej ;) Tą z kolei...
http://obrazki.elektroda.pl/8074733100_1... Witam, Ostatnio wpadła mi w ręce karta VGA sterowana poprzez złącze szeregowe SPI. A a ponieważ w domu poniewiera się kilka starych monitorów VGA to postanowiłem zbudować zegar wyświetlający czas i datę na monitorze VGA (bez udziału PC) Takiego zegarka na elektrodzie chyba jeszcze nie było....
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...
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...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
Sprawdź w przykładowych programach BASCOM jest i obsługa PCF8583 i kalendarz i zegar.
Witam, napisałem prosty program obsługujący układ rtc PCF8583, wszystko działa niby poprawnie jednak gdy licznik sekund dochodzi do 59 i zwiększają się minuty przez 4 sekundy wyświatlacz LCD pokazuje krzaki w postaci FF i jakiś cyfr, po 4 sekundach odliczanie powraca do zamierzonego wyglądu. Czy jest ktoś w stanie mi pomóc ? Pozdrawiam https://filmy.elektroda.pl/83_1632655619...
Witam Mam pytanie odnosnie symulacji w BASCOM. Czy istnieje mozliwosc symulowania w BASCOM PCF8583 oraz DS18B20 ? Czy o tym czy poprawnie zostal napisany program dowiem sie dopiero po wgraniu w uC ? Dzieki za wszystkie sugestje POCZATKUJACY....
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)...
Zrobiłem to ciut prościej i działa ale...najpierw kod: if godz_od >= godz_PCF then if min_od >= min_PCF then reset Portc.2 'stan aktywny end if end if if godz_do >= godz_PCF then if min_do >= min_PCF then set Portc.2 'stan nieaktywny end if end if i ten program świetnie działa ale na WSTAWIONYCH wartościach. I tu pytanie (pewnie się narażę...
a racja, nie zauważyłem :) sprawdź najpierw czy w ogóle komunikacja i2c działa i czy pcf8583 coś wysyła...
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...
http://obrazki.elektroda.net/32_12761638... Witam serdecznie! Ostatnio tworzyłem m. in. zegarek analogowy w BASCOM'ie, co wymagało zastosowania funkcji trygonometrycznych. Początkowo oprogramowanie rysowało jedynie kreski w miejscu wskazówek, jednak gdy chciałem wykonać prawdziwe wskazówki kod uległ mocnemu zabałaganieniu i oczywiście nie...
Witam, tu masz link z przykładem: http://www.elektroda.net/dla_domu/zegar_... Pozdrawiam ArteXL
CHłopaki i dziewczyna ;-)
Bascom nie obsługuje jeszcze sprzętowego I2C :(
problem rozwiązany zamiast t=makebcd(s) trzeba dać makedec , temat zamykam
powiem ci ze dziwne te twoje programy, nie zebym sie znal na tym jakos specjalnie, ale mnie uczono tak: w przerwanie wchodz na chwilke i jak najszybciej je opuszczaj! wedlug tej zasady wydaje mi sie bardziej racjonalne zrobienie programu tak by petla glowna programu byla uruchamiana co 1sekunde, w petli glownej rob wszystkie przeliczenie razem z pomiarem...
Trzeba kupić licencjonowaną wersje.
Prawie cały kod jest źle napisany. Powinieneś odczytać kod z pilota lub przycisk i wtedy skoczyć do menu. Gdy jesteś w menu program czeka na naciśnięcie kolejnego przycisku lub kodu RC5, w tym czasie licznik powinien liczyć czas w razie gdy nie nacisnął byś żadnego z przycisków, by mógł wrócić do podstawowej funkcji. Gdy wybierzesz przycisk lub kod...
Ja używam wersji 2.0.1 Czy warto robić upgrade?
Zamień na BCD i wówczas zapisuj. Bascom ma gotowe instrukcje w tym celu.
.... W pętli głównej sprawdzam na okrągło bit 0 rejestru 0 układu ( sprawdzam flagę alarmu timera). .... "Additionally, a timer alarm can be programmed by setting the timer alarm enable (bit6 of the alarm control register). When the value of the timer equals a pre-programmed value in the alarm timer register (location0F), the alarm flag is set ( bit1...
OK. Zlikwidowałem skakanie do "gosub", ale nadal nie wiem jak się robi menu. Czy Ktoś z Was potrafi mi wytłumaczyć ...... ................. Jak to wygląda? Mniej, wiecej tak jak zacząłeś. Chodzi o to abyś mógł powrócic do programu z uruchomionej subrutyny stanowiącej twoje menu lub jego częśc . Normalnie, powrót z subrutyny jest dokonany poprzez 'Return'...
Spróbuj tak: Menu: Disable Int0 Disable Int1 Enable Interrupts Cls
No to wychodzi na błąd w sprzęcie. Sprawdź wszystkie połączenia (szczególnie linie SDA i SCL), sprawdź czy nie ma zimnych lutów itp. A i czy przy zegarze PCF8583 ten program do szukania adresu działa poprawnie?
Witam wszystkich, mam pytanie dotyczące obsługi RTC w MCS Bascom 8051. Mianowicie jak z PCF8583 wyciągnąć dzień tygodnia i rok, jak obsługiwać format wyswietlania godziny (12/24 godzinny), słyszałem również, że układ sam moze rozpoznawać rok przestępny. Buduje właśnie układ z PCF8583, bez problemowo procesor odczytuje godziny, minuty i sekundy, oraz...
Przykład zegarka z budzikiem w Bascom
Projekt fajny, choć ubolewam, że napisany w Bascom a nie w C. Ja też ubolewam nad tym bo C w porównaniu do Bascoma jest o wiele szybszy i ma ponadto inne zalety. Bascom jest intuicyjny od niego zaczynałem zabawę z mikrokontrolerami. Teraz uczę się programować w C. Czy wyznaczanie dnia tygodnia opiera się o algorytm wiecznego kalendarza Zellera czy...
Atmega8 napewno ma wbudowaną sprzętową obsługę I2C. Program możesz pisać w jednym z 3 języków. Zależy który najlepiej znasz. Masz do wyboru asembler, C lub Bascom Podtrzymanie PCF8583 robisz w bardzo prościutki sposób za pomocą bateryjki np CR2030 +3V. Dajesz tylko 2 diody. zobacz sobie jak ja zrobiłem podtrzymanie bateryjne dla PCFa: http://obrazki.elektroda.net/3_117001514...
... Problem błahy, ale rozkładam ręce, pewnie zapomniałem o jakiejś oczywistej rzeczy ... Witam Tak, problem jest błahy i wynika ze specyficznego sposobu konfigurowania portów w bascom-ie. O ile instrukcje: Config Pinc.2 = Output Config Portc.2 = Output dają równoważne wyniki (chociaż poprawny zapis w/g helpa to PINx.y dla konfiguracji pojedynczego...
PCF8583 nie ma rejestru roku tak jak PCF8563. Co do dnia tygodnia - muszę poszukać w DS. EDIT: Dzień tygodnia musisz odczytać z rejestru miesiąca (06). Służą do tego bity 7..5 czyli: 1. odczytać rejestr 06 2. zamaskować wartość za pomocą AND &B11100000 3. przesunąć w prawo o 5 (Shift Rejestr_06 , Right, 5)
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ść...
Czy Bascom ma procedury obsługi do DS1338?
zegar pcf8583 bascom pcf8583 zegar bascom pcf8583 bascom wyświetlacz
podłączyć głośnik logitech komputer schemat oświetlenia schodów zdjęcie blokady nokia
wirnik szlifierki celma wirnik szlifierki celma
Podłączenie kolumn 6Ω do amplitunera 8Ω: czy to bezpieczne? Kabel zasilający wyświetlacza nawigacji Citroen C4 Picasso 2009 - opis i diagnostyka