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 -...
Biblioteka I2C_TWI.LIB to biblioteka kompilatora zawierająca kod dla podstawowych instrukcji skojarzonych z obsługą magistrali I2C, wprowadzająca możliwość używania w tym celu zasobów sprzętowych niektórych mikrokontrolerów z rodziny AVR. Domyślnie BASCOM używa procedur programowych gdy w programie znajdują się instrukcje dotyczące magistrali I2C....
Trochę późno piszę tego posta, ale przyda się dla potomnych :) . Układ był budowany na płytce testowej i prototypowej, w długich przewodach(10cm) powstawały zakłócenia, które powodowały spóźnianie się zegara PCF8583. Pozdrawiam
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ł...
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. mam problem z komunikacja z ukladem pcf8574 (ekspander 8-bitowy). ucze sie programowania z ksiazki pt.: "programowanie mikrokontrolerów w jezyku Bascom" Marcina Wiązani. znajduje sie tam program, ktory umozliwia komunikacja z tym ukladem, poprzez wlaczenie odpowiedniego przycisku zapala odpowiednią diodę... o to listing programu: $regfile = "m8def.dat"...
Witam zakupiłem gotowy zestaw z allegro z zegarkiem pcf8583 i mam z nim problem taki że nie mogę się z nim skomunikować . przykładowy kod wiesza się na transmisji i dalej nie idzie. $crystal = 16000000 $regfile "m8def.dat" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3...
Witam Próbuję zaznajomić się z obsługą wejść i wyjść w PCF8574. Na razie wejścia - mam odczyt 255 lub 11111111. Czy możliwy jest odczyt tak, aby dało się "wydzielić" poszczególne wejścia ? Teraz robię to tak, ale może da się prościej i pojedyncze wejścia: $regfile = "m8def.dat" 'definicja procesora $crystal = 4000000 'taktowanie procesora...
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...
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...
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...
Witam! Od kilku dni nie mogę poradzić sobie z takim dziwnym problemem. Zbudowałem system z ATmega8 z podpiętym do niego (poprzez TWI) PCF8583 (generuje przerwanie na INT0 co 1s), do systemu dołączony jest wyświetlacz LCD 2x16 oraz poprzez 1-Wire (portd.0) czujnik DS18B20. System działa poprawnie, nie ma wad sprzętowych, wyświetlacz działa, RTS działa,...
Atmega8 ma sprzetowy TWI (I2C. Sprzetowy TWI ma na sztywno przypisane wyprowadzenia. Jezeli chcesz wykorzystac dowolne piny to musisz zaimplementowac programowy I2C, BASCOM chyba ma taka mozliwosc musisz tylko zdefinowac piny na odpowiednie sygnaly, tylko spowoduje to zwiekszenie rozmiaru kodu, oraz spowolni program. Proponuje Ci wykorzystanie sprzetowego...
Widze ze jest duze zainteresowanie zegarkami binarnymi wiec stworzylem ten post. Chcialem zebyscie wszystkie pytania na temat tych zegarkow kierowali tytaj (moje sa pod koniec posta). Chcialem tez tutaj przedstawic jak odczytywac godzine (i przekonac wszystkich ze odczytywanie godzny nie trwa 5 min tylko jak sie przyzwyczai to trwa to tyle ile odczytywanie...
... 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).
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...
jako zegar czasu rzeczywistego możesz użyć PCF8583 korzysta z i2c (te same linie SDA i SCL które idą do pamięci 24c16) kod do obsługi możesz skopiować z ćwiczenia 6 bascom college [url=http://www.edw.com.pl/pdf/k10/57_06... jest tam również informacja jak zrobić podtrzymanie. Bascom college co prawda nie dotyczy AVR-ów (przygotowany był dla innych...
A racja, racja, przecież impulsy są zliczane w zmiennej 8-bit, czyli przepełnienia powinno następować przy podziale 256Hz przez 256, czyli co 1s, mój błąd w tym rozumowaniu (za późno już dla mnie chyba) Ale nadal, skoro masz kwarc 32768 powinno działać ok. Spróbuj jeszcze jak zachowa się cały Bascomowy Config Clock = Soft. I pokaż schemat - ja kiedyś...
Hejka! Pomogło bo sekundy idą jak trzeba, natomiast reszta się totalnie wysypała i znów układ czasami wariuje jak pisałem na początku. Dziwne i to bardzo i zastanawia mnie fakt czemu z PCF8583 wcześniej nie miałem takich problemów. Będę musiał jednak szybciej przerzucić się na ASM i C bo ten cały BASCOM mimo szczerych chęci autora to wielkie G****....
hej robiw -> próbuję tę twoją procedurę powyżej ale za chiny nie chce mi się ani razu to przerwanie wywołać. Z drugiego procka próbuję do tego wysłać coś poprzez I2C w ten sposób: do I2cstart 'Start I2cwbyte 128 ' adres układu SLAVE I2cwbyte 65 ' dana do przesłania do Slave I2cstop 'Stop wait 1 loop na magistrali mam jeszcze PCF8583 i z niego odczyt...
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...
Witam. Chciałbym sobie wykonać zegar z tego tematu [url=http://www.elektroda.pl/rtvforum/to... ale chciałbym dodać do tego zegar RTC. Myślałem żeby użyć DS1307 lub PCF8583, do obsługi tego drugiego znalazłem taki oto fragment kodu: [syntax=basic4gl]Config Sda = P3.5 'konfiguracja linii SDA magistrali I2C Config Scl = P3.7 'konfiguracja...
W tym układzie zmienne H i M są w kodzie BCD czyli jeśli np. jest 12 to przechowywane jest w postaci 0001 0010. Nie musisz nic robić poza wyłuskaniem połówki bajtu. Makebcd poza tym zamienia właśnie z postaci 0000 1010 (BIN) = 12(DEC) na to co powyżej.
Witam, chciałem zrobić sobie zegarek na układzie RTC PCF8583 i uC Atmega8, po 1,5 tyg przeszukiwanie elektrody i testów różnych programów postanowiłem się poradzić. Na LCD pokazują się liczby trzycyfrowe. Ostatni program który testowałem: [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 12000000 $baud = 19200 $hwstack = 32 $swstack = 10 $framesize...
Witam, podłączyłem do Atmegi8 zegar PCF8583 tak jak na rysunku http://obrazki.elektroda.net/67_12289322... SCL i SDA podłączyłem przez oporniki 1k do +5V użyłem takiego programu: $regfile = "m8def.dat" $crystal = 1000000 Config Pinc.4 = Input Config Pinc.3 = Input Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7...
... Gdy dorzuce go do petli glownej to obawiam sie ze wyswietlacze zaczna migac. To zrób tak, żeby w przerwaniu timera były odświeżane wyświetlacze, a całą resztę umieść w pętli głównej - jak nakazuje zdrowy rozsądek :D Czyli ze niby odwrotnie niz zamiaruje? Nie odswiezac w glownej petli tylko w przerwaniu timera, a czas czytac ciagle w petli...Ciekawy...
Będą takie jakie wskaże Bascom po wybraniu uc :)
Dobrze. Sądzę, że jako programista mam prawo, oficjalnie zaprezentować wersje wsadu MIN do naszego projektu. Oto plik Piurnik_Mini_1.0 Beta. Przyda się on osobą, które będą chciały zbudować wersję najprostsza naszego układziku. Nie trzeba montować układu, RTC (PCF8583) oraz układu termometru DS1820. Plik niżej Ponieważ projekt ma także walory edukacyjne...
... Adresy są dobre (160 i 161) ale problem tkwi w tym, że PCF8583 wysyła dane w postaci BCD... Nie wiem czy tylko mi się tak wydaje ale A0 jest podłączone do VCC zatem adresy mają postać: 101000 1 0/1
(at)Regan_3000 Czy któraś z sugestii powyżej rozwiązała Twój problem? Mam identyczny problem. (Jestem na Atmedze16/8MHz) Pisze w C, zegar działa poprawnie gdyż obsersuję na oscyloskopie transmisję danych (zauważam zmianę dziesiątek sekund/sekund/minut w bcd na linii SDA), zapewne coś siedzi w kodzie. (PCF8583 podpięcie: SCL,SDA -> przez rezystory...
A mógł bym prosić o jakiś przykład :)
Powinien.
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...
Hmm, ale typ układu? Jak to się ma np. do PCF8583 (zegar) i pamięci At24Cxx (eeprom) - adresy bazwoe takie same...
Opis I2C masz na pewno w helpie do bascoma, razem z przykładami (helpa po polsku można znaleźć na google jak i na forum). A ogólnie dziesiątki kodów z tym zegarem w BASCOM jest dostępne na forum po wpisaniu w szukajce +PCF8583 +bascom.
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.
A sprawdziłeś to co napisał Andy74? Komunikacja z PC po RS232. 485 ma takie same parametry komunikacji tylko jest to pętla prądowa i ma większy zasięg. Jak sprawdzisz komunikację z PC to będziesz wiedział że protokół jest dobry. A potem można sprawdzać czy 1km kabla jakiś kretyn szpadlem nie przeciął. I w EP te programy są na ATmega8-a Ty masz ATtiny2313.
Witam, chciałbym przy użyciu Atmega8 i zewnętrznego kwarcu odmierzać i zliczać setne części sekund, sekundę mogę łatwo wyłapać z timera1 według przykładowych obliczeń 4000000MHz / 256 = 15625 65536 - 15625 = 49911 lub 8000000Mhz / 256 = 31250 65536 - 31250 = 34286 Nie mam jednak pomysłu jak rozwiązać odliczanie setnych części sekund, zależy mi żeby...
Witam Panowie, nie róbcie Hubertowi wody z . . . Hubercie - jeżeli zegar ma być dokładny to procek powinien być sterowany kwarcem a nie wewn. generatorem RC. Żadne przerwania tu niczego nie zmienią, choć można ten wymóg obejść używając zegara rtc na szynie i2c (np PCF8583) -ale to komplikacja i sprzętowa i programowa. Pozdrawiam
W C tez mozesz robic wstawki w assemblerze, podobna dyrektywa zreszta, mozesz tez wstawiac cale fragmenty napisane w assemblerze umieszczone w innych plikach. Sa tez dostepne rozne biblioteki, ktore ulatwiaja pisanie, takze przewaga BASCOMa IMHO jest niewielka. Szybko sie tez okaze, ze kod napisany w BASCOMie jest dluzszy i wolniejszy co bedzie cie...
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.
redart -> no właśnie o to mi chodziło pytając poprzedniego kolegę w czym pisał soft. A że sam od niedawna zafascynowałem się Bascomem to też pomyślałem sobie, że nie będąc zmuszonym do własnoręcznego dbania o timingi itp - to wszystko powinno być dobrze - bo te procedury opracowane w Bascomie są już dobrze posprawdzane i uniwersalne ;) .... dlatego...
WItam , otóż borykam się z problemem uruchomienia INT0 ,który ma zliczać impulsy(1 sekunda) z wyjścia INT PCF8583(stan niski), i co powiedzmy 15 impulsów(15s) ma wykonywać się podprogram. Mógłby ktoś pokazać mi jak skonfigurować INT0 w Bascom ? Dziękuje i pozdrawiam :D
Hmm, jak teraz to czytam to przypomina mi się podobna sytuacja z dawnych czasów - ATMega2560 + PCF8583 + Bascom. Też było tak, że na programowym I2C musiały być rezystory (bez nich nie działało), a na sprzętowym TWI jak tylko podpiąłem rezystory to zero komunikacji... Szczerze powiedziawszy potem przesiadłem się na C i problem się nigdy nie powtórzył,...
Dzięki wszystkim za pomoc w tej stacj będzie zegar na PCF8583 nie wiem jaki kwarc dać (taki sam jak do mikrokontrolera?) i co podłączyć do INT. Proszę o odpowiedź Znalazłem rysunek: http://obrazki.elektroda.net/86_12449903...
Czyli błędnie rozumowałem, że mogę wybudzić procka przez Int0, bo jeśli będzie procek w power down, to Int0 nie będzie działać, więc nie zareaguje na pojawienie się tam stanu niskiego. Ale nadal nie wiem jak obudzić procek. W helpie bascoma nie ma na to odpowiedzi. Może to jest tak oczywiste, że nie trzeba tego tłumaczyć... A może dopiąć do procka jakieś...
komenda Getrc5(address , Command) blokuje inne przerwania na czas jej wykonania stąd przestaje ci na chwilkę działać przerwanie zliczające czas a wiec zegar będzie się późnił. Ostatnio robiłem właśnie zegar wiszący wysoko i ustawiany właśnie przez pilota rc5 ale od razu zrobiłem go na pcf8583. Może dasz radę dołożyć go do swojego projektu. wg mnie warto....
dzięki fanasta.... sprawa sie wyjaśnila...prawie..........kwarc byl owszem 32768 Hz . Dolączylem kondensatory najpierw 22 pF i 27 pF..........zero efektu,potem dalem 30pF i nawet zegar nie ruszyl, chyba za duże obciążenie , uziemilem obudowe kwarca i też nic.............i i na końcu wziąlem PCF8583 na I2C i na tym samym kwarcu ruszyl bez problemu.........nie...
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...
Witam Potrzebuję w ATMEGA8 + PCF8583 ustawić w Bascomie trzy przerwy o dowolnie ustawianej "H" i "M".(czas wyłączenia i czas załączenia) Pierwsza wartość ma spowodować włączenie, druga wyłączenie i tak trzy razy na dobę. Problem polega na tym że jak się uda raz wyłączyć to się nie załącza.
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...
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...
Płytka jest ok, bo działa na niej inna atmega8515 i wszystkie jej funkcje działają zupełnie normalnie. Bez timera działa. Zrobiłem obsługę pcf8583 i śmiga normalnie. Na 3 8515 jest to samo...
Witam. Jestem w trakcie kończenia pisania oprogramowania do zegarka z podświetlaniem RGB. Na razie mam takie funkcje: - 3 przyciskowa klawiatura. - Nastawianie daty i czasu i zapis/odczyt w/z PCF8583; - Wyświetlanie temperatury wraz z tendencją spadkową lub wzrostową przy pomocy strzałek; - Regulacja poprzez PWM sprzętowy w Atmedze8 jasnością wyświetlacza;...
atmega8 pcf8583 bascom pcf8583 atmega8 bascom zapis pcf8583 atmega8
miernik naziemny inwertera trafo samsung licznik rowerowy hallotron
moment dokręcania wtryskiwacza iveco daily
Schemat elektroniki wkrętarki IKEA 7,2 V Schemat ładowania i balansera dla wkrętarki 7,2 V