Wg. mnie zamiast tego: [syntax=c]#include <7seg.h> powinno być "7seg.h" [/syntax] Oraz zapomniałeś chyba dodać [syntax=c]#include <avr/interrupt.h>[/syntax] Oraz gdzie ty masz wektor przerwania? Bo go nigdzie nie widzę..
A gdzie instrukcja CONFIG TIMER1 = COUNTER?
Czytam i sam się pogubiłem hehe . Czy tu chodzi o względne przesunięcie (tmf) czy bezwzględne (satanistik). Parę miesięcy temu robiłem sterowanie PID dla servo Xmega w bascom . [youtube]https://www.youtube.com/watch?v... Nie obyło się bez problemu , który polegał na zliczaniu bezwzględnym więcej niż 65535 impulsów . Mój wpis z innego...
A zmieniłeś Timer na Timer1? Przecież bez tej zmiany Timer nie jest ładowany i zlicza nie 1000 lecz 65536 cykli. Co daje właśnie około 64-krotne spowolnienie.
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony jako COUNTER. Impulsy zliczane muszą być dostarczane...
........ chce wykorzystać wewnętrzny kwarc 8Mhz po trzecie czytając helpa jesli dobrze rozumiem to timer1 jest 16bitowy a timer0 jest 8 bitowy emarcus - gdybym chciał wykorzystać twój pomysł to gdybym zostawil timer1 jako counter a jako timer wykorzystał timer0 ktory by zliczał czas w jakim sa zbierane impulsy - jeśli o to ci chodziło i jeśli jest...
margas4542 zaopatrz się w program TimerCycles ze tej strony: http://www.wkretak.pl/downloads.php?cat_... Dzięki temu obliczysz liczbę cykli czyli to co zapisuję się do rejestru OCR1A. Jeśli chodzi o timery to po pierwsze preskaler(czyli część obwodu timera który dzieli impuls zegarowy tj. zmienia rozdzielczość timera) jest ustawiony na 1 mówi o tym...
Pozmieniałem troche program ale nie działa prawidłowo prędkość strasznie skacze od 0 do 240 km/h -bo nie zerujesz co 1 sec. licznika impulsów (Timer0), ponadto ,masz zbyt duży błąd zaniżając zakrses zmienmnej "Licz" - as byte Porównaj: $regfile = "2313def.dat" $crystal = 8000000 Config Lcdbus = 4 Config Lcd = 16 * 2 Config Lcdpin = Pin ,...
Przede wszystkim musisz zacząć kolego od poznania timerów. Do odmierzenia czasu używamy timerów ponieważ zlicza nam czas w tle działania procesora. Używając polecenia wait zatrzymujesz kompletnie uC na ten czas. Konfiguracja dla AtMega8 8Mhz u mnie wygląda tak: Config Timer1 = Timer , Prescale = 256 ''''konfiguracja timera On Timer1 1s ''''przy przerwaniu...
hunterhouse W AVR-ach sprzętowo można zatrzasnąć zawartość timera , ale uruchomić zliczanie trzeba programowo.Natomiast w 51-ce można uruchomić i zatrzymać timer sprzętowo.Jeśli na P3.3 jest stan wysoki i flaga GATE timera1 jest ustawiona , to timer zlicza doputy , dopuki stan na P3.3 nie zmieni się na niski.Problem jest tylko z tym , że Charly chce...
... wydawało mi się, że w trybie CTC mogę za pomocą OCR1A i OCR1B oddzielnie regulować częstotliwość na wyjściach OC1A i OC1B ... Masz racje , tylko Ci sie wydawało ;) W trybie który ustawiłeś , timer zlicza od zera , do wartości w OCR1A.Jeśli w OCR1A masz 1562 , a do OCR1B zaaplikujesz 3124 , to na wyjściu OC1B nic nie zobaczysz , bo NIGDY nie nastąpi...
14:20:25.471> X 14:20:26.405> X 14:20:27.342> X 14:20:28.340> X 14:20:29.276> X 14:20:30.211> X 14:20:31.147> X 14:20:32.084> X 14:20:33.099> X 14:20:34.033> X 14:20:34.969> X 14:20:35.967> X Teraz widać że timer nie dochodzi do 1 sekundy. Ale te wartości markera czasowego pochodzą nie z programu lecz z systemu operacyjnego, tak? Więc włóż je sobie......
Załóżmy, że to też błąd przy wklejaniu kodu (inaczej asembler zgłosiłby błąd). Powinno być R21 , a nie R121 . Być może to też błąd przy wklejaniu. Bity WGM12 , CS12 oraz CS10 nie znajdują się w rejestrze TCCR1A tylko w TCCR1B . Istotne jest jednak to, że ustawiając tylko bit WGM12 ustawiasz TIMER1 w tryb 4, czyli tryb CTC, w którym timer liczy od 0...
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...
Chciałem zapytać jak on działa. Załóżmy że do ICR1 wpisywana jest wartość przy zboczu narastającym. Zbocze wystąpiło przy wartości 100 w ICR1 a kolejne przy wartości 1100, różnica między nimi to 1000. Czy ta wartość 1000 to 1000 taktów zegara procesora?
Witam Procesor jak w temacie. Podłączyłem sygnał zmienny (fala prostokątna) do obu nóżek PortB0 (T0) i PortB1 (T1). I okazuje się że licznik T1 działa (zlicza impulsy) zaś licznik T0 stoi. Czego może to być przyczyna? Spalona końcówka czy coś trzeba jeszcze ustawić? W dokumentacji jest, że na tej nóżce jest XCK od USART'a. Może mam to włączone? Ręce...
Witam Chciałem ostatnio się pobawić timerem w funkcji licznika zewnętrznych zdarzeń. Ustawiłem TMOD w ten sposób: #01000010B (czyli Timer1 w funkcji countera, tryb 0, a Timer0 normalnie w trybie 2(potrzebny do obsługi wyświetlacza)). Umożliwiłem przerwania i włączyłem timery i wartość TL1 i TH1 wyświetlam sobie. I teraz problem: kiedy zwieram nóżkę...
Witam Potrzebuję zbudować licznik który po zliczeniu określonej liczby impulsów wykona jakąs czynność. Jako generator impulsów wykorzystałem kontaktron magnes i filtr RC Początkowo napisałem program obrotościomierza i wszystko działa ok. A Teraz po małych zmianach nic nie zlicza. Wykorzystuję Timer1 $regfile = "m16def.dat" $crystal = 1000000...
Witam Musze w czasie jednej sekundy (ewentualnie 0,5s) zliczyc ilosc impulsow podawanych na dwa porty UC. Zastanawiialem sie nad uzyciem do tego Timera_1 tylko nie wiem czy mozna go wykorzystac podobnie jak do pracy w trybie PWM (dwukanalowym). Ewentualnie moze jest jakas inna mozliwosc. Spodziewane paczki impulsow w granicyi od 1 do 1000 na sekunde.
Witam Jak rozumiem z dokumentacji, Timer1 ma możliwość takiego ustawienia rejestrów aby można było wywołać dwa przerwania. I owszem przerwania występują , pierwsze mniej więcej co 1 sek. tak jak było planowane, natomiast drugie występuje naprzemiennie z przerwaniem pierwszym (z niewielkim przesunięciem czasowym) bez względu na to jaką wartość wpiszę...
http://obrazki.elektroda.pl/7329866000_1... Miernik częstotliwości o całkiem niezłych parametrach, bo potrafiący mierzyć częstotliwości od 1Hz do 10MHz (9,999,999Hz) z rozdzielczością 1Hz w całym zakresie. Idealny do generatorów funkcyjnych lub jako zwykły miernik. Do tego tani i prosty w wykonaniu, z ogólnodostępnych części, a małe wymiary...
Mogę oczywiście i tak jest, zobacz foto. To jest marker startu. Ustawiam na nim początek, przyciskam reset w liczniku i naciskam przycisk start. Rusza napęd i zliczanie z enkodera od zera. Licznik zlicza i zatrzymuje na wymiarze, timer1 odlicza 200 ms do ustabilizowania papieru i całkowitego wyhamowania napędu żeby papier w ruchu nie wlazł pod noz i...
Co tutaj przekombinowałem? Atmega32. Tryb Licznika. Celem było zapalenie i gaszenie diod co sekundę. Preskaler = 256. Przerwanie tak wyliczone aby wykonywało się co sekundę. Timer 16bitowy [syntax=c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> ISR (TIMER1_OVF_vect) { PORTC ^= ~0xFF; //zmiana stanu portu C...
https://obrazki.elektroda.pl/2028213700_... Obecnie praktycznie każdy multimetr w cenie powyżej 50-100 złotych posiada zdolność pomiaru pojemności kondensatorów. Pomiar ten przydaje się szczególnie wtedy, gdy mamy do czynienia z kondensatorami, na których oznaczenia są nieczytelne, lub ich zwyczajnie brak. W tym przypadku pomiar z...
Prototyp zrobiłem na pomiarze napięcia (ADC) na fotodiodzie - to chodziło, dopóki nie zacząłem testu na dworze.... Fotodioda łapała podczerwień z... no właśnie, skąd? Nie wiem. To oczywiste. Światło z otoczenia również zawiera podczerwień, więc pojawiają się zakłócenia. Po odłączeniu fotodiody i dotykaniu kabelkiem do + na wyświetlaczu także pokazywały...
Jak skonfigurować Timer żeby zliczał czas załączenia masy Z tego co pamiętam to gdy podamy mase na Timer1 to zlicza impulsy dopóki nie wystąpi stan wysoki coś tu autor kręci... niewiadomo o co ci chodzi.
A jak programowo rozwiązać taką kwestję: Zasilanie sieciowe -> timer1 zlicza impulsy 100Hz i generuje przerwanie, na jakis port dajemy Vcc do detekcji sieci Brak sieci -> przerwanie generuje timer2, z odpowiednio dopasowanym prescalerem i wartością w pisaną do counter2?
Płytkę już polutowałem, silnik zamontowałem tymczasowo w podstawce zrobionej z pudełka na płyty cd a góra służy jako ochrona. Wszystko ładnie się już kręci :). Napisałem też szkielet programu w Bascomie (świetny trening bo dopiero zaczynam) i właściwie działa ale algorytm jest trochę do bani. Bo timer1 (16bit) zlicza cykle zegarowe od przerwania INT0...
Chcialabym wobec tego wykozystac timer1. No to do dzieła. Generalnie upierałbym się przy najprostrzym rozwiązaniu czyli: Timer1 zliczający impulscy z kwarca zegarkowego 32.786kHz, Timer przy przepełnieniu budzi procesor co 2 sekundy. Procesor zlicza ilość obudzeń (15 obudzeń to 30 sekund, 7185 obudzeń to 3:59:30 ). Czyli przy obudzeniu 7185 załącza...
Dzień dobry, zmagam się już z tym problemem od kilku dobrych popołudni, a zatem chcę napisać kod, który będzie uruchamiał tryb PWM korzystając z timera1 na dowolnym pinie w mikrokontrolerze STM32F303RE i nijak mi nie chce to zadziałać. Próbowałem już wielu rzeczy i nie wiem, co jest nie tak (zrobiłem to tak, jak jest w dokumentacji napisane, aby zrobić)....
Oczywiście :) Timer0 jest 8bitowy czyli zlicza do 256 :) Timer1 jest 16 bitowy i zlicza do 65536 :D Może to sprawa pojemności licznika?
Witam. Używam przerwania INT1i TIMERA1 do odmierzania czau trwania stanu wysokiego na wejściu INT1 przez zliczanie odcinków czasu 400us podczas trwania stanu wysokiego na wejściu INT1. '****timer1******** Config Timer1 = Timer , Prescale = 64 On Timer1 Pomiar_czasu Load Timer1 , 50 Enable Timer1 Stop Timer1 '*****wtrysk***** On Int1 Wtrysk Config Int1...
Hej Ludzie mam pewien problem.z tego co sie orientuje ustawione liczniki: Config Timer0 = Timer , Mode = 1 , Gate = Internal Config Timer1 = Timer , Mode = 1 , Gate = Internal Start Timer0 Start Timer1 Do Loop powinny zliczac taka sama wartosc.a w symulacji programowej wychodzi, ze jeden zlicza o polowe szybciej niz drugi np: T0=100 to T1=50,T0=10 to...
O właśnie teraz pomyślałem o zewnętrznych przerwaniach, że tak można by to zrobić. Natomiast nie rozumiem co rozumiesz przez stwierdzenie, że tryb PWM skraca cykl zliczania do 256 (czy ileś tam)? Specyfikacja procka stwierdza że dla Fast PWM "The minimum resolution allowed is 2-bit (ICR1 or OCR1A set to 0x0003), and the maximum resolution is 16-bit...
Timer- np. Timer1- jako licznik zlicza impulsy zewnętrzne. Podane na odpowiednią końcówkę- T1 w wypadku ATmega8. Nie potrzebuje żadnego preskalera- bo preskaler dzieli impulsy z zegara- a tu nie ma co dzielić. Ustawiamy bity CS10-CS12 na external clock source- falling lub rising. Czy ustawiamy końcówkę T1 jako wejście- nie pamietam. Można ustawić. Ilość...
Muszę użyć układ dwóch timerów ponieważ w docelowym układzie zakres czasowy Timera1 będzie za mały. Czy procesor zliczy na T1 impulsy generowane na OC2 ? Obawiam się sytuacji, że przy wspólnym CLK gdzieś mi się zbocza miną pomiędzy OC2 a T1 i układ nie zatrybi... Oczywiście że zbocza te mogą się minąć, ale to jest bez znaczenia. Podczas synchronizacji...
No wlasnie, tylko czemu zmiana na wyswietlaczu nastepuje co 1 sekunde?. Jak nie ustawiam load timer to czas miedzy zmianami jest ten sam. Rozumiem ze timer1 jest 16bitowy zlicza do 65536. Ile nie ustawie load timer1 = 250 czy 65100 to zmiany nastepuja w podobnych odstepach czasu. A ja potrzebuje uzyskac rowno 100ms na przerwaniu
Przepraszam za dłuższą nieobecność. Nie mając nic nowego (i mądrego) nie pisałem. Ale w międzyczasie polutowałem zestaw startowy, a ostatnio napisałem inny program, który umożliwia (w zamyśle) liczenie dokładniej częstotliwości dla "paczki" impulsów, tym razem około 500 Hz. Wiem, że to dosyć skomplikowany tok myślenia, pewnie można to zrobić prościej,...
zmieniłem kod programu: [syntax=c] #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include "hd44780.h" #include "stdlib.h" char Buffer[20]; int TCNT0_WART=0; volatile unsigned long imp_curr=0; volatile unsigned long imp_prev=0; uint32_t displ=0; int main(void) { //TCCR0 |=(1<<CS00)|(1<<CS01)|(1<...
Tak. Gdybyś chciał wprowadzić przesunięcie o p.cz. to trzeba byłoby wstawić Czestotliwosc = Czestotliwosc +/- Pcz W tym programie Timer1 (16 bitowy) zlicza czas 1s. w jednym przebiegu dla zwiększenia dokładności pomiaru. Impulsy liczone są przez Counter0.
Witam Czy ktoś ma jakiś pomysł jak programowo zliczać impulsy timerem0 większe od 256 ? Timer1 chciałem wykorzystać jako PWM więc on odpada. Pozostaje timer0 ale on zlicza tylko do 256, a ja potrzebuję zliczyć do 390. Jak to zrobić programowo, żeby jak counter0 się zwiększy o 1, to żeby zwiększył jakąś zmienną o jeden. W ten sposób mógłbym zliczać większą...
Witam. Zliczam sobie odcinki czasu i nagle program sam od siebie zeruje wynik i zlicza z powrotem od 0. Poniżej zamieszczam część programu odpowiedzialną za zliczanie, może ktoś ma pomysł czemu się tak dzieje? '****timer1******** Config Timer1 = Timer , Prescale = 64 On Timer1 Pomiar_czasu Load Timer1 , 50 Enable Timer Stop Timer1 '*****wtrysk*****...
To w końcu nie rozumiem po co Timer1 odpalać w trybie CTC? W końcu w przerwaniu ICP trzeba liczyć okres sygnału bo przecież tryb CTC ograniczy tylko wartość maksymalną do jakiej zlicza Timer1 i powoduje jego automatyczne wyzerowanie. Poza tym ta wartość wynika z wpisu do odpowiedniego rejestru - jeśli dobrze pamiętam...robiw
Jest latwiejszy sposob, zaczerpniety z ksiazki Marcina Wiazani. Zamiast Timer1 = 36736 powinno byc Timer1 = Timer1 + 36736 To Ci uwzgledni gubione takty. W momencie przepelnienia Timer1 = 0, ale czas nadal biegnie, wiec licznik rowniez zlicza takty zegara. Zanim dojdzie do linijki, w ktorej ustawiasz ponownie wartosc timera, minie kilka-kilkanascie...
DSy potrzebują 750ms na pomiar i konwersję danych, ale po wysłaniu komendy, procek może zająć się czymś innym i odpytać ponownie czujniki po tym czasie. Tak z ciekawości - po co Ci aż taka szybkość pomiaru temperatury, która i tak zmienia się powoli ? Witam. Mam wykonany termometr jednopunktowy na DS18B20 i ATtiny2313. W celu nauki i sprawdzenia działania...
A co Tobie niby nie chodzi w tym proramie? Ja przed chwilą skompilowałem i uruchomiłem w trybie symulacji następujący kod: $regfile = "m8def.DAT" $crystal = 8000000 $baud = 9600 Config Timer1 = Counter , Edge = Falling , Compare A = Disconnect , Clear Timer = 1 Compare1a = 100 On Compare1a C1 Enable Compare1a Enable Interrupts Config Pinb.0...
1. Sprawdź jak działa samo serwo po podłączeniu zasilania, a jak po jego odłączeniu. 2. Pokaż schemat. 3. Pokaż kompletny program. 4. Zastanów się, jaki tryb pracy Timer1 włączasz, a w konsekwencji do jakiej wartości zlicza Timer1 i jak to się ma do 1Mhz (którym taktujesz mikrokontroler) oraz standardu sygnału sterującego serwem? http://obrazki.elektroda.pl/3955387700_1...
[syntax=basic4gl] Dim Przerwa As Byte 'licznik czasu przerwy Dim Pomoc1 As Byte , Pomoc2 As Byte , Wysw As Byte 'zmienne pomocnicze Dim Random As Byte 'zmienna do uzyskania przypadkowości Dim Zliczaj As Bit '1 - zezwolenie zliczania czasu Dim Setne As Byte 'licznik setnych części sekundy Dim Dzies As Byte 'licznik dziesiątych części sekundy Dim Wygasz...
Dziękuję kolegom za pomoc, uwaga Szaflika okazała się właściwa. Udało się, licznik Timera 1 zlicza impulsy. Tak jak napisał Szaflik, trzeba zmienić OPTION BYTE AFR0. Ja to zrobiłem przy pomocy programu ST Visual Develop(do tego musi być zainstalowany program STVP): Tool->Programmer->zakładka OPTION BYTE -> prawym klikamy na interesujący nas bit i zmieniamy...
Witam, posiadam płytkę ZL29ARM i staram sie zrealizowac odczyt predkosci obrotowej przy uzyciu enkodera wobit M590. Kierujac sie dokumentacja "reference manual" podlaczylem enkoder - kanaly A i B na piny numer 6 i 7 na porcie A, uruchomilem Timer3 w trybie enkodera i dziala - zlicza w gore, w dol. Problem polega na tym, ze program powinien udostepnic...
Witam. Udało mi się zrobić miernik czestotliwości na Atmega644p dzieki dwóm timerą pierwszy timer 8- bitowy, drugi 16-bitowy. Pierwszy timer(timer0) ma za zadanie sprawdzac czy nie pojawił się impuls na pinie t0, natomiast timer drugi(timer1)ma za zadanie odmierzac czas. Całość taktuje kwarcem 16 000 000 Mhz. Jednak dokładność tego miernika czestotliwosci...
Witam! To mój pierwszy post, więc proszę o wyrozumiałość. Skonstruowałem licznik impulsów - częstościomierz, w oparciu o projekt AVT5025 (Mikroprocesorowy wykrywacz metali). Sonda wykrywacza umieszczona będzie przy bramie wjazdowej na parking i jeśli pojawi się nad nią samochód to na danym pinie mikrokontrolera pojawi się stan wysoki. Układ ma po prostu...
Witam. Napisałem sobie prosty program do sterowania fazowego: $crystal = 8000000 $regfile = "8515def.dat" Detfazy Alias Pinb.1 Config Detfazy = Input Q2 Alias Portc.1 Config Pinc.1 = Output Config Timer1 = Timer , Prescale = 8 Stop Timer1 On Timer1 Irq_t1 ' jeśli nastąpi przerwanie od timera Timer1 wykonaj procedurę Irq_t1 Enable Timer1 Enable...
Może ten temat troche pomoże jest na innym kwarcu ale zasada ogólnie ta sama http://www.portalnaukowy.republika.pl/ob... Takie rozwiązanie w Bascomie jest najprostsze, tzn pomiar czasu poprzez komendę Wait 1(odczekanie 1 sekundy), odliczenie 1 sekundy podczas, której Timer1 jako licznik zlicza ilość impulsów. Już tak robiłem, ale domyślnie...
Koledzy, mam mały problem, gdyż mój pomysł na zliczanie czasu otwarcia wtrysku nie bardzo się sprawdza. W tej chwili robię to tak, że w czasie 0,5s w pętli sprawdzam czy na pinie do którego jest podłączony sygnał wtrysku jest stan wysoki, jeżeli jest, to zwiększam zmienną "wtrysk". Działa to w miarę dobrze, ale jak np. wcisnę przycisk, co wiąże się...
Sorki rz eczywiście coś pokreciłem ale pomogłeś mi ;-) nie wiedziałem ze timer0 jest 8 bitowy myślałem że tak jak timer1 16 bitowy, i nie zlicza on do 4884 tylko 4884 razy sie przepełnia czyli po 1,250,304 X 8 taktch przerywa zliczanie :-) czy po równej sekundzie odliczjąc takty na przepaładowanie timera i wykonanie kilku procedur :) dzieki za pomoc
bascom zlicza czujnik zlicza zlicza kilometry
przebicie elektryczne świateł pozycyjnych troubleshooting samsung
Suzuki Swift 2014 – instrukcja napraw, manual serwisowy, schematy, Haynes, TIS Bosch EDC17C60 P02ED – zbyt mały przepływ powietrza, klapa dolotowa, BlueHDi, TDCi