Witam. Kupiłem płytkę uruchomieniową STM32vldiscovery z kontrolerem STM32F100RB. W przykładowym programie użyto licznika SysTick do wywoływania przerwania co 1ms. W programie użyto funkcji włączającej podział zegara systemowego (ustawionego na 24MHz) przez 8. "SysTick_CLKSourceConfig(SysTick_CLK...
Witam poszukuje projektu opartego na uC Atmega8 , który zlicza przerwania pomiędzy dwiema fotodiodami i sumuje je wyświetlając na 2 wyświetlaczach led.
Jeśli się nie mylę, to rzekomy problem o którym tu dyskutujemy (gubione przerwania timera) również można sprawdzić, ustawiając przerwanie od porównania dla dwóch kanałów. Początkowo wartość porównania powinna być taka sama, w każdym przerwaniu zwiększamy wartość porównania dla drugiego kanału o jeden...
Witam.Najprostrzą metodą na ten kłopot to zmiana pracowników którym to Pan nie ufa.:D.Ale jest inne rozwiązanie. Wg. mojego pomysłu można byłoby zastosować ten poprzedni czujnik drzwiowy,ale zmodyfikowany.Tzn. nie wiem co Pan tam stosował ,ale zakładając ze barierę laserową to wystarczyło by zastosować...
Pisałeś w temacie: I zastosowałem się do tego w taki sposób: Plik: main.h extern unsigned char reset_MCUCSR ; // zapamiętanie flag powodu restartu systemu extern unsigned char DDT_stan ; // flagi stanu urządzenia #define DDT_ON_OFF 0 // bit 0 - włączone / wyłączone extern unsigned...
Hej! Zależy co rozumieć pod pojęciem "wyliczyć jedną sekundę". Niestety o C nie mam pojęcia ale w asemblerze (zatrzymanie programu na 1s) zrobiłbym tak: org 0000H ;początek pamięci ljmp Main ;daleki skok do programu głównego ...... ...... org 000BH ;wektor T0 ljmp...
Witam, Pomysł dobry ale sypie się najprawdopodobniej z powodu zbyt dużej ilości przerwań. Proponuje projekt sterownika "równoległego", taki wykorzystałem w mojej pracy inżynierskiej. Wprawdzie korzystałem tylko z 8 serw ale 16 też obsłuży po drobnej modyfikacji. Program zabiera większość mocy...
Witam forumowiczów. Mam mały problem z przerobieniem programu do mierzenia temperatury wzmacniacza 2x200W, problem polega na tym że mam program pod kostkę AT89C2051 a obecnie dysponuje tylko atmegą 16. Oryginalny program jest użytkownika "lechoo". Byłbym bardzo wdzięczny gdybyście pomogli mi przy tym...
Oto program który napisałem $regfile = "attiny2313.dat" 'rodzaj mikrokontrolera $crystal = 8000000 '8MHz Dim Pozycja1 As Integer 'zmienna określająca położenie serwa1 Dim Pozycja2 As Integer 'zxmienna określająca położenie...
można również ustawić prestaler tak aby licznik się przepełniał i w przerwaniu przepełnienia zwiększać licznik przerwań pozwoli to uzystać wysoką dokładność ( albo zastosować 8 bitowy licznik a 16 zostawić do czego innego )
Mam takie pytanie teoretyczne. Zbudowałem układ na M8 którego zadaniem jest wyświetlanie temperatury w dwóch punktach. Jako wyświetlacze zastosowałem dwa zestawy wyświetlaczy siedmiosegmentowych (po cztery wyświetlacze na kanał) Od strony minusa elektrody sterowane są bezpośrednio...
Ile bitów wystawia atmega na adc? Czy potencjometrem chcesz ustawiać ilość kroków do wykonania? Jest to możliwe, kiedyś pisałem sterowanie ofsetem(Planeta 6 głowic po 32 silniki na głowicy), z potencjometru brałem od 0 do 1024 i wysyłałem odpowiednią ilość impulsów. Tak ja radzili - sterowanie timerem....
Oczywiście masz rację. Ale błędny odczyt, czyli inny niż "0" podczas pierwszego przebiegu, pojawi się tylko wtedy gdy po resecie uC, TSOP coś odbierze w ciągu części ms, w czasie gdy porty i przerwania będą już skonfigurowane a przed , czy na samym początku pętli. Według mnie można taki przypadek pominąć. Co...
// ================= PROCEDURA OBSŁUGI PRZERWANIA COMPARE MATCH ISR(TIMER0_OVF_vect ) Błąd. To jest przerwanie od przepełnienia licznika. Przerwanie od porównania to: TIMER0_COMP_vect . W nagrodę Pomógł od mniej spostrzegawczych użytkowników i moderatorów :) A co do tranzystorów, to oczywiście...
Witam. Układ transmisji szeregowej w '51 (UART), może pracować w czterech trybach pracy: 0 - 3. I tak: Tryb 0 - UART działa jak rejestr przesuwny wykorzystując linię P3.0/RxD zarówno do odbioru jak i do nadawania. Linia P3.1/TxD jest wyjściem sygnału taktującego o stałej częstotliwości równej...
Witam. W celu sprawdzenia układu wykonaj poszczególne testy: 1) od wyjścia licznika odłącz rezystor w bazie klucza i podaj na niego +zasilania (na wolne wyprowadzenie rezystora). Dioda świeci -> OK Brak świecenia diody -> odwrotnie podłączone LED (zamiana anody z katodą ) lub tranzystory. 2)...
Po wymianie sprzęgła nowa grubość tarczy powinna być wprowadzona do sterownika - choćby należałoby przeprowadzić tzw. "nauczanie skrzyni" chociaż nie do końca ta procedura zmienia parametry grubości sprzęgła w sterowniku. Jednak wygląda na to, że powód problemów jest inny. Jakie błędy są w sterowniku?...
Autor poniższej konstrukcji przedstawiał już podobny układ - miniaturowy zegarek oparty o ATtiny ( Krok 1: Przygotowania Mikrokontroler Układ oparty jest o mikrokontrolery AVR firmy Atmel ATtiny85. Autor wykorzystał element w obudowie SOIC z uwagi na niezwykle mały rozmiar....
ElKuba, a czy atmega8 i AtMega16 masz fabrycznie nowe, czy od kogoś ? Może ktoś wpisał fuse jak już napisałem w pierwszym poście: ...Napisany program testuję w programie Proteus 6.5. ... I teraz mam pytanie czy jest to problem wynikający z niedociągnięć programu proteus... Tak więc projekt testuję...
Preskaler masz rację za wolno zwierałem kabelki od impulsatora.... Ja to zrozumiałem, że przy szybszych impulsach silnik i licznik zadziałał! Jeśli nie to odpuść kontaktron i magnes! Uszkodzenie jest (niestety) w elektronice pozycjonera. Chyba, że jeszcze gdzieś jest przerwa na doprowadzeniu tych...
Witam, zbudowałem następujący dzielnik napięcia: Z braku potencjometru dobrałem wartości oporników "na czuja" i dla wartości: R1 = 180k R2 = 105k R3 = 17,6k Różnica napięcia na AIN0 i AIN1 mikroprocesora wynosi około zero, co jednak było interpretowane jako bardzo szybkie przełączanie...
Znalazłem w piwnicy stary radio budzik który był chyba po lekkim kursie latania ale nie w tym rzecz chodzi mi o takie przerobienie układu SC8560 ażeby zegar przestał odmierzać czas ale cyfry były wyswietlane. W sumie ktoś moze powiedzieć odłączyć nóżkę układu odpowiedzialną za częstotliwosc ale wtedy...
Szukam uC który miał by taką samą konfigurację pinów jak AT90S2313. Nie ważne są liczniki, przerwania i uart. Wykorzystuję tylko I/O, mam już złożony układ, ale chciałem rozbudować program i brakło pamięci. I tu jest warunek: nowy uC musi mieć więcej pamięci... Istnieje taki procek? Pozdrawiam
Panowie! dzięki za informacje (szczególnie za AtMega16 po polsku ) ale nadal niewiele z tego wiem :/ czy mógłbym prosić o kawałek przykładowego kodu np tak jak wcześniej podałem timer0 zlicza od zera do 256, preskaler ustawiony na 1 i po przepełnieniu licznika przerwanie głównego programu i jakaś funkcja......
Dzięki, dopiero zaczynam zabawę z uC. Dziś właśnie uruchomiłem pierwszą płytkę, dobry i wąż świetlny na początek:D Mam kostkę wyświetlacza LED- pojedynczą. Zastanawiam się jak ją podpiąć, trzeba do tego aż 7 wyjść zastosować? Poszukuję dobrej pozycji książkowej, gdzie były by opisane AVR-y programowanie...
Witam Kolego możesz wszystko. Niestety nie polecam Bascoma - instrukcji Bascom'owych do obsługi wyświetlaczy graficznych... możesz mieć później problemy z innymi instrukcjami typu liczniki przerwania itp Chyba ze sam sobie napiszesz sterowanie. Dataport - fajnie jest gdy to jest na jednym...
Dwa liczniki, przerwania i tablica bajtów. 1 wersja: Pierwszy próbkuje stan pinu co parę us, drugi liczy i zapamiętuje ramki czasowe. Tak by było stosunkowo mało danych do zapamiętania. 2 wersja: Pierwszy próbkuje stan pinu co parę us, drugi liczy czas 2..3 minuty. Dane lecą bitowo do tablicy bajtowej...
Witam ! Postanowiłem do dać nowy temat bo nigdzie nie znalazłem rozwiązania. Potrzebuję kogoś z okolic W-wy, kto podszkoli mnie w programowaniu mikrokontrolerów, chodzi mi o jakiś kurs organizowany przez jakąś firmę lub bardziej może jakiś student lub zapaleniec w tym temacie chciał by dorobić...
Witam, Pilnie potrzebuje instrukcję obsługi do S7-200 CPU 214. Nawet na stronie SIEMENS'a chyba zapomnieli o tym sterowniku. Znalazłem instrukcję ogólną do S7-200, nawet do cpu 210 ale tej, której szukam akurat nie ma!!. Nie chodzi mi o podstawowe informacje, ale o bardziej szczegółowe jak np. ilość...
Ale ja bym zamiast starej M8 wsadził tam M88, albo coś z tej linii - dużo nowych ficzerów! Oj tak! Dnia dzisiejszego już nawet miałem problem z zanabyciem m8 (w sklepie, gdzie normalnie kosztowały 5zł dzisiaj 11,90 :|), nie wspomnę już o dodatkowych licznikach, przerwaniach, włączaniu/wyłączaniu timera...
Zamierzam wykorzystać to bardziej do nauki podstaw niż jakiegoś konkretnego projektu. Dlatego zdecydowałem się na zestaw Discovery, nie wiem tylko z jakim procesorem. Na początek takie podstawy jak zabawa diodami, wyświetlaczem 7-segmentowym, LCD. Chodzi o dokładnie opanowanie podstaw (porty, liczniki,...
No sprawdziłem z 1k i działa jest 5.04V lub coś koło 0V. A jak proponujecie komunikację enkodera z atmegą. Trzeba zastosować jakiś licznik, przerwanie, czy tak normalnie zliczać zbocza/jedynki?
Witam , koledzy potrzebuje pinologie obrotomierza jak w temacie , przestał działać .Pozdrawiam. Do zamkniecia tasma w liczniku przerwana .
rozumiem że zmienna bldc_polozenie_wirnika jest zmienną globalną jak wyglądają kolejne wywołania podprogramów, z tego co widzę to rozruch nie jest wywoływany w przerwaniach i działa, masz 6 sterowań, każde jest zależne od położenia wirnika, dlaczego wchodzisz po 1000-cu przerwań?, jak się ma...
Projektów zegarów z AVR są setki w Internecie. Wystarczy poszukać, np. przez google. Jakiej pomocy oczekujesz? Swoją drogą - jeżeli dopiero zaczynasz naukę, to może poczekaj z budową zegara i zacznij od początku. Najpierw obsługa portów we/wy, migające diody, liczniki, przerwania itd. Kopiując gotowy...
Nie tylko SD, ale ktoś kumaty. Bo SD wprost nie pokazuje "wymień sprzęgło, bo jest zużyte" Diagnoza to nie tylko odczyt błędów. Jeżeli wyzeruje się wspomniany "licznik przerwań", to przy dalszych próbach załączania biegów najprawdopodobniej w jednej z rubryk licznika pojawi się "niezrealizowane załączenie...
Jeżeli ustalisz tryby pracy na ADC Noise Reduction i NIE włączysz przerwania od końca konwersji ADC, to możesz spokojnie zrobić obsługę tego w przerwaniu. Wpisanie, sleep, i pobranie - nie ma żadnej filozofii. Jak włączysz sleep w obsłudze przerwania, to inne przerwanie nie zostanie wywołane, a tylko...
Witam. Tworzę mały projekcik i natrafiłem na pewną zagwózdkę. Na początku wprowadzenie co układ ma robić i jak działać. Układ składa się z części analogowej, tzn. dwóch detektorów tonu (LM567) odpowiedzialnych za detekcję "bitów" łącza fizycznego. Chodzi o to, że rozpoznają "swoją" częstotliwość...
Witam męczę się już od dawna z przerwaniem od timera 0. Wymyśliłem sobie że po przepełnieniu licznika 0 ma nastąpić przerwanie. Licznik 0 liczy od 0-255 chciałem miec kontrolę na częstotliwością wywoływania przerwania więc gdy przerwanie jest wykonywane wpisuję od razu do licznika konkretną liczbę tak...
Witam, prosiłbym bym o pomoc, żeby ktoś wytłumaczył, albo podał przykład jak skonfigurować przerwania zewnętrzne w tym mikrokontrolerze bo walczę z tym i nic mi nie wychodzi i zaczynam podejrzewać, że to procek jest zepsuty, albo tej sztuki jeszcze nie opanowałem :D na początku pisałem własne kody,...
Witam wszystkich!!! Mam programik na którym próbuje zrozumieć przerwania zewnętrzne i nie moge pojąć :D . #include <REG420.H> #include <stdio.h> #define OKRES (-46080) unsigned char volatile tim = 0; unsigned char volatile licznik0 = 0,...
Poniższy program dla wersji ATMega32 usiłuję przerobić na wersję dla ATMega644p /która posiadam/. Program ma za pomocą przerwań realizować opóźnienia. Niestety robi się to wszystko skomplikowane ponieważ jak wiadomo szczególnie system przerwań i timerów jest dużo bardzie rozbudowany niż na niższych modelach...
Witam! Mam na początku pytanie: Co jest pierwsze przy pojawieniu się impulsu na ICP, przerwanie od niego czy przepisanie zawartości licznika do rejestru ICR1? Planuję zrobić licznik czasu trwania impulsu i wymyśliłem coś takiego (na razie schematycznie): [syntax=c] ISR(przerwa... od przepelnienia...
Dokładnie tak jak pisze Fredy. Z pewnością po zastosowaniu jego rad twój problem zostanie zlikwidowany. Nie mniej jednak ogólna strategia programowania mikrokontrolerów (mikroprocesorów) mówi, że program obsługi przerwania powinien wykonać się maksymalnie szybko. Jeżeli twój program nie robi wiele więcej...
witam, mam podobny problem, nie wiem co robię źle, chcę zapalić diodę podłączoną do PB0 za pomocą przerwania od przycisku podłączonego do PC7 lub 8. po wgraniu kodu przerwanie od SYSTICK ładnie działa, zapala i gasi na zmianę diodę na PB1, natomiast dioda na PB0 swieci się cały czas i nie ma żadnej...
Witam, Przerabiam książkę STM32 Aplikacje i ćwiczenia w języku C Pana Marka Galewskiego. Dotarłem do ćwiczenia 12c, w którym do sterowania diodami mają być użyte TIM1 oraz TIM2. TIM1 może generować przerwanie ogólne oraz przerwanie z kanału Compare. Dzięki temu łatwo możemy sterować dwoma diodami. Natomiast...
Poprawiłem warunek, teraz czeka dopóki flaga == 0, jeśli 1 to wyświetla wynik z tym że działa dla P1.8 i CT16B1. Na P1.8 jest microswitch podciągnięty do VCC przez rezystor. Kod dla P3.3 i CTB160 dalej nie wchodzi do przerwania. jakiś pomysł ? To wrzuca na terminal dla P1.8 i CT16B1: Test Rozpoczynam...
Poniżej wrzucam kod odnośnie przerwań. Używam 4: 1) Od konwersji ADC 2) Od przyjścia znaku na USART 3) Od przerwań zewnętrznych 4) Od przepełnienia timera do update zmieannych Po krótce ma on działać tak: jeżeli pojawi się coś na USART to przerwij i sprawdź co to za znak. Zrób odpowiednią funkcję....
Witam Piszę program, który ma mierzyć długość impulsu podawanego z zew. źródła jakim jest odbiornik RC, częstotliwość impulsów to 50Hz, a ich długość mieści sie w przedziale 1ms-2ms. To mój pierwszy program na AVR w którym obsługuje przerwania zew. i mam pewien problem, program już napisałem, sprawdziłem...
Mam problem z przerwaniem od Timera0. Chodzi o to by Timer0 zgłaszał przerwanie w trybie pracy z porównaniem. Jest to tryb Clear Timer on Compare Match (CTC). Licznik zlicza zdarzenia zewnętrzne i w momencie zliczenia do zadanej wartości ma zgłosić przerwanie i zacząc liczyć od zera. Aby to osiągnąć...
Mam nastepujacy problem, probuje wywolac przerwanie zewnetrzne od przycisku ktore uruchomi mi licznik w celu eliminacji drgan stykow. Wszystko dziala dla przycisku podpietego do wyprowadzenia A0 ale dla przycisku podpietego do wyprowadzenia C13 juz nie dziala. Przy debagowaniu widze ze ciagle wchodzi...
Witam, mam pewien problem z przerwaniami, otóż zastosowałem przerwanie zewnętrzne do zliczania obrotów i przerwanie timera do zliczania czasu w sekundach, ale po włączeniu przerwań timera, zobaczyłem w debuggowaniu że przerwania zewnętrzne zliczają do około 4. Czy jest to możliwe że przerwania się gryzą...
Mam program, tak jak poniżej, nie reaguje na przerwanie z int0 i int1. Program ma sterować silnikami od drzwi garażowych '--------------------Sterownik bramy by Peter507------------------------------' ... Interrupts Enable Int0 Enable Int1 On Int0 Przerwanie On Int1 Przerwanie1 Dim Licznik...
No nie to żebym od razu się domagał:) po prostu myślałem, że się ktoś zainteresuje i jak nie będzie widział tutaj potrzebnych informacji to powie mi jakich (a nie od razu zmiesza z błotem:) bo ja nie wiem co jest potrzebne żeby zdiagnozować ten błąd. Po kolei. Do tego nie robisz wcięć, przez co...
Witam, W mikrokontrolerze AtMega16 mam do portu PC.3 podlaczony przycisk, chcialbym od niego odebrac przerwanie. Jednak nie wiem jak ustawić rejestr maski TIMSK? Mam taki przykaldowy programik: #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #define...
Witam, mam pewien mały problem z komparatorem analogowym w procesorze Attiny2312 a mianowicie program nie przechodzi do obsługi przerwania które wg mnie powinno powstać kiedy następuje zmiana sygnału wyjściowego.Do wejścia AIN0 jest doprowadzony sygnał z potencjometru a do wejścia AIN1 sygnał z PWM...
Witam! Mam taki oto kod: #include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 10000000UL #include <util/delay.h> char znaki[10]={48, 49, 50, 51, 52, 53, 54, 55, 56, 57}; //znaki ASCII: 0 1 2 3 4 5 6 7 8 9 volatile uint16_t...
W mim projekcie używałem przerwań IRQ z timera0 i wszystko ładnie działało. Jako, że tych przerwań jest naprawdę sporo, procesor traci dużo czasu na wywołanie przerwania, dlatego postanowiłem zrobić przerwania FIQ. Moim przewodnikiem jest książka luciana bryndza. przerwanie wygląda tak: void...
Jestem początkującym z programowaniu w C.Opiszę problem : Zbudowałem licznik zwojów do nawijarki na ATMEGA 8 . Licznik liczy zwoje przy pomocy optobariery szczelinowej i tarczy z dziurką(czyli zliczanie gdy na wejściu stan niski) liczy w przód i w tył(przy odwijaniu). Jedno wejście ATMEGi zlicza...
Zasymulowałem działanie tego programu w AVR Studio i mam małą zagrychę. Nie wiem czy to wina AVR Studio (raczej nie), ale przerwanie nie działa tak jak powinno :D zmieniam stan (załóżmy diody) na pinie 7. - Gdy stan ma sie zmienic z "1" na "0" to po wywołaniu przerwania tak się dzieje, ale gdy ma...
Witam. Przerwań timerów dawno już nie używałem, ktoś zechciałby przypomnieć, w jaki sposób wyliczono w poniższym programie wartość Timer1, równą 64566? Fragment programu do sterowania fazowego (włączanie triaka na pewien okres czasu), autorstwa Kamila Kozłowskiego: $crystal = 10000000 (...) Inttim1:...
Tak wiec plik glowny wyglada to nastepujaco #include <at89c5131.h> #include "zmienne.h" #include "funkcje_lib.h" extern GET_KEY(); BYTE Tablica[10]; //Tablica[0] sekundy //Tablica[1] minuty //Tablica[2] godziny //Tablica[3]....
Witam Napisałem poniższy prosty program który po 6 zmianach stanu na nóżce int0 (PB2) wykonuje przerwanie. include "tn15def.inc" .def acc = r16 ;nadanie rejestrowi r16 nazwy symbolicznej .def licz1 = r20 .def licz2 = r21 .def licz3 = r22 ...
To jest fragment kodu, którego używałem , żęby zrobić obsługę licznik, ale nie działa w symulacji $sim $regfile = "m8def.dat" 'Informacja dla kompilatora. $crystal = 8000000 'Też dla kompilatora,zastosujemy...
Tak jak w tytule, poniżej kawałek kodu. Wygląda to tak że w pętli głównej jest polecenie "Wait" a INT0 ma przerywać tą pętle, i tu jest pytanie czy przerwie "Wait'a" ?? Dim Licznik As Byte Enable Interrupts On Int0 , Przerwanie , Nosave Licznik = 0 Do If Licznik = 1 Then Pind.0 = 0 Pind.1...
Witam! Mam taki dość nietypowy problem. Kontroler ma reagować na jedno z trzech przerwań: TIMERa 0 i dwóch zewnętrznych (czujki ruchu). Te przerwania zewnętrzne zliczają liczbę reakcji czujek, natomiast TIMER 0 ma odmierzać czas i dzięki niemu co kilka sekund mają być wyświetlane statystyki. Bez TIMERa...
Robię mały projekcik, w którym potrzebuję 4 kanałów PWM. Chciałem to rozwiązać programowo, niestety nie udaje mi się ożywić mojego timera, a konkretniej przerwanie (zarówno overflow jak i compare) nigdy się nie wykonują. Umieściłem w funkcji obsługującej to instrukcję gaszenia diody, lecz program nigdy...
nie mierz częstotliwości, tylko OKRES! V=o/t V - prędkość w m/s t - okres jaki upłynął pomiędzy dwoma następującymi po sobie impulsami z czujnika o - obwód koła w metrach Tak działają fabryczne liczniki, dzięki temu mierzą już bardzo małe prędkości. dodatkowo przejechany dystans otrzymasz dodając...
Dzięki za zainteresowanie tematem. Rzeczywiście mogłem lepiej opisać problem na samym początku. Już naprawiam błąd. System wygląda w ten sposób, że Atmega128 taktowana sygnałem o częstotliwości 14.745600 MHz (F_CPU = 14745600) podłączona jest bezpośrednio do 3 osiowego drivera silników krokowych TB6560....
Witam, mam napisany spory program, w którym są min przerwanie FIQ i wszystko działa pięknie. Niestety pojawiła się konieczność obsługi odmierzania czasu co 0,125 ms. Początkowo miałem obsługę przerwania wrzucona do FIQ razem z przerwaniami zewnętrznymi. Ale żeby FIQ wykonywało się możliwie najszybciej...
Witam. Chcę uruchomić licznik po wykryciu spadku napięcia na komparatorze analogowym. Nie wiem czy dobrze kombinuję :) Łączę z kanałem systemu zdarzeń komparator analogowy. EVSYS_CH0MUX=EVSYS_CHMUX_ACA... tutaj nie rozumiem troszkę. W generowaniu przerwań można określić które zbocze wyjścia...
Witam ,napisałem sobie następujący program który ma pełnić funkcję prowizorycznego zegarka. W obsłudze przerwania timer inkrementuję sobie sekundy , ale gdy chce wyświetlić je w main ciągle wyświetla zero na led. Natomiast gdy ostatnią linijkę kodu zamieszczę w obsłudze przerwania działa ok . W związku...
Proszę o pomoc w zaprogramowanie przerwania pochodzącego od licznika T0 do krótkiego programiku który napisałem.Prośba maja jest aby licznik zliczył 10s (startując równo z odliczaniem do dziesięciu które widac na wyświetlaczu siedmiosegmentowym) i włączył przerwanie które wykona program według pokazanego...
Witam, Probuje potestować przerwania IRQ dla TImera. Podbralem sobie przyklady Bryndzy i po malych przerobkach nie za bardzo o dziala. Po samych ustawianiach Timera wchodzac do petli while flaga T0IR jest ustawiana, czyli funkcjonalnie jako tak śmiaga. Ale niestety nie działa jeśli probuje czy...
Chciałbym zaprezentować prosty licznik Geigera, jaki ostatnio wykonałem. Urządzenie oparte jest o powszechnie znaną radziecką tubę STS-5. Lampa ta jest ciekawa, ponieważ jest stosunkowo czuła. Jako element sterujący zastosowałem mój ulubiony mikrokontroler rodziny 8051 typu AT89C2051 z typowym...
Co do eliminacji drgań. Można też tak: wciśnięto klawisz, wykonujesz akcje z nim związaną i kasujesz jakiś licznik i teraz choćby program odczytał kolejne wciśnięcie klawisza (drgania) to ignorujesz to przez czas drgań styków. Brzmi zawile, ale jest banalne: [syntax=c]if ((!(PINB & col)) && (licznik...
Podczas pisania programu dla mikrokontrolera AT90S2313 napotkalem na dosc osobliwy problem z przerwaniami zewnetrznymi. Mianowicie przerwanie wywoluje odbiornik podczerwieni (przez przerzutnik Schmitta) sterowany oczywiscie dioda IRED. Dzialanie tego systemu mozna porownac do bariery podczernieni. Problem...
Witam. Próbuje napisać zegarek na PICu. Używam oscylatora 4 MHz. Nie wiem jak zrobic odliczanie jednej sekundy. Pisałam o tym na innym forum i otrzymałam taka odpowiedź: "Jeśli używasz kwarcu 4 MHz to ustaw preskaler na dzielenie przez 64. W takim przypadku do licznika/timer'a będą przychodziły impulsy...
Witam ! Zwracam sie z prosba o rade w sprawie obslugi przerwań. Jestem na ukonczeniu projektu termometru na AT89S52 w ktorym mają działac dwa przerwania - wewnetrzne od timera ktory zapisuje wyniki 10 kolejnych pomiarow do pamieci wewnetrzej u-kontrolera oraz zewnetrzne od przycisku - microswitcha...
Witam. Mam pewien problem z programem. Generalnie układ posiada 3 przyciski. Kontaktron - generuje przerwania (nie sugerować się nazwą, testuję to na zwykłym switchu) P_zeruj - Przycisk od zerowania wyniku P_mierz - Jeśli jest w stanie 1 to przerwania są włączone jeśli nie to wyłączone. I tu pojawia...
Zalozenia ktore podales sa niezbyt precyzyjne. Podejrzewam, ze do sterowania serwomechanizmami sygnaly PWM wcale nie musza na siebie zachodzic a z faktu, ze maksymalne wypelnienie PWM wynosi zaledwie 10% wynika iz moglbys wystawic nawet 10 PWM-ow. Podsumowujac idea jest taka: w pierwszych 2ms (w okresie...
Przerwania procesora działają w procesorach AVR na takiej zasadzie, że (pomijając inne operacje) po wystąpieniu danego przerwania ( podczas obsługi przez procesor ) następuje zapamiętanie rozkazu następnego, który byłby wykonany, gdyby procesor nie przyjął przerwania (jego adresu w pamięci flash) i...
Atmega jest taktowana zewnętrznym kwarcem 12MHz, żeby jeden tick timera trwał ~1us. 1. Czy timer 8-bitowy przyjmujący zewnętrzne impulsy, może je przyjmować w takich samych odstępach czasowych jak 16-bitowy? Niestety na etapie projektowania nie zauważyłem, że żeby użyć 16-bit timera do przyjmowania...
Witam Potrzebuje pomocy przy stworzeniu algorytmu do sterowania Triakiem wykorzystując do tego licznik mikrokontrolera 8051. Narazie wygląda to tak ze wykrywam zero napięcia sinusoidalnego 230V 50Hz czyli okres mam 20ms (dokladnie wykrywam początek sinusoidy i tylko początek bo mam transoptor prosto...
Witam kolegów, mam zestawiony układ: PLC - S7 300 (CPU 313 C - 2DP) + enkoder inkrementalny (wykorzystuję sygnały AB, 24V DC). 1.Podłączyłem poprawnie enkoder do sterownika (wybrałem licznik kanału 0, czyli pierwsze dwa wbudowane wejścia cyfrowe modułu wejść/wyjść). 2.Skonfigurowałem sprzęt w Step...
Coś się w tym algorytmie nie trzyma kupy. Wciśnięcie przycisku zajmuje człowiekowi czas rzędu 1-10 sekundy (ok, przy trzymaniu palca na guziku daje się zejść do 1/40). Przez 1/40 sekundy przy 8 MHz próbkowaniu można zarejestrować 200 tysięcy próbek, a bufor mamy na kilka tysięcy. No to co my tu udajemy?...
Cześć :) Sprawdzam różne rzeczy podczas nauki uarta dla xmega128a3u. Korzystam z biblioteki Atmela, uart w trybie z przerwaniami, software'owy cykliczny bufor odbiorczy i nadawczy. Mam tablicę z danymi w formie znaków ASCII. Oglądam sobie wszystko przy pomocy realterma, do PC podłączone za pomocą przejściówki...
Witam Chciałem do kuchni wstawić czujnik PIR, ale z dodatkową zaletą, czyli stopniowym zwiększaniem i zmniejszaniem PWM, dodatkowo jeśli podczas zmniejszania PWM nadejdzie przerwanie INT1 od czujnika PIR, to program ma przestać zmniejszać, tylko zacząć zwiększać i to nie od zera, ale od wartości na...
Zkopiowałem sobie taki kawałek kodu: #include <avr/io.h> #include <avr/interrupt.h> #define TIMER0_INIT 175 char i; // procedura obsługi przerwania od timera TC0 SIGNAL (SIG_OVERFLOW0) { TCNT0 = TIMER0_INIT; // załadowanie do licznika wartosci poczštkowej PORTB...
mam sobie oto taki kod DM EQU P3.1 PP EQU P3.3 PB EQU P3.0 ZB EQU 30H ;zmienne odpowiedzialne za częstotliwość migania diodek ZP EQU 31H ZD EQU 32H ORG 000H ; PO RESECIE JMP MAIN ORG 003H JMP INT ORG 00BH JMP ODT0 ORG 01BH JMP ODT1 MAIN: MOV ZD,...
To Ci powinno ruszyć, napisałem kiedys pod Keila uVision3 V3.63. Dziala z Makieta Olimex'u LPC-2378-STK-A: // (LPC2378) mandaryn 2009 #include <lpc23xx.h> int flaga=0; // 0 -> dioda OFF, 1 -> dioda ON __irq void przerwanie...
Witam. Na początek dodam ze używam pakietu IAR i Wigglera oraz procesor LPC2103. Wykonałem odpowiednie ustawienia Timer0 (kod poniżej) i mimo, że T0TC odlicza w dol to program nie wchodzi do funkcji obsługującej przerwanie "irq_T0_Handler()". Czy ktokolwiek wie co robię źle? #include...
Witam ponownie, znalazłem wcześniej na elektrodzie program zegarka na LCD 2x16, który niestety nie działał prawidłowo (migały niezrozumiałe znaki na lcd). W celach edukacyjnych postanowiłem przerobić procedury obsługi wyświetlacza, co dało efekt końcowy jaki teraz mam czyli działający program zegara...
Reszta programu jest nieistotna, program jest za duży, żeby go wklejać. Ogólnie przerwanie wygląda tak: volatile u08 licznik; ISR(INT1_vect) ... Init(void) { DDRD &= ~_BV(1); // PORTD |= _BV(1); //init dla przerwania...
Witam, pisze program w assemblerze który pozwarciu INT0, będzie wykonywać określoną czynność(łączyć się z innym urządzeniem), Ale narazie utknąłem w martwym punkcie, napisałem program który po zwarciu INT0 wywołuje przerwanie które zapala diodę podpiętą do lini PC0 5 razy i gasi(zapalenie uzyskuje poprzez...
Witam Próbuję napisać obsługę pilota, który używa kodowania [url=]NEC. Następnie chcę przesłać kod na okno terminala za pomocą USART. Próbuję to realizować bez użycia funkcji typu delay_ms(), zamiast tego chcę użyć przerwań. Idea jest taka, że po pojawieniu się pierwszego zbocza od odbiornika podczerwieni,...
To kod, który u mnie na STMF107 działa - może znajdziesz jakieś róznice... W przerwaniu mam obsługę klawiatury 4x4 + kilka liczników, ale to tutaj nieistotne, więc nie zamieszczam. [syntax=c] //----------... Inicjalizacja TIM2...
Masz to zupełnie źle rozwiązane. Oczekiwanie w przerwaniu to jest kardynalny błąd! Jeśli chcesz to tak zrobić, to powinieneś mieć bufor z możliwością sprawdzenia ile jeszcze zostało do wysłania - np licznik pozostalych znaków. W przerwaniu sprawdzasz licznik - jeśli większy od zera, to zmniejszasz,...
Robię program składający się głównie z przerwań. Program steruje 6 silnikami krokowymi. Uruchomiłem więc 6 timerów dla kazdego silnika w trybie PWM, wypełnienie zawsze 50%, sterowanie częstotliwością. Żeby każdy silnik mógł wykonać zadaną ilość kroków (a zalezności miedzy silnikami są skomplikowane i...
Witam, czy ktoś może podpowiedzieć czy sygnał zewnętrznego przerwania musi być utrzymany w stanie ( np. niskim) do czasu wywołania procedury przerwania czy może zostać zwolniony. przykład dotyczy ATmega128 (kwarc 14MHz) gdzie uruchomione są dwa przerwania od licznika TIMER1 oraz zewnętrzne...
scenic ssanie skrzynka bezpieczników sprinter koparka białoruś skrzynka bezpieczników sprinter koparka białoruś bezpiecznik płycie płyta indukcyjna czyszczenie hydrostatu zmywarka honda bezpieczniki schemat serwer poczty przychodzącej powrotu oleju lenovo internet napiąć wirnik agregat