To samo co tutaj: https://www.elektroda.pl/rtvforum/topic3...
Lepiej zainwestujesz swój czas przepisując program tak, żeby 90% pracy wykonywał w main, później "szedł spać", a budziły go tylko odpowiednie przerwania. W różnych ISR ustawiasz odpowiednie zmienne globalne, a w main() je odczytujesz i reagujesz odpowiednio. I nagle się okaże, że nie potrzeba zagnieżdżania przerwań, system jest prostszy i da się ładnie...
Dla kwarcu 4MHz jest to prescaler 64 i początkowa wartość licznika: 193 Dla kwarcu 8MHz prescaler to: 64 i początkowa wartość licznika: 131 To pokazuje kalkulator. Chciałoby się zakrzyknąć : a nie mówiłem :-P Aby wpisać do Timer2 początkową wartość, to używamy poleceń: TCNT2=początkowa_wartosc Timer2= początkowa_wartosc Counter2=początkowa_wartosc...
Zobacz sbie mój temat. Tam zrobiłem odmierzanie na timerku działa bardzo fajnie tyle że dla 8 mhz. Pomnozysz sobie razy 2 te czasy i elegancko bedzie... Funkcja dl. i pamietaj iż mozesz zadeklarować wartości mieszczące się w char. [url=http://www.elektroda.pl/rtvforum/vi... MÓJ POST O DS Pozdrawiam domel.fm
Windows.h dostarcza funckję Sleep(int ms); Powinno w C działać. #include <windows.h> ... Sleep(10); //Czekaj 10 ms .. Ale tylko w milisekundach :/
> stoowa Twoje kłopoty powodują 3 ostatnie linijki w pętli while czyli obsługa LCD. W ciele funkcji obsługujących lcd na pewno sa instrukcje blokowania przerwań na czas transmisji danych do lcd. Powoduje to pomijanie wywołań przerwań a co za tym idzie zegarek będzie się spóźniał. Chcemy skrócić czas do następnego przerwania o czas opóźnienia obsługi...
Dowolny program do obsługi kafejki internetowej na przykład.
Timer0 jest 8-bitowy czyli pomiesci liczbę z zakresu 0-255, Timer1 jest 16-bitowy czyli pomiesci liczbę z zakresu 0 - 65535. Zapewne autorowi chodziło o to aby zrobić to na timerze 8-bitowym, ale Twoje obliczenia tez są dobre tylko dla Licznika/Timera1
Ale skąd mam wiedzieć że licznik dobrze zlicza tzn co 1 mikrosekundę? Skąd mam wiedzieć że udało mi się na podstawie taktowania procesora wyliczyć dokładnie jedną mikrosekundę? Zaletą mikrokontrolerów jest to, że wystarczy być pewnym ustawień rejestrów i zegara, i musi odliczać prawidłowo. Pokaż program. Oczywiście kontrola jest wskazana :)
' Trzy przyciski kolejno .... (TSA ;) ' wersja bez przerwań i Timera czas_a as integer ' zmienna czasowa A czas_b as integer czas_c as integer we_a alias pinx.1 ' wejście A we_b alias pinx.2 we_c alias pinx.3 wy_a alias Py.1 ' wyjście A wy_b alias Py.2 wy_c alias Py.3 stan_a as bit ' stan układu monostabilnego A: 0 - czeka, 1- liczy stan_b...
Czy zgodnie z Twoim schematem miejsce podłączenia wskazanego przewodu ma jakiekolwiek znaczenie (czy do będzie do L czy do N)? A jeżeli ma to jakie? Producent tego akurat wyłącznika zrobił tak że jest bez różnicy czy do L czy do N podłączysz. Co wygodniej. I gdzie w tym całym układzie podłączam łącznik dzwonkowy? Rozumiem, że to jest to? Tak. To jest...
https://obrazki.elektroda.pl/4944889600_... Czasami nie za bardzo wiem, jak zacząć artykuł, tak jak teraz. Temat niby prosty - historia pomiaru czasu, chronologia horologii. Ale co można napisać o czasie? Na pewno to, że mamy na jego punkcie niejaką obsesję. Wielu ma go za mało, albo wcale go nie mają, niektórzy zaś za dużo i nie wiedzą,...
Na samym uC z kwarcem zewnetrznym otrzymasz dosc precyzyjne czasy. Nie wiem jakie bledy trzeba zrobic w programie zeby przy czasie 260ms otrzymac rozrzuty 5ms. Dobrze przemyslany program zapewni Ci odmierzanie czasu co do 1 cyklu zegarowego. Tylko bledy w logicznym mysleniu moga wprowadzac wieksze bledy. Proszę używać polskich znaków!
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....... Z góry dziękuję za pomocne wypowiedzi. Aby odmierzac...
Co może być tego powodem? I wszystko i nic. Należy na początek sprawdzić taktowanie procesora, prawidłowość napięć zasilających a nawet częstotliwość sieci zasilającej.
To wygląda na to (i tego można się spodziewać po prostym układzie z NE555), że po włączeniu zasilania ładuje się kondensator, i kiedy naładuje się wystarczająco (pewnie do 2/3 napięcia zasilania), układ załącza przekaźnik, i taki stan już pozostaje do wyłączenia zasilania. Po wyłączeniu kondensator rozładowuje się w ciągu paru sekund - jeśli ponowne...
1. Jaki język? 2. Mikrokontroler jest w zupełności wystarczający a nawet nadmiarowy - czyli jest OK :) 3. Dodatkowo dołącz kwarc to XTAL1 i XTAL2 żeby odmierzanie czasu zrobić wmiare dokładne na Timerach.
Po pierwsze, musisz mieć jakieś zasilanie (niezależne od stacyjki) do tego elektromagnesu, i do układu, który odmierzy czas (jeszcze odmierzanie czasu dałoby się zrobić tak, by do zasilania wystarczył naładowany kondensator, ale elektromagnes potrzebuje sporego prądu i kondensatorem go nie zasilisz). Sygnałem startującym odmierzanie czasu może być zanik...
Trzecia czasówka wyzwalana co drugi cykl z dwóch pierwszych? To chyba tak: najpierw odcinek czasu z pierwszej czasówki bez włączania silnika, trzecia czasówka włącza się razem z pierwszą; potem pierwsza kończy odmierzanie czasu, włącza się druga i uruchamia silnik, trzecia nadal włączona określa kierunek obrotów; wyłącza się druga (silnik się wyłącza)...
Ogólnie procesory są do przetwarzania sekwencyjnego, instrukcja po instrukcji. Dobre gdy nie zależy Ci na wielkiej szybkości, dokładnym czasie. Są na ogół łatwe w użyciu i bardzo elastyczne. FPGA/CPLD dobre są gdy potrzebna jest wielka szybkość, precyzyjne odmierzanie czasu i równoległe wykonywanie wielu zadań jednocześnie. Na początku może byc trudno...
Z EEPROM jest wiele zabawy. Najprościej nie zapisywać co 1-2m dystansu, jak miałeś w programie, czy co 1s, jak się zrobiło gdy przeniosłem Ci to do loop. Masz odmierzanie czasu tym nieszczęsnym delay 1000, to definiuje najmniejszą jednostkę czasu w tym programie. Naucz się millis() i usuniesz to ograniczenie. Ale tu też można coś wyrzeźbić, po tym delay...
Może ma problem z prawidłowym rozłożeniem wsadu?
Blisko ale są dwa błędy. Raz, że histereza ma być na "tempKolektor", nie na "zabezpieczenie". A więc [syntax=c] case ST_INIT: if (tempKolektor >= stalaTemp + HISTEREZA && zabezpieczenie < ALARM ) { state = ST_ZAL1; } break; ... case ST_INIT1: if (tempKolektor < stalaTemp){ state = ST_ZAL2; } break;[/syntax] Dwa - odmierzanie czasu jest...
Load Timer 250 pojawił się 2 razy bo pierwszy jest wykonyawny przed wejściem do pętli a następny w pętli. W tym programie jest dodatkowa zmienna Licz_8ms bo Timer0 nie może odmierzyć całej sekundy w jednym przebiegu. Przy użyciu Timer1 i odpowiedniego kwarcu można osiągnąć przerwania co 1 s. Jest to korzystne bo odmierzanie czasu jest nieco dokładniejsze....
Procek pracuje na wewnętrznym oscylatorze, ale odmierzanie czasu poleceniami wait i waitms szło mu całkiem przyzwoicie, więc raczej 8MHz jest. ...czy aby ATMega8 nie ma domyślnie ustawionego1MHz??? Nie wiem gdzie jest zadeklarowana, używam BascomAVR. Tu: http://obrazki.elektroda.pl/8600321800_1... ...i tu: http://obrazki.elektroda.pl/9274839800_1...
Witam. Poszukuję minutnika który odmierzałby czas do przodu lub do tyłu. Potrzebny jest taki minutnik dla komisji egzaminacyjnej z języków obcych na egzamin ustny. Dobrze by było aby po określonym czasie zegar zmieniał kolory. Poprawiono temat!
Witam, 1) Do projektu potrzebuję 2 liczników - jeden do odmierzania czasu, drugi do sterowania wyświetlaczami. Czy to dobra koncepcja?? Odmierzanie czasu - jasna sprawa. Wyświetlacze - po co co Ci licznik do sterowania wyświetlaczami (jakimi, siedmio-segmentowymi?). Nie wiem zresztą jak ocenić Twoją koncepcję gdyż jej praktycznie (szczegółowo) nie przedstawiłeś....
Dosyć enigmatycznie to opisałeś. Ze schematu wnioskuję, że chcesz zrobić zadajnik napięcia, Górny lewy wzmacniacz, którego sygnał jest podawany na trzy kolejne fazy sterowników tyrystorowych, trzy prawe wzmacniacze z transoptorami i układami całkującymi dla korekcji czasu opóźnienia włączenia spowodowanej rozrzutem elementów. Według mnie nie ma sensu...
Z grafiką pod DOS to raczej nie maiłem do czynienia na poziomie driverów. Kiedyś robiłem kawałek kodu który wykrywał czy Herkules jest w trybie tekstowym czy graficznym - rejestry kart CGA i Herkules bywały RO i WO, czasem RW więc nie zawsze dało się wyczytać jak są ustawione, dodatkowo Herkules adresami i podstawowym trybem tekstowym udawał kartę MGA...
Jutro jeszcze sprawdzę jak będzie działać Attiny 45. Może coś uda się osiągnąć. Zrobiłem trochę testów na attiny13 i po nich jestem bardzo sceptyczny co do użyteczności funkcji micros() w takim zastosowaniu jak metoda użyta w twoim szkicu. Mam obawy że na attiny45 problem może być ten sam, tylko nieco mniejszy, z powodu możliwości wyższego taktowania....
Kwarc podczas programowania nie musi być podłączony o ile uC korzysta z WEWNĘTRZNEGO generatora ("fusy"dla ATMEGA 8 i podobnych = 0001 lub 0010 lub 0011 lub 0100), Jeżeli przełączono "fusy" na generator ZEWNETRZNY czyli kwarc lub generator podający z zewnątrz gotowy sygnał taktujący to podczas programowania generator/kwarc musi być podłączony. Na kwarcu...
poza tym dlaczego nie używasz sprzętowych timerów jako timerów tylko do generowania przerwań? Kolego może źle mnie zrozumiałeś ale do ustawiania flagi używam Timer0 i właśnie mnie dziwi dlaczego mi się te czasy nie zgadzają Jak do wyznaczenia czasu używam tego samego timera. Tak wygląda obsługa przerwania u mnie : Timer może zliczać czas wprost i w...
Dokładnie tak jak masz napisane, z tym, że konfigurujesz jeden z timerów do dliczania czasu. Przykładów w Bascomie z obsługą timera znajdziesz bez liku.
Timery i dokładne odmierzanie czasu w różnych miejscach kodu. Zamiast korzystać z kilku timerów, można w różnych blokach kodu konfigurować 1 timer i wstrzykiwać odpowiednią funkcję przerwania. Oczywiście pod warunkiem, że nie będziemy musieli odmierzać czasu dla dwóch bloków jednocześnie. Wygląda na to, że potrzebujesz po prostu callbacka w jednym...
Witam. Chcę za pomocą Timera1 odmierzyć czas w przybliżeniu 1 s (dokładność do 0,1 s). Wprowadzam następującą konfiguracje: ldi Temp, 0x29 ;załadowanie do r16 wartości ldi R20, 0x29 ;załadowanie do r17 wartości out TCNT1H, Temp ;wpisanie do rejestru TCNT1L wartości out TCNT1L, R20 ;wpisanie do rejestru TCNT1H wartości out TCCR1A,r29 ;wpisanie do rejestru...
Witam serdecznie potrzebuję zrobić odmierzanie czasu 1250us i drugie zależne od zmiennej. Chodzi mi o to, że w moim programie odwoływał bym się do przerwania które odmierzało by 1250us i po tym czasie nastąpił by powrót i wykonanie dalszych instrukcji, w drugim odwoływał bym się z parametrem ile ms ma zostać zliczone i też nastąpił by powrót po tym...
Wystarczy uruchomić któryś z timerów procka. Może być w tle, wystarczy np. [Start Timer0] wtedy połówki TL0 i TH0 zaczną liczyć. Dane z TH0 i TL0 możesz wykożystać do swoich potrzeb.
Ponieważ chcesz mieć dwie funkcje : odmierzanie czasu i potem wydanie dźwięku to na jednym NE555 tego nie zrobisz. Albo dwa NE555 albo podwójny w jednej obudowie NE556 (to dwa NE555 w jednej kości). Co do bistabilny i astabilny to już same słowa to określają. Bistabilny mający dwa stany stabilne (tzw przerzutnik - jak wyłącznik żyrandola w domu). Astabilny...
Na tym schemacie pominąłem przekaźnik i triak, chodzi mi o samo uzyskanie zmiany stanu na wyjściu po upływie czasu po wykryciu zera sieci... Wiem, ale muszę wiedzieć gdzie ma być podłączony żeby ocenić działanie układu. Mógłbyś rozwinąć myśl z komparatorami? Myślałem na początku o tym, żeby wykrywać zera sieci poprzez porównanie z masą, ale potem i...
Jak skalibrujesz..... Poza tym kiepsko u niego ze stabilnością temperaturową.
Witam Potrzebuje odmierzać czas(jak najdokladniej) od 0.01s do max 1s, w zależności od wartości którą otrzymam z zewnątrz. Problem polega na tym, ze timera 16bitowego nie moge wykorzystać bo jest juz uzywany. Program pisze w C pod Atmege8. F_CPU=8Mhz
Hello, mam problem jak w temacie (w jednych za szybko w innych za wolno), czy coś można na to porzdzic?? wydaje mi się że problem leży po stronie procesora, ale może to wina grafiki... Proszę o pomoc.
bardziej zależy mi na przerwaniu, kombinowwałem sam ale jakoś procek niechciał odmierzyć wyliczonego czasu, zadany odcinek czasu był krótszy!!! $crystal = 4000000 $regfile = "2313DEF.DAT" Config Timer0 = Timer , Prescale = 1024 Load Timer0 , 50000 On Timer0 Porow enable Timer0 Enable Interrupts do loop Porow: 'przerwanie powinno być chyba co 12,8s Incr...
Witam! Posiadam pakiet WinAVR (taki jaki jest proponowany w kursie). Słuszna decyzja. Gdy zapoznasz się z językiem C, będziesz mógł pisać programy dla większości architektur, w tym dla komputerów PC. Język ten przy odrobinie wprawy umożliwia szybkie tworzenie złożonych programów, zachowując czytelność kodu oraz optymalny kod wykonywalny. ale jeśli nie...
Tutorial do avr taki znalazłem: http://avr.elektroda.eu/?q=node/8 Jak byś czegoś w sieci szukał, to raczej unikaj tutoriala z patron.net, uczy złych nawyków i jest nieco nie na czasie. Pomiar częstotliwośći na AVR realizuje się w miarę łatwo, przy wykorzystaniu timerów, jeden timer pracuje jako licznik impulsów z zewnątrz, a drugi odmierza czas, mozna...
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ł...
http://obrazki.elektroda.pl/9862811600_1... Witam, Dzisiaj chciałem zaprezentować konstrukcję, którą wykonałem pod koniec kwietnia zeszłego roku. Jest to zegarek z wyświetlaniem czasu i daty na lampkach NIXIE LC-513. Lampki są zamocowane w miedzianych kolankach o średnicy 28mm, które są przymocowane do dwóch złączonych sklejek między...
sugerujesz się nazwami zmiennych i komentarzem, a kompilator nie czyta komentarzy. Nie sugerowałem się komentarzami w kodzie, ani jakimikolwiek innymi. Analizowałem tylko sam kod źródłowy pierwszej wersji programu w poście #1. Może czegoś nie widzę, ale na pierwszy rzut oka, to program3 uruchomiony w piątej sekundzie od włączenia urządzenia powinien...
http://obrazki.elektroda.pl/2916865700_1... Urządzenie zostało zaprojektowane i wykonane ok dwóch lat temu, na potrzeby toru kartingowego tak aby zautomatyzować system sygnalizacji i odmierzania czasu do końca jazdy. Z założenia na torze może poruszać się dziewięć gokartów a więc konieczne jest odmierzanie niezależnie trzech czasów....
https://obrazki.elektroda.pl/7753289800_... Przedstawiam zaprojektowany i wykonany przeze mnie stoper (czasomierz) pozwalający na precyzyjne odmierzanie długich odcinków czasu. Z rozdzielczością 1 µs można odmierzyć 10000 sekund, czyli blisko trzy godziny, natomiast z rozdzielczością 1 ms aż 10 000 000 sekund, czyli ponad 115...
odmierzanie czasu stm32 timer1 odmierzanie czasu odmierzanie czasu timer1
lista kanał ariva polsat kartę awaria lodówka amica
samsung ue550 skuter elekryczny
Identifying PCB RS31021513105 for Shredder Models Serwomechanizm KST nie utrzymuje pozycji - przyczyny i rozwiązania