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...
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...
.... 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...
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...
Witam Mam prośbę: poszukuję prostego programiku do odczytywania i ustawiania zegara (godziny, minuty, sek) na układzie PCF 8583, który pracuje na I2C i jest podłączony pod linie SDA i SDL Atmegi32. Chodzi głownie o przetestowanie układu. Język BASCOM. Z góry dziękuje za pomoc :) Pozdrawiam Wojtek
Witam Próbuje uruchomić pamięć EEprom PCF8582C-2 w Bascom ale bez skutku nie mam w ogóle komunikacji z atmega.PCF8582 mam podłączony do płytki testowej. Piny A0,A1,A2 i PTC dałem do masy SDA i SCL z rezystorami podciągającymi do +5V (próbowałem 1K i 10K bez skutku) Zasilanie 5V Mam taki skaner I2c ale nie chce mi znaleźć adresu tego PCF-a gdzie np PCF8583...
Koledzy chyba rozwiązałem swój problem..... Więc postanowiłem podłączyć pod ATmega układ PCF8583 i jedno z jedo wyprowadzeń podłącze pod przerwanie Int0 które będzie występowało co 1s niezależnie od taktowania uC i napisanego programu. Co Wy na to, czy to dobre moje rozumowanie????
Tak, są podciągnięte. Problem się robi po dodaniu tej jednej linijki. Wydaje mi się że to będzie problem ze zmiennymi. Dodano po 10 Wystarczy że np. usunę całe menu ustawiania zegara i wtedy adc wyświetla - ale przecież jakoś ten zegar muszę ustawiać. Podobnie ma się sytuacja jak zostawię ustawianie zegara a usunę linijki odpowiadające za wpis do pamięci...
jeden kondensator mniejszy i równolegle z nim trymer a drugi pozostaje bez zmian zmiana położenia trymera spowosuje lekką zmianę częstotliwości kwarcu i taktowania procesora. licznik w procesorze będzie pobierał impulsy właśnie z oscylatora kwarcowego mówimy o atmega... a może liczniki liczyły Ci źle bo korzystasz z wewnętrznego oscylatora RC, który...
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 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)...
Taki zabieg opłaciłby się gdybyś miał w urządzeniu jeszcze jakiś układ na I2C na 5V. W innym wypadku lepiej zmienić zegar bo nawet szkoda miejsca. Jeśli ma być tanio to ten stary PCF8583 do którego kod znajdziesz wszędzie, okazuje się, że działa już od 2,5V :D Inny popularny na 3V3 to DS3231. No chyba że masz czas i miejsce :D
Dzień dobry. Uczę się C na AVR. Często zwolennicy przesiadania się z Bascom na C twierdzą, że w tym drugim przypadku można generować krótsze kody. Bascom - Atmega 32. Testowy program pobiera z układu PCF8583 godzinę, minutę i sekundę i wyświetla to na wyświetlaczu LCD. Po skompilowaniu wsad do programatora ma około 900 bajtów. Atmel Studio 6. Optymalizacja...
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...
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 ..........
Witam. Próbuje poznać język Bascom AVR mam kilka książek min. pana M. Wiązania, jak do tej pory chyba trochę złapałem ale nie mogę zrozumieć jak jak zapisujemy w programie czas (mając na płytce np.PCF8583) jakich komend użyć aby ustawić np.alarm (PCF8583 daje taką możliwość) na powiedzmy godzinę 6 00. Wielkie dzięki za pomoc
Witam wszystkich! Chciałbym prosic kogoś, kto ma to już za sobą, żeby w prosty sposób wytłumaczył mi jak zrealizowac zapis i odczyt godziny i daty w PCF8583, attiny2313. Programuję w Bascom Avr. Z układem PCF8574AP nie było kłopotu z komunikacją. P.S. - nie pisac tekstów typu " popatrz se w google " albo " przeczytaj w nocie katalogowej ". Potrzebny...
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, ja właśnie dokładnie taką samą konfigurację 2 procków czyli łączyłem Atmega8 oraz Atmega16 po tym właśnie i2cslave w Bascomie i mogę się coś niecoś na ten temat wypowiedzieć.... ... otóż biblioteka ta I2cslave dla softwarowego rozwiązania układu SLAVE w I2C rzeczywiście działa dobrze tak jak jest opisana ale... jest właśnie jedno i to dosyć spore...
Nie znam się na bascomie, ale widze, że wartości odczytane z zegarka są przypisywane do zmiennych, które są argumentami funkcji. Jeśli argumenty przekazywane są przez wartość, to wtedy dane z zegarka zostaną wpisane do lokalnych kopii tych zmiennych, przy kończeniu funkcji zostaną utracone. Jak wygląda przekazywanie zmiennych przez referencję? Jest...
Witam! Które się z nich opłaca cenowo jaki i również wyposażeniem. Oto kilka z nich : 1. tylko , że to nie jest Arduino tylko jakieś "Funduino" http://obrazki.elektroda.pl/4484036500_1... MEGA STARTER KIT + UNO R3 Bogaty zestaw startowy dla Arduino + Uno R3 Parametry Funduino UNO R3 - mikroprocesor ATmega328 + Atmega16u2, 100% zgodności...
Witam Chciałem zapytać, czy możliwa jest zmiana nazwy pliku w którym zapisują się wyniki - np co dziennie inna nazwa pliku ( np. powiązana z datą ) ? Używam PCF8583 i w sumie mógłbym brać informacje z zmiennych dnia i miesiąca lub dokonywać zmiany o 23:59:59. Używam standardowego kodu do zapisu: Sub Write_to_sd() Local Errorcode As Byte ''()...
zmieniłem tak i chodzi ładnie i zmieniłem na atmega 8 bo się nie mieściło $regfile = "m8def.dat" $crystal = 100000 '---------------------------------------... 'konfiguracja Config Lcd = 16 * 2 'LCD Config Sda = Portd.0 'konfiguracja sprzŕtowa I2C Config Scl = Portd.1 'i2c Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5...
Zapewne tak. Zapomniałem ze to BASCOM.
NIE wolno robić czegoś takiego żeby zmienna co chwile była zapisywana do EEPROM-u dlatego że on ma określoną ilość zapisów minimum 100.000 / + . Ja bym si polecił jakiś SRam na i2C albo SPI z podtrzymaniem bateryjnym może być nawet zegar RTC PCF8583 . Co do karty i komunikacji z PC tu [url=http://www.dharmanitech.com/2009/01...
Witam. Przedstawiam w załączniku kodu w Bascomie obsługujący zegar na ATmega 16/32, PCF 8583, DS18B20 i MAX7219 (osiem cyfr) obsługiwany wyświetlacz po SPI. Zegar, budzik, temperatura, data, utawienie jasności. Może komuś przydadzą procedury bascomowe we własnych opracowaniach. Pracuję nad ustawianiem za pomocą pilota. Jak przetestuję - dokleję do postu....
Tak na szybko mam takie rozwiązanie: Dim Go_s As String * 2 , Mi_s As String * 2 , Se_s As String * 2 Go_s = Str(godzina) Mi_s = Str(minuta) Se_s = Str(sekunda) Lcd Format(go_s , "00") ; ":" ; Format(mi_s , "00") ; ":" ; Format(se_s , "00") Wartości...
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
Zrób to tak: [syntax=BASCOM]Dim Year As Eram Word [...] Year = 2016 [/syntax]
http://obrazki.elektroda.pl/4776361100_1... Witam wszystkich, jest to mój pierwszy projekt opisywany na tym forum. Przedstawiam projekt mojego autorstwa, zegar z termometrem wyświetlający aktualną datę, godzinę oraz temperaturę z 3 czujników. Założeniem projektu było zbudowanie zegara wyświetlającego godzinę oraz temperaturę wewnątrz...
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...
Dodaj przed pętlą Do...Loop komendę: I2cinit oraz podwieś linie SDA i SCL do Vcc poprzez rezystory 4.7 k. Jeszcze jedna sprawa, jeśli masz najnowszą wersję Bascom'a to powodem błędnej komunikacji jest biblioteka I2c. Należy tą bibliotekę zastąpić plikiem ze starszej wersji Bascom'a. Pozdrawiam...
Podstawowa sprawa - w drugiej linijce kodu masz napisane, że $crystal = 8000000 podczas gdy na schemacie nie masz podłaczonego żadnego kwarca. Jeśli używasz wewnętrznego oscylatora (i oczywiście masz tak ustawione FuseBit'y), to ATmega pracuje na 1MHz i taką wartość powinieneś ustawić w programie, bo nic nie będzie działać, albo będzie, ale "dziwnie"...
Podkleję się do tego tematu bo nie ma sensu zakładać kolejnego. Tworze właśnie zegar na atmega i tym PCF'ie i napotkałem na problem. Mianowicie sekundy nie zliczają się kolejno od 1 do 60 tylko wartości przeskakują liczy od 1 do 9 i np. z 9 na 16, z 25 na 32 itp a przy tym PCF zlicza sekundy powyżej 59. Pytanie co może być tego powodem? Czy może to...
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 Wszystkich Jestem początkujący jeśli chodzi o pisanie programów pod avr. Uczę się Bascoma. Mam płytkę testową własnej produkcji. Postanowiłem zgłębić zasadę działania I2C, a dokładnie to spróbować zrobić zegarek na atmega 8 i PCF8583. Niestety nic nie wyświetla się na lcd. Ładowałem też gotowe wsady znalezione na necie i też nic. Komunikacja procka...
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...
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, 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...
Zobacz na DataSheet atmegi. Atmega ma sprzętowe wspieranie SCL i SDA. Proponuje Ci się zaopatrzyć w książkę "Programowanie mikrokontrolerów w języku bascom." W niej jest wszystko wyjaśnione.
Zrobiłem tak jak napisał kolega M.S,troche wstawiania miałem ale działo ok,teraz mam nastepny problem doszedłem do wniosku,że wyswietlacz nie musi byc podswietlany cały czas podczas pracy urządzenia bo po co ma sie swiecic kiedy na niego nie patrze i chce zrobić coś takiego aby sie zapalał kiedy nacisne jeden z 4 przycisków i gasł gdy nie nacisne żadnego...
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...
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....
... lecz nie moge wyslac danych(godziny,daty itp) do pamieci pcfa. Skoro procedura zapisu do PCF-a nie jest wykonywana, to nic dziwnego :idea: czekam na sugestie. Nie nazywaj etykiet, podobnie brzmiącymi nazwami (Settime,Senttime).
Witam Robiłem kiedyś sterownik do bojlera jednak kodu pewnie nie znajdę. Jednak jeśli chcesz robić coś takiego to chętnie pomogę "zdalnie". Wykonanie takiego układu i oprogramowanie go nie jest zadaniem, które przekracza Twoje możliwości. Uważam, że zamiast kopiować wypociny innych możesz sam pokobinować. Co do projektu. Skoro chcesz używać ATMEGA16/32...
Witam, Chciałbym zrobić sobie zegarek i nie wiem jaka metoda będzie dokładniejsza: 1. wykorzystując RTC atmegi z kwarcem 32,768kHz (Atmega na 8MHz z RC) 2. zewn kwarc 16 MHz i zrobić to na timerze np 2 Czy też inne wyjścia jak DS1307, PCF8583. Chodzi mi o dokładność Do układy będą też dopinane m.in. DS18B20 (2x) Pozdrawiam.
Witam. Dokładnie tak, jak mówi kolega Prodig. Ponieważ nigdy nie używałem Powerdown, więc postanowiłem sprawdzić to wybudzanie. W pętli Do ... Loop było Powerdown i mruganie Ledem, aby sprawdzić, czy układ żyje, a przerwania na Int0 było podawane co 1 sek przez PCF8583. Jeśli w programie (Attiny2313) było: Config Int0 = Rising to program umierał, a...
Procka wybudza przerwanie z PCF8583 czyli zegarka. Oczywiście zegarek ma własną baterię. Jaki otrzymałem prąd to ciężko powiedzieć, gdyż mam procek w układzie z kilkoma rzeczami i wszystko lutowane SMD więc ciężko powiedzieć ile ciągnie sam procek. Ogólnie wyszło mi 10,9mA. W układzie jest rzeczony PCF, jest pamięć EEPROM I2C, wyświetlacz 44780 i 24...
No to ja radzę przerobić program tak żeby również załączał :D Tylko taką radę mogę dać na podstawie danych które podałeś.
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ć...
Na schemacie znalazłem błąd. Linia A0 układu PCF8583 powinna być połączona z plusem, a nie masą. Inaczej układy I2C będą się nawzajem zakłócać, ponieważ pamięć EEPROM i układ RTC będą miały ten sam adres bazowy.
Witam serdecznie! Mam wielki problem z bascomem i magistralą i²c. Otóż kiedyś, gdy miałem bascoma 1.11.7.7 magistrala i²c działała bez problemów, teraz mam Bascoma 1.11.9.5 i nie mogę się skomunikować z żadnym układem i²c. Zegar i pamięć eeprom w ogóle nie odpowiadają, testowałem na 2 płytkach (jednej własnej konstrukcji, druga BASCOM...
poszukaj na forum znajdziesz listing bez problemu. co do podlaczenia lini SDA(pin5)SCL(pin6) pcf8583 to podlaczasz do dowolnych wolnych lini procesora a w programie deklarujesz to polaczenie za pomoca polecenia : Config Scl = numerpinu Config Sda = numerpinu
Light-I i tu sie myliłeś :) problem rozwiązałem: błąd leżał po stronie zasilania układu, ok 4,3V na caly moduł okazało się za mało, zbyt dużo innych układów w projekcie --- za duże obciążenie zasilacza i procek troche się pokręcił. Problem uważam za rozwiązany.
cały układ mam "prototypowo" na "uniwersalnej płytce" i dałem tam na każdą "linie zasilającą" po 4-ry kondensatory ceramiczne 100n(w sumie 12 sztuk) + po 3-rzy elektrolity 1000u(w sumie 9 sztuk). Jest też 1 monolit 470n przy wejściu zasilania z programatorka. Nie rysowałem tego ponieważ to należy do "układu zasilania" , a miałem podać tylko schemat...
atmega pcf8583 pcf8583 atmega bascom pcf8583
kineskop wyprowadzenia zegary indiglo optoizolacja wejścia
skoda felicia silnik przerywa jakie gniazdo prądotwórczego
Understanding BK AddClockEvent Command in Electronics Bosch GC2300iW 15P – jak rozpoznać taktowanie kotła po temperaturze zasilania?