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...
Zmieniłem sposób wpisywania danych na taki: [syntax=c] PCF8583_write(0x00,0b00000100); PCF8583_write(0x07,0b00000000); PCF8583_write(0x08,0b11001010); PCF8583_write(0x0f,0b00000100); [/syntax] Co prawda coś ruszyło bo k zwiększa się po 4 sekundach ale tylko raz. Próbowałem wpisywać inne wartości. Dziwne ale do 9 inkrementowało jednokrotnie, a po wpisaniu...
Piszę obsługę zegara PCF8583. W moim programie występują jakieś błędy, i nie wiem jak je rozwiązać. Proszę o pomoc. Poniżej zamieszczam kod do obsługi I2C (TWI), i zegara PCF8583. W wyniku działania programu dostaję dziwne wyniki na wyświetlaczu. Kod: #define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> #include <stdio.h>...
Dla odbioru danych z tego pcfa potrzebny jest nieco inny algorytm niż przy zapisie. Nigdy nie używałem i2creceive, zamiast tego: (fragment jakiegos programu w bascomie) " I2cstart 'generate start I2cwbyte 160 'write addres of PCF8583 I2cwbyte 2 'select register I2cstart 'generate repeated start I2cwbyte 161 'write address for reading info I2crbyte Timedata(1)...
Proszę bardzo: [syntax=c]#include <TWI.h> #include <head.h> #include <hardware.h> #include <atmel_arm_lib.h> #include "delay.h" static u8_t bcd2bin(u8_t bcd); static u8_t bin2bcd(u8_t bin); //u8_t PCF8583_get_status(void); u8_t PCF8583_get_status(void) { PCF8583_status=PCF8583_read(0); PCF8583_alarm=(PCF8583_status&2); return...
Witaj. Na przykład tak: ............ $regfile = "m8def.dat" $crystal = 8000000 $lib "i2c_twi.lbx" Config Scl = Portc.5 Config Sda = Portc.4 Config Twi = 100000 Const Wrtc = &HA0 ' Slave address RTC PCF8583 in Write Const Rrtc = &HA1 ' Slave address RTC PCF8583 in Read Config Pind.3 = Input 'wejście INT1 - Set Portd.3 'podciągamy...
Witam, Próbuje w ramach nauki zbudować zegarek w oparciu ATMegę168 i PCF8583. Zbudowałem następujący układ: http://obrazki.elektroda.pl/4826984900_1... Napisałem do niego następujący program: [syntax=c] #include <avr/io.h> #include <stdio.h> #include <util/delay.h> #include "HD44780.h" #include "i2c.h" #include "PCF8583.h"...
Nie pomyślałem o tym. No tak przecież da radę. Czy ten przykład jest poprawny? [syntax=basic4gl] I2cstart ' Start sequence for I2CBUS I2cwbyte Wrtc ' point address to write to PCF8583 I2cwbyte 0 ' points to register 0 I2cwbyte 0 ' set control register I2cwbyte 0 ' set hundreds I2cwbyte 0 ' set seconds I2cwbyte &H58 ' set minutes I2cwbyte &H23 ' set...
już uzupełniam : a.d.1 to pozostało po przeróbkach ;) a.d.2 to jest z Rklibavr Autor: Robert Krysztof void PCF8583_init(void) { PCF8583_status=0; PCF8583_alarm=0; PCF8583_write(0,0); PCF8583_write(4,PCF8583_read(4... PCF8583_write(8,0x90); } a.d.3 jako ze jestem początkujący to po prostu robię kopiuj...
Z góry przepraszam, że zakładam trzeci temat w tak krótkim odstępie czasu, niemniej po raz kolejny mam problem którego nie potrafię przeskoczyć, a niestety mała popularność stosowanego kontrolera nie pomaga. Do tej pory problemy z którymi się stykałem były raczej proste do rozwiązania, liczę, że podobnie będzie również w tym przypadku. Moim celem jest...
Jeżeli chcielibyśmy, przy wykorzystaniu struktury zapewnić przede wszystkim czytelność kodu, to aż się prosi o wydzielenie funkcji i zapisanie tego jakoś tak: typedef struct { uint8_thundsecs; uint8_tseconds; uint8_tminutes; uint8_thours; } time_struct; time_struct now; void twi_write_bcd(uint8_t value) { twi_write( (uint8_t)(...
Czy mógłby ktoś pomóc uporządkować programik? Skleciłem zegarek na DCF77 i PCF8583. Z Bascoma jestem słaby, i prosiłbym o jakieś przykłady. Chodzi mi oto, aby DCF77 zapisywał czas do pcf-ki. "To" co skleciłem nie działa. Odczytuje czas z PCF-a, ale nie przestawia się. DCF jest sprawny i dobrze podłączony, bo sprawdziłem na innym programie. Zerknijcie...
void PCF8583::get_time(){... Wire.beginTransmission(address); Wire.write(0xC0); // stop counting, don't mask Wire.endTransmission(); Wire.beginTransmission(address); Wire.write(0x02); Wire.endTransmission(); Wire.requestFrom(address, 5); second = bcd_to_byte(Wire.read())...
Do przykladu taki: Config Portc = Output Config Int0 = Low Level On Int0 Rtc Enable Interrupts Enable Int0 'declare vairables Dim S As Byte Dim M As Byte Dim H As Byte Do Dim Dum As Byte I2cstart 'generate start I2cwbyte &HA0 'write addres of PCF8583 I2cwbyte 2 'select second register I2cstart 'generate repeated start I2cwbyte &HA1 'write address for...
Jak zapiasać do PCF'a rok i również odczytać go? Podaje kod: Declare Sub Settime(s As Byte , M As Byte , H As Byte , D As Byte , Month As Byte) Declare Sub Gettime 'declare vairables Dim S As Byte , M As Byte , H As Byte , D As Byte , Month As Byte Dim Wm As Byte , Yd As Byte Call Settime(0 , 0 , 0 , 29 , 11) 'set time ***************...
Witam wszystkich serdecznie, Chciałbym prosić o pomoc w analizie błędów inicjalizacji i komunikacji z zegarem RTC, który wszyscy znają. Chciałbym przedstawić kod, który nie działa - opisać objawy i spytać o parę rzeczy, które mnie nurtują. A więc do rzeczy. Najpierw Kod: [syntax=c] #define PCF8583_ADDR ((uint16_t)(0x50)) #define I2C_SCL GPIO_Pin_6 #define...
Swego czasu w nocie katalogowej chyba pcf8583 był nawet zapis przy bitach reserved coś w stylu: Reserved for factory tests - do not use, always write as 0
Witam wszystkich poraz kolejny:) Mam pewien problem, mianowicie: Mam RTC DS1337 pracujący z magistralą I2C, mam także PDFa, ale nie mogę odczytać wartości sekund, minut, godzin ani daty. Do odczytu używam kodu: Sub Gettime I2cstart 'generate start I2cwbyte 209 I2cwbyte 2 'select second register I2cstart 'generate repeated start I2cwbyte 208 'write address...
spróbuj jeszcze adres przesunąć o bit w lewo i dodać bit R/W czyli chyba (0xA0<<1)+1 To operacja, której nie wróżę powodzenia, ale sugestia odnośnie adresu jest dobra, bo teraz sprawdziłem adresy w w dokumentacji i jest: "I2C-bus slave address: read A3H; write A2H" Adres 0xA0 to ma PCF8583 - frajerski błąd z przyzwyczajenia po poprzednim RTC,...
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...
Przegladalem jego kody i on tam jak wysyła start i stop i bajt lub odbiera to zawsze ma koncu ustawia w stan niski scl.Tylko jak stop wysyla to tak nie robi Jak by po stopie ustwił niski to zablokowałby magistrale. STOP = koniec transmisji, zwalniam magistrale. Po prostu nie rozumiesz kodu - nie ma stopu czyli transmisja nie jest skonczona, czyli jako...
OK, ale sam program po wyrzuceniu wszystkich dodatków to nadal prawie 500 linii. Więc zamieściłem tylko część inicjującą. Czy coś przeoczyłem? static volatile unsigned char key1=0, key2=0, key3=0, key4=0; static volatile unsigned char odczyt_keys=0; static volatile unsigned char odczyt_time=0; SIGNAL(SIG_INTERRUPT6) { if(!(PINB&0x01))...
Witam nie działa mi zegarek. Co zrobiłem źle lub co mogło się stać. Nic się nie wyświetla na LCD poza jakimuś bzdurami (ale się nie odświeżają - tak jak by się procek zawieszała albo I2C. W załączniku schemat mojego układu a poniżej listing mojego testu który nie odczytuje mi czasu: $regfile = "m16def.dat" $crystal = 8000000 $baud = 19200...
Z EEPROM'u nie skorzystasz (WriteProtekt). Pin 2 i 6 dla MAX232 nie poprawione. R1 nie zmieniony. AVCC i AGND nie podłączone. Uczysz się naszym kosztem ... przepatrz pierwszy lepszy PDF dotyczący układu uruchomieniowego dla AVR i dowiesz się jak podłączyć MAX'a, podłączyć prawidłowo RESET i EEPROM.
Już wiem ! Pamięć 24c16 nie posiada nóg a0...a2 (w nocie aplikacyjnej z rysunku wynika że ma, przynajmniej na pierwszy rzut oka). Posiada ona 8 stron po 256 bajtów , adresujemy je od A0,A2,A4,A6,A8,AA,AC,AE a w następnym poleceniu po dajemy pozycje na stronie, np. mov a,#A0 ;tu podaje strone pamieci call write mov a,poz_eprom ; pozycja na wybranej wczesniej...
Witam Zerknij na mój kod. Procedury napisane są pod AT89S52. ' ten podprogram czyta czas z RTC i wyswietla go na LCD Sub Read_time() I2cstart I2cwbyte 160 I2cwbyte 2 I2cstart I2cwbyte 161 I2crbyte S , Ack I2crbyte M , Ack I2crbyte G , Nack I2cstop Waitms 1 S = Makedec(s) M = Makedec(m) G = Makedec(g) If S = 0 Then Set...
Witam Niestety to nic nie daje. Jak na razie mam trzy sposoby odczytu rejestrów w PCF8563: Dodano po 1 Problem rozwiązałem - maskowanie było w złym miejscu Powinno być: [syntax=basic4gl] I2cstart I2cwbyte 162 I2cwbyte &H02 I2cstart I2cwbyte 163 I2crbyte Sekundy_bcd , Ack 'Odczytuje sekundy I2crbyte Minuty_bcd , Ack 'Odczytuje minuty I2crbyte Godziny_bcd...
pcf8583 nie ma wbudowanego kwarcu spróbować z całkiem nowym zewnętrznym 32kHz? tak przeglądnij również biblioteki (zaraz po tym jak przeczytasz cały datasheet). Nie zagłębiałem się w nie, ale wyglądają znajomo i z tego co pamiętam, niektóre z funkcji musiałem pisać od nowa. Dodano po 10 co do init to pod nim kryje się jakieś write init zapisuje w PCF...
No to podciągnij jeszcze linię Sda i Scl. No to właśnie było zrobione A sprawdziłeś czy Twój PCF odpowiada ACK , po wysłaniu jego adresu na magistralę Napisz dokładniej o co chodzi bo nie jestem dobry w temacie Dodano po 1 Udało się to odpalić. Zegar już odlicza. Tylko jeszcze jest taki problem: co kilkanaście sekund jest przeskok o 6 sekund do przodu....
Używam zegara PCF8583, działa mi jego obsługa itp, natomiast mam problem z jego przerwaniami. Układ jest skonfigurowany by generować przerwanie co 1s, po którym procesor ponownie ustawia odpowiednie flagi w zegarze, bowiem samo przerwanie jest jednokrotne. W celu inicjalizacji przerwań od zegara używam procedury: Sub Init_alarm I2cstart 'generate start...
mianowicie konwersja jest robiona następująco void piszznak(char znak) { write_char(znak); } void nalcd(unsigned char zn1, unsigned char zn2) { piszznak(zn1+0x30); piszznak((zn2&0x0f)+0x30)... } ale sekundy działają normalnie zamiast godzin jest 3? i ??
Mam tak (dodałem komentarze i zgadza się ze schematem w dokumentacji PCF8583): [syntax=c]unsigned char TWI_odczyt(unsigned char scalak, unsigned char adres_rejestru) { unsigned char odczyt; //start TWCR =(1 << TWINT) | (1 << TWSTA) | ( 1 << TWEN ); while(!(TWCR & (1 << TWINT))); //write adres do zapisu TWDR =scalak; TWCR...
Witam Temat był już wałkowany x-razy Co mam dopisać do tego programu żeby mi mierzył temp. ujemne ? Jest to program do zegara z termometrem kit AVT868. Proszę o pomoc pozdrawiam Sjzwojtek $large Declare Sub Settime(s As Byte , M As Byte , H As Byte , D As Byte , Month As Byte) Declare Sub Gettime Declare Sub Displaytime Declare Sub Displaydata...
Witam wszystkich, Otóż napotkałem następujący problem przy obsłudze wspomnianego w temacie zegara PCF8583. Godzina obsługiwana jest prawidłowo (stąd też wnioskuje, że metody konwersji BCD <-> DEC są ok). Najpierw zamieszczę kod, później opiszę problem: Odczyt: [syntax=c] { //-------- odczyt godziny--------------------------------- char a_s[3];...
Witam, problem udało mi się rozwiązać zupełnie przypadkiem. Okazało się, że zmieniam adres komórki do odczytu nie tu gdzie trzeba. Zmieniałem to: Zastanawiam się również dlaczego u siebie używam: [syntax=c]czasPCF8583 = TWI_read(0x02);[/syntax] Dokładnie chodzi mi o to 0x02 - skąd to tam się wzięło? Moje aktualne funkcje, których używam i które działają:...
tak inicjalizuje [syntax=c] /* C5-C4 - PCF SDA & SCL C3-C0 - LCD DATA B0-B3 - LCD I/O D0-D4 - BUTTONS D5 - LIGHT SWITCH OUTPUT D7 - STATUS DIODE */ #define F_CPU 1000000L #include <avr/io.h> #include <util/delay.h> #include "LCD.h" #include "i2c.h" #include "rtc.h" int main(void) { DDRD |= (1<<PD7);//Status DDRD &= ~(1<<PD0);//P0...
Witam No i nadal nie moge zaprogramować tego ATmega16, wyskakuje przy weryfikacji w PonyProg Write Failed, a w BASCOM-ie Difference at........... i tu jakaś komórka, nie zawsze ta sama. Dodam, że w połączeniu na PCB nic nie zmieniałem, dodałem w programie kilka komentarzy i usunąłem niepotrzebne napisy które testowo miały pojawiać się na LCD. Kasować...
jak zwykle to samo. Uklad zegara jest na pcf chce wstawic synchro 2 razy na dobe wiec nie chce przerabiac programu tylko wstawic w niego (w swoj) dane do synchronizacji . Moze nie wszyscy maja tyle wiedzy co koledzy sa tez poczatkujacy prawda?? $regfile = "m8def.dat" $crystal = 1000000 Config Lcdbus = 4 Config Lcd = 20 * 4 Config Lcdpin =...
Witam. Może to coś Ci pomoże - jest to biblioteka do obsługi zegarka PCF8583, ale myślę że uda Ci się ją zaadoptować do obsługi przetwornika. Adres urządzenia zdefiniowany jest na samym początku. SLA_W to adres do zapisu, a SLA_R - adres do odczytu. Tobie najbardziej przydadzą się funkcje Write i Read (dwie pierwsze). Pierwsza zapisuje bajt do pamięci...
Nie da się na to patrzeć :D BASCOM ma wbudowana zoptymalizowaną biblioteke do takich rzeczy. Trzeba jednak wskazac że używamy zegarka zewnętrznego. Stworzone zostana zmienne _sec,_min,_hour,_day,_month itd... Idąc dalej jak tylko powiesz mu wyswietl numer dnia to sam bedzie wiedział że jest Piątek :D Jest do tego Funkcja Dayofweek() Trzeba tylko połaczyc...
Witajcie. Zbudowałem sobie zegarek z atmegi ale mam mały problem TWI_Start(); // start transmission TWI_Write(0xA2); // write addres of M41T00 TWI_Write(0x00); // select first register TWI_Start(); // repeated start TWI_Write(0xA3); // write address for reading data W ten sposób uruchomiłem transmisję po TWI. Kod był miksem kilku innych kodów onalezionych...
Ok. inicjalicjalizacja: I2C1->TRISE = 10; // limit slope I2C1->CCR = 160; // setup speed ok 50kHz I2C1->CR2 = 8; // config I2C1 module- 8MHz I2C1->CR1|=1; // enable periferiall I2C1_control_structure.state=0; funkcja: void I2C_reciveInt(uint8_t address,uint8_t pointer, uint8_t* buff,uint16_t do_odebrania) { I2C1_control_structure.address=address;....
[syntax=c]author: http://avrlab.com // PD7=LCD_D7 PD6=LCD_D6 PD5=LCD_D5 PD4=LCD_D4 // PD3=LCD_E // PD2=LCD_RS //PB0=SDA //PB1=SCL #include <avr/io.h> #define RS 2 #define E 3 #define TIME 10 #define SET_TIME 0 #define SET_UP 1 #define SET_DOWN 2 #define SDA 0 #define SCL 1 #define READ_PCF 0xa1 #define WRITE_PCF 0xa0 unsigned char ack=0; unsigned...
https://obrazki.elektroda.pl/2040620700_... Przedstawię tu spontaniczny projekt który został zrobiony w jeden dzień - dwukanałowy ściemniacz pasków LED oparty na PIC12F1612, zbudowany przy wykorzystaniu części z elektrośmieci. Oprócz PICa mój ściemniacz będzie korzystał z pamięci EEPROM do zapisu stanów jasności - jest to niezbędne,...
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, po raz pierwszy w życiu mam potrzebę użycia zewnętrznej pamięci eeprom (szeregowej) np. typu 24c02. Zakładając sytuację, że mam do 90s2313 podłączony układ pcf8583 i na wyświetlaczu lcd wyświetlam aktualną godzinę i do portu d.6 mam podłączony przycisk zwierający do masy, to w sytuacji gdy zewrę ten przycisk o godzinie 12:30 a nazwałem ten przycisk...
Witam. Jestem w trakcie tworzenie sterownika do akwarium. Problem w którym się znalazłem trochę utrudnia mi dalszą prace. Problem polega na tym. W układzie zamontowany jest zegar czasu Rzeczywistego PCF8583. Zegar nastawiam za pomocą dwóch przycisków. Godzina: Cls Lcd "Aktualna godzina" While Przyciskok = 1 If Przycisk1 = 0 Then Incr Godz...
Witam. Mam problem z ta pamiecia. Mecze sie juz dwa dni i nic. Podlaczylem ja na jednej magistrali z PCF8583 (RTC) i ADS1100 (ADC) do uP Atmega 8. Zegar i przetwornik chodza bez problemu. Narazie uzywam programowej obslugi I2C w AVRGCC z biblioteki RKlibAVR... Pin A0 pamieci mam podlaczony do masy wiec adres pamieci na magistrali to 101000px, x=1(odczyt),...
Oki pomylilem sie chodzilo mi o pin WP czyli write protect. Jest tez jeden problem otoz programem do zczytywania adresow magistrali odczytywal mi kilka adresow a nie jeden jak pin A2 wisial w powietrzu a po podpieciu go do plusa adres zmienial sie na jeden 168. Wczesniej zczytal mi adresy 160, 162, 164, 166, jednak adres 162 gryzlby sie z adresem PCF8583....
Witam. Posiadam program do zegara VFD, lecz posiada tak zwane duchy. Po zastosowaniu większego rezystora ograniczającego prąd siatki też można ten efekt zniwelować ale czy można byłoby zrobić to w programie? Btw czy można przerobić program dodatkowo na to żeby pokazywał datę? Wrzucam program: [syntax=C] ////////////////////////////////////////...
Podpowiem jedną rzecz. :) Nie definiuj nowych zmienny i nie pisz nowych funkcji żeby zapisać/odczytać rejestry alarmu, to jest gotowe. Przyglądnij się fragmentom pliku Config_PCF8583.bas : Config_PCF8583.bas jest: _clock_alarm , podczas kompilacji zmienne do obsługi alarmu zostaną dołączone. Teraz przykład jak odczytać jeden bajt Alarm Control Register...
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 ''()...
Witam Jestem w trakcie tworzenia Sterownika do Pompy Ciepłej wody Użytkowej (C.W.U) ten sterownik ma spełniać dwa warunki: 1. Włączyć pompę, jeżeli temperatura zadana jest większa bądź równa temperaturze, jaka jest w bojlerze z ciepłą wodą 2. Włączyć pompę o określonej porze np. od godziny 6.00 do godziny 8.00 Mózgiem tego będzie ATMEGA8 układ czasowy...
Mam takie pytanie ponieważ już "zgłupiałem". Czy PCF8583 po włączeniu zasilania automatycznie sam generuje sygnał na INT z częstotliwością 1Hz ? Do tej pory byłem pewien, że tak. Bez żadnego ustawiania w rejestrach, ale widzę na forum elektrody, że ludzie to specjalnie ustawiali w rejestrze alarmu...To w końcu jak z tym jest ? Zegarek powinien liczyć...
Nie napisałem w poprzednim poście, że mam również płytkę z GOTRONIKa, która to płytka była moją pierwszą z "gotowców". Po prawie dwóch latach zdecydowałem się na kolejną, tym razem z Microsense. Obie mają wady i zalety, ale w moim przypadku obie się uzupełniają. Żeby podsumować, wymienię może co mi pasuje, a co nie w obu zestawach: GOTRONIK: na +: 1....
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...
Dzięki Mick ale jakoś nie mogę załapać , w c pisze od niedawna. To co znalazłem w sieci trochę bardziej rozumiem tylko nie wiem w jakiej kojejnosci to ma być wykonywane wzorowałem sie bascomem... Jakby ktoś mógł to proszę o wyjaśnienie co ma byc pierwsze Pozdrawiam /***************************************... * Title:...
Błąd w moim opisie ale w programie jest dobrze [syntax=c]#define RTC_Addr_Write 0xA0 #define RTC_Addr_Read 0xA1[/syntax]
Witam wszystkich forumowiczów. Zmagam się z nawiązaniem komunikacji poprzez I2C procesora ATmega8 oraz układu RTC PCF8583. Na wstępie napiszę, że linie SDA i SCL są podciągnięte do VCC przez rezystory 1K. Układ pracuje z kwarcem wewnętrznym 1MHz. Podprogram "dwiems" generuje opóźnienie rzędu 2ms. Podprogram "blad" wywołuje pętle, która zapala diode...
Witam Napisałem dość prosty program na ww płytę ewaluacyjną. Sczytuję czas (sekundy minuty i godziny) z RTC zamontowanego na płycie i po konwersji wyświetlam to sobie na moim LCD 2x16. Problem tkwi w tym że program działa raptem nie całe 5 sekund i wisi. Dołączam wszystkie pliki projektu do sprawdzenia. Korzystam z dodatkowych bibliotek TWI.h - do obsługi...
Witam! Zaczynam swoją przygodę z AVR i mam mały problem. Chciałem ustawić godzinę i datę i wszystko cacy poza tym, że gdy dzień miesiąca dojdzie do 30 to przeskakuje na 10 zamiast 1. Próbowałem też zamaskować rok,ale bez skutku Nie mam pojęcia dlaczego tak się dzieje. Poniżej umieszczam fragment kodu i proszę o pomoc: [syntax=c] // Ustawianie czasu...
upss naraz wałkuję dwa tematy o SD, stąd nieporozumienie. u mnie taki kod działa na kwarcu 8 MHz $regfile = "m32def.dat" $crystal = 8000000 $baud = 9600 ' predkość transmisji $hwstack = 128 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu $framesize = 128 ' rozmiar ramki '********************* Deklaracja podprogramów Declare Sub...
Głowię się nad tym kawałkiem twojego kodu oby go zaadaptować do programu i jak na razie nic sensownego nie wymyśliłem. Zmodyfikowałem swój kod ale zachwycony nim nie jestem a koncepcji jak napisać go bardziej sensownie też nie mam. Niestety pokutuje moja ograniczona wiedza na temat C. Trochę kodu do wglądu. [syntax=c] // ATMEGA 32 16MHZ - taką mam w...
LosRabinos Nie wiem, czy trochę poniewczasie, ale zawsze to coś. Odnośnie hardware-u: PCF8563 noga 3 (A0) do masy i wtedy (pierwszy listing): OD KIEDY PCF8563 MA NOGĘ ADRESOWĄ? Takowa jest w modelu pcf8583, w 8563 pełni ona rolę programowanego wyjścia sygnału etatowego i jeśli z niego nie korzystamy to powinna być pozostawiona jako niepodlaczona......
W odpowiedzi na post założyciela tematu chciałbym wyrazić swoją wstępną opinię na temat płytki EvB_ATmega16-32 firmy microSENSE. Płytkę otrzymałem wczoraj. W pudełku znajdziemy płytkę EvBMega16-32 (ja zamówiłem z prockiem ATMega644AP bo bardziej rozwojowa) + LCD 2x16 + kabel USB do połączenia FT232 z PC + płyta CD ze sterownikami/wsadem w postaci hex...
Witam, mam problem z komunikacją mikrokontrolera PIC16F74 z układem RTC PCF8583 na płycie UNI-DS3. Korzystam ze środowiska microC PRO for PIC v 5.8.0 i standardowych bibliotek a mianowicie Lcd i Software_I2C. Obsługa 1-Wire i LCD mi działa natomiast nie działa obsługa software-I2C. Opis połączeń RTC na płycie UNI-DS3 jest następujący: INT -> RB0 SCL...
no to jest ewidentnie 24c16! więc korzystaj z tego datasheetu: http://dhost.info/ky3orr/funkcje/downloa... czyli innymi słowy mówiąc masz pamięć o adresie 0b1010PPPW, gdzie PPP to 3-bitowy adres strony w pamięci, a W to bit R/W co też jednoznacznie oznacza, że w układzie nie możesz mieć m. in. zegarów...
witam zrobiłem sprzętowy i2c do PCF8583 ale coś nie gra podsyłam kod, prosze o pomoc, program stoi nic nie wyświetla #include <avr/io.h> // dostęp do rejestrów #include <avr/iom8.h> #include <util/delay.h> #define F_CPU 8000000UL #include "lcd.c" void TWI_start(void) { TWCR = (1<<TWINT)|(1<<T...
tutaj znalazłem dość duży kod który myślę że spełnia moje oczekiwania można zadać nawet 10x różnych pór kiedy ma włączać pompę i na jak długo tylko usunę godziny i może nawet ich ilość bo jedna czy dwie to wystarczy '##########Konfiguracja zewnętrzna########## $sim $regfile = "m8def.dat" $crystal = 16000000 Config Portc.0 = Input 'przyciski...
Masz tu przykład prostego programu. Z realizowaniemkilku zadań "jednocześnie" ' i2c SCL-PortD.4, SDA PortD6, 1Wire1 - portA.0, 1Wire2 - PD4, LCD: Enable - PortB.0, RS - PortB.4, D7 - PortB3 , D6 - PortB2 , D5 - PortC2 , D4 - PortB1 ' PA0 + dla LED1, PA1 + dla LED2 , PC3 - przycisk 1 , PC5 - przycisk 2 , PC6 - przycisk 3 , PC4 - przycisk 4 $regfile =...
Po kilku kolejnych dniach spędzonych przy sterowniku udało mi się okiełznać wyświetlacz oraz "rozbudować" sterownik o zegar zrobiony na PCF8583. Podczas pisania programu napotkałem na mały problem, mianowicie po zwarciu pinu d.6 do masy program powinien rozpoznać stan niski i przejść do podprogramu M1.1, niestety jednak tak się niedzieje, gdy zaprogramuję,...
Adres na skanerze wychodzi 172 i 173 Nie wiem jak mam zapisać i odczytać wartość do i z epromu. Napisałem coś takiego ale nie wiem czy to ma prawo działać. [syntax=basic4gl]' ****************************************... ' * File: PCF8582.bas * ' * Version: 1.0 * ' * Date: 7/3/2014 * ' * Development Tools: Bascom-AVR Ver.2.0.7.3...
Albo jestem za stary albo za bardzo zmęczony...jak komuś się chce pokombinować to wklejam trochę kodu..może z tego chaosu zrobi jakieś logiczne MENU LCD.. // koniec pomiarów odczytu daty monitorowania napięć i innych procedur -:) unsigned char kanal=10; for(kanal=10; kanal<18; kanal++) { switch(kanal) { case 10://czasu...
Można i tak [syntax=vbnet] Dim Year As Word Year = 2016 LDS R16, {Year} LDS R17, {Year+1} STS {Year_low_byte}, R16 STS {Year_high_byte}, R17 Writeeeprom Year_low_byte, 1 Writeeeprom Year_high_byte, 2 [/syntax]
Ale z tego co wyczytałem w PDFie wynika ze bit 6 rejestru 0x08 to jest "timer alarm enable" , a mnie chodzi o alarm interrupt enable czyli bit 7. Ale jest pewien postęp: Przerwanie działa przy następującym kodzie: writePcf(0x00, 0x04); writePcf(0x08, 0x90);//dayly alarm //writePcf(0x0d, 0x01); //dla dayly alarm to jest nie istotne...
Witam. Mam duże problemy z uruchomieniem i2c (programowo) na procesorze at1280. Otóż po wgraniu takiego programu: $regfile = "m1280def.dat" $crystal = 11059200 $lib "glcd.lib" Config Sda = Portd.1 Config Scl = Portd.0 $hwstack = 32 ' default use 32 for the hardware stack $swstack = 10 'default use 10 for the SW stack $framesize =...
Dzień dobry, Mam następujący problem z tym zegarem: układ wydaje się nie liczyć prawidłowo niczego oprócz setnych części sekund. - Na wyjściu INT pojawia się przebieg prostokątny 1 Hz o wypełnieniu 50% - Komunikacja po sprzętowym TWI/I2C (ATmega16) funkcjonuje sprawnie, zapis i odczyt bajtów z innej lokalizacji pamięci RAM zegara daje oczekiwane wyniki....
Witam, W odpowiedzi na PW i powyższy post przejrzałem jeszcze raz kod programu w BASCOM i znalazłem błąd w procedurze zapisu daty do PCF. Zamieszczam poprawiony kod, trzeba dopisać jedną linijkę kodu. Proszę i informację zwrotną czy pomogło. Pozdrawiam JarekC PS. gratuluję uruchomienia układu. [syntax=basic4gl]'----------------------...
Witam, trudno jest coś powiedzieć poza tym, że zapewne źle się odwołujesz do danego rejestru, sama transmisja działa dobrze, skoro czytasz inne rejestry. - sprawdź, do czego dokładnie odwołuje się Control_Status_Addr? - nie znam układu, sprawdź, czy sposób odwołania się do tych rejestrów nie wymaga czegoś specjalnego? - sprawdź, jaka jest wartość, jaką...
Po zapoznaniu się z datashetem i polskimi ubogimi tłumaczeniami napisałem kawałek kodu aby zapisywać i odczytywać 4 nastawy czasu Zapis do PCF8583 if(!(PIND & _BV(7))) {// _delay_ms(30); TWI_write(zegar,0x10,rtc_pcf[0... kanał 1 włącz TWI_write(zegar,0x20,rtc_pcf[1...
Próbuję uruchomić / użyć moduł RTC Rev. v1.03 podłączony do portu C (PIC16F877A, EasyPic5 Rev 1.02). Używam w tym celu kodu jak poniżej. Kiedy podłączę zasilanie, na LCD nic się nie pojawia / nie zostaje zainicjowany (ponieważ linia "Soft_I2C_Start()" znajduje się przed linią "Lcd_Out(1,1,"LCD OK")" i uC wisi na tym. Jeśli linia "Lcd_Out(1,1,"LCD OK")"...
Witam...nic z tego nie wyszło rozwaliłem tyko w mak resztę programu....za chiny nie wiem jak obsłużyć tego PCF8583 datashety tylko namierzały mi w głowie a jakiegoś prostego przykładowego kodu w C nie znalazłem....menu jak się sypało tak sypie się dalej...nie radze sobie z tymi przerwaniami wychodzą cuda... posiłkując się elektrodą o dadatshetem napisałem...
Witam ponownie. Mówią nie chwal dnia przed zachodem słońca...jak z jednym się uporałem to znów co innego mi mąci. Kłopot z wyborem gdzie zapisać nastawy dwukanałowego timera bo zmiennych jednocyfrowych jest łącznie 4x4 dziesiątki godzin , jednostki godzin , dziesiątki minut , jednostki minut osobno dla włącz osobno wyłącz razy dwa kanały.Ma do wyboru...
Wróciłem z rozważaniami do ATmegi32 i płytki prototypowej. Porty mam sprawne i mam na nich stany wysokie, podciągnięte rezytorami 1.5k, więc sprzętowo wszystko wygląda OK, natomiast przy próbie odczytu wszystko staje. inicjalizacja poszla cos tam wyslalem CZYTAM I na tym koniec. Dodam że podczas "zwiechy" port SCL jest na stanie niskim, wymuszonym przez...
Wyciąłem tylko obsługę EEPROM bo mi to nie potrzebne. Jak by ktoś mógł by się przyjrzeć to był bym wdzięczny. [syntax=c] /* * main.c * * Created on: 2010-09-07 * Autor: Mirosław Kardaś * * Program korzysta ze sprzętowej obsługi I2C/TWI * Umożliwia zapis danych do RTC oraz EEPROM a także * oczyt z tych urządzeń * */ #include <avr/io.h> #include...
Witam, jak w temacie, czyli źle wyświetlają mi się cyfry na LCD w sensie tak chcą ( 00 -> 01 -> 00 -> 01 -> 00 -> 08). Nie wiem po jakiej stronie leży problem. Pracuje na płytce ewaluacyjnej GOTRONIK z Atmega32A z RTC PCF8583 ( INT-PD2, A0-GND, SDA-PC1, SCL-PC0) Umieszczam kody programu: Main.c [syntax=c]#define F_CPU 16000000L #include...
Juz byl taki temat ale został zamknięty. Moj problem polega na tym ze nie moge ruszyc ds1820 w C z wykorzystaniem bliotek rklib do obslugi ds. #include <avr/io.h> #include<avr/interrupt.h> #include<avr/eeprom.h> #include<string.h> #include "lcd.h" #include "ds18x20.h" #include "delay.h" uint8_t gSensorIDs[OW_ROMCODE_SIZE];...
Program przekopiowałem już toczka w toczkę z płyty dołączonej do książki, oczywiście zmieniłem pod moje podłączneie do procesora ukłądu pcf8583 ale nadal nie wywołuje przerwania ten układ i nic nie mogę z niego zczytać. Jak sprawdzić czy czasem w jakiś sposób nie uszkodziłem tego układu? Jedyna różnica przy podłączniu odbiegająca od książki to nie podłączone...
Korzystam teraz ze sprzętowej obsługi i biblioteki Petera Fluery. Wszystko działa pięknie na eepromie, jednak z pcf'em nadal mam problem:| (odczytuje albo 0, albo 255) i2c_init(); i2c_start_wait(0xA2+I2C_WRITE); i2c_write(0x02); // sekundy i2c_rep_start(0xA2+I2C_READ); ret = i2c_readAck(); i2c_stop(); LCD_GoTo (0,1); LCD_WriteText (itoa( ret, buffer,...
Kod jest dość spory więc wkleję najważniejsze fragmenty odpowiedzialne za RC5 ,SD i 1Wire. RC5 '***************************************... '****************************PROCEDURA ODCZYTU RC5**************************** '***************************************... Readir: Disable...
Witam, Chciałem uruchomić alternatywę dla PCF8583 (czyli PCF8563P) wykorzystując zestaw ZL3AVR [ATmega32 + kwarc 16MHz]. Podłączenie PCF8563P 1 - 2 - Kwarc 32.768kHz 3 - 4 - GND 5 - SDA 6 - SCL 7 - 8 - VCC 4 - 8 - kondensator 100nF Próbowałem także kondensator 22pF między nóżka 1 a VCC oraz między nóżka 1 a GND. Ale nic to nie pomagało. W zestawie Zl3AVR...
Witam w moim programie prubuje zaimplementować obsługe roku z wykorzystaniem układu pcf 8583 ale nie potrafie za pomocą przycisków zwiększyć kolejnych lat, następuje przeskok co 4. W związku z tym zwracam sie do Tych co już pisali obsługę roku jak poprawnie to powinno wyglądać. poniżej fragmęt kodu: [syntax=c] uint8_t rok_bazowy =12; if(klawisz_wcisniety(key_pin3)&klawi...
Panowie bardzo proszę o pomoc co ja tu sknociłem Kombinowałem już różnie ale pompa nie załącza się Ok. tylko jak czas jest wyższy od 10 godziny poniżej 10 godziny nie działa :idea: Ok. wiedze że nic z tego więc problem rozwiązałem sam Może komuś kiedyś się przyda . [syntax=basic4gl] Dim Czas1 As Byte Dim Czas2 As Byte Dim M As Byte Dim S As Byte Dim...
Witam Chcę skonstruować urządzenie, które oprócz zegarka mierzyłoby jednocześnie temperaturę i obydwie wielkości wyświetlałoby na wyświetlaczu LCD. Gdy programy napisałem osobno, obydwa działały, lecz gdy połączyłem je w całość, to czas odczytuję bez problemu, natomiast nie wyświetla mi się temperatura. Podejrzewam, że problem jest w przerwaniach. Poniżej...
Witam, czy jest ktoś może tu na forum, kto używał I2CSlave w Bascom'ie??? wiem, że ta biblioteka jest płatna i z chęcią bym ją kupił ale ... dobrze, że narazie miałem okazję ją przetestować. Otóż okazuje się, że wszystko teortetycznie działa świetnie, dorobiłem nawet własne rozwinięcia procedur _Master_has_data i Master_needs_data tak aby można było...
Witam Kolegów Przepraszam, że przez kilka dni nie zabierałem głosu w temacie, ale bylo to niezależne ode mnie (awaria neta). A więc tak: - Po pierwsze chcę serdecznie podziękować Koledze excray - wdrożyłem przytoczone przez Ciebie rozwiązanie i jestem zachwycony. Oczywiście przeniosłem całe menu do pamięci programu. Stąd zmianie uległy procedury obsługi...
Witam, od pewnego czasu borykam się z pewną trudnością, a mianowicie obsługą dwóch przerwań zewnętrznych, z czego jedno ma byc wykorzystywane podczas obsługi drugiego. Projekt to odcięcie zapłonu z zamkiem szyfrowym. Po krótce: W momencie załaczenia stacyjki na on, ma wyśwoietlać się komenda podania pinu itd, po wpisaniu na tranzystor sterujący przekaźnikiem...
Program napisany jest w Bascom. Delay nie ma w ogóle. Program napisany chaotycznie, ale działał ok dopóki nie dopisałem obsługi DCF77. Gdy przyjdzie odpowiednia godzina, dioda IR ma wysłać kod do odbiornika. Wtedy właśnie procesor zwalnia. Sekundy wtedy "idą" co 3 no i dźwięk ma zwolnione tempo. [syntax=vbnet] $regfile = "m32def.dat" $crystal = 8000000...
Przeszło mi to przez myśl, jednak nie mam na stanie żadnego impulsatora. No i na razie jest to budżetowa konstrukcja, robie z tego co mam w szufladach. Ale kto wie, może jak powstanie następna wersja to może zastosuje impulsator. No więc teraz w miarę licznik działa. Po zatrzymaniu czujnika zera pokazują się tylko na ekranie głównym. Program wygląda...
Witam Mam taki programik troszke posklejany ale wyskakuje błąd co robie nie tak . label not found [_ENDIFO ] $regfile = "m8def.dat" 'Atmega8 $crystal = 8000000 'Kwarc 8MHz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.1 , Db6 = Portc.0 , Db7 = Portb.5 , E = Portc.3 , Rs = Portc.4 '*************************************.....
victoria write patch write write control
gramofon demontaż podłączenie komputer honda accord arduino nrf24l01
aspire 7750g zmywarka mastercook częsty
Koszt modułów zasilania i wyświetlacza Electrolux KOAAS31WX Alarm Steeli Men nie wyłącza się - przyczyny i rozwiązania