witam! mam taki problem: chcę zliczać zewnętrzne impulsy, timer mam skonfigurowany w taki sposób: config Timer0 = counter, edge = falling, noice cancel = 1, na portd.4 mam ustawiny wewnętrzny pull-up i dodatkowo zewnętrzny rezystor podciągający 4,7k.do masy kondensatorek 100 nF. Licznik oczywiście mi liczy ale zlicza też przypadkowe impulsy. widać to...
"Tą" liczbę masz zapisaną w zmiennej Liczba_przerwan_tim0 a nie w ośmiobitowym (czego się chyba obawiałeś) rejestrze timera0 - więc nie ma problemu.
chyba masz podpiąć impulsy do PD.4. Bo zliczający impulsy masz ustawiony Timer0. Ja to mówię dla ATmegi8 bo nie podałes jaki procek masz u siebie założony. Dodano po 55 tylko nie zapomnij dać w $regfile="m8def.dat" bo kompilator nie wie dla jakiego procka pisałeś.
Config Portb = 63 : Portb = 63 Config Timer0 = Timer , Prescale = 1 Enable Interrupts : Enable Timer0 : On Timer0 Time Do Loop End Time: Timer0 = Zmienna Toggle Portb.3 Return Zmieniając wartość zmiennej "Zmienna" zmieniać będzie się częstotliwość impulsów.
Dołacz do wyjscia Timera rezystor 3k3 do masy, powinno pomóc,smieci zostaną "odfiltrowane" do masy. Zmniejsz tez napiecie z 5,6V do poziomy TTL, dając jakiś bufor przed. Napięcie wejśwciowe nei powinno przekraczać napiecia zasilania uC a pewnie z 5V jest zasilany. Pozdrawiam
Udało mi się odpalić program z książki Pana Wiązani, ale tam timet odmierza 1s Jak to przeliczyć? Jest jakiś na to wzór? Rzeczywiście musiało się 'udac odpalić' bo ten program nie jest pozbawiony błędów (!) \ A jak zrobić żeby odmierzał np 10 sekund? Zmiana preskalera wydłużyła max do 2sekund czas. Aby timer1 odmierzył inne/dowolne interwały czasu,...
Działa u Ciebie cały czas? Ja wrzuciłem do symulatora i działa tylko zaraz po uruchomieniu, tzn. jeden cykl 5-sekundowy. Jak na początku podam załóżmy 4 impulsy to po 5 sekundach zaswieca sie 4 razy port, ale następne 5 sekund już nie dziala :|
chciałbym zliczać impulsy generowane przez transoptor szczelinowy mam taki kod ............ prosił bym o jakieś wskazówki bo to dopiero początki z mikrokontrolerami i niektóre rzeczy mnie przerastają Daj sobie spokoj z Wait, Waitms. Do naliczania przedzialow czasowych zastosuj drugi timer np. Timer0. Nie musi to byc koniecznie 1 sekunda. Dodasz odpowiedni...
Chcę napisac własny program z wykorzystaniem Timerów. Na początek proszę o wytłumaczenie dlaczego w poniższym programie: 1. wykorzystano podzial częstotliwości zegara (po preskalerze 256) 250/125 zamiast wykonac jedno dzialanie? 2. uzyto wartość początkową Timera0 = 250 przed Petlą do Loop End . O ile wyjaśnienie podane przez Tomq jest błędne(!) Load...
Config Timer0 = Timer , Prescale = 32 Enable Interrupts Enable Int0 On Int0 Przerwanie1 Nosave Cls 'tutaj wysyłasz impuls pierwszy start timer0 Do : Loop Przerwanie1: stop timer0 'tutaj co ci sie podoba lcd "odleglosc:" ; wynik 'co tam jeszcze chcesz 'wysyłasz impuls start timer0 return End
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ść...
No właśnie Atmega8 ma dwa timery, na nóżce 6 i 11mozna zliczac impulsy, a w dokumentacji czytamy: Two 8bit counters One 16bit counter Czyli ten trzeci na której nóżce moze zliczać? Normalnie sie go używa jak innych? Config Timer0 = Counter , Edge = Rising Config Timer1 = Counter , Edge = Falling Wystarczy wpisac? Config Timer2 = Counter , Edge = Rising...
Witam. Jak widać jest to mój pierwszy post na tym forum. Na wstępie chciałbym prosić o wyrozumiałość - jeżeli temat znalazł się w nieodpowiednim miejscu, popełniłem jakiś błąd w składni tytułu czy coś tego typy, prosiłbym moderatora o poprawkę i pouczenie jak w przyszłości uniknąć powielenia problemu. Jestem w trakcie pisania pracy inżynierskiej dotyczącej...
Witam ] Nie jestem pewny czy aby dobrze myślę....... Czy ustwanienie CS02 na 1 i CS01 na 1 tak jak w medze8 również w tiny13 ustawia timer0 w CTC MODE i FALING EDGE ? Nie, nie możesz tu stosowac tego typu 'ściągawki' bazując na pewnej analogii oznaczeń funkcji i terminów dla analogicznych rejestrów. Istotnie, ustawienie bitów CS02 i CS01 na 1 w rejestrze...
... dlaczego zmienna "czas" raz przyjmuje wartość 1000 a raz 768 w tym programie? Na jakiej podstawie wyciągasz taki wniosek? Dziwny sposób: TO liczy impulsy z generatora LC, ...
Stos OK. Mówię Ci. Skasuj flagę przed "Enable INT1". Generalnie kolejność mam w kodzie taką: Config Int0 = Falling 'opadajace zbocze wywoluje przerwanie Config Int1 = Falling 'opadajace zbocze wywoluje przerwanie Config Timer0 = Timer , Prescale = 8 'konfiguracja Timer0 jako timera z preskalerem przez 8 'Przerwanie od przepelnienia Timer0 jest generowane...
Witam wszystkich, jestem początkujący w AVR i potrzebuje porady. Napisałem program do zliczania czasu (timer0) oraz generacji prostokąta na 40khz (timer1- fast pwn 16bitowy) Ogólnie to atmega pracuje na 1Mhz nie daje kwarcu.. Moje pytanie czy jest możliwość zrobienia generatora na 40kHz na innym timer0 lub timer 1 (8 bitowe) bo timer 1 jest 16-bitowy...
Start Timer0 to jest to samo co Enable Timer0. By Zy Du Ra kolego Enable TIMER0 Włącza przerwania od TIMER0 Start TIMER0 powoduje rozpoczecie zliczania impulsów przez ten timer.
Impulsy są z czujnika z zewnątrz - powiedzmy klawisza który podaje 5v czy tam mase. Konfiguracja jest tu Config Timer1 = Counter , Edge = Rising czyli t1 jest wejściem i zbocze zwiększa wartość timer1 co spełnia warunek If Timer1 = 1 Then Timer1 = 0 i tyle. Działa bo widzę na układzie tylko czy czasy sie zgadzają nie mam pojęcia skoro mam Counter0 =...
Timer 8-bitowy przepełnia się po zliczeniu do 256 a preskaler dzieli maksymalnie przez 1024 więc z prostego mnożenia wynika, że częstotliwość zegara, która spowoduje przepełnienie timera po 1 sekundzie to 1024x256=262144 Hz. Jeśli taktujesz mikrokontroler wyższą częstotliwością to na tym timerze nie zrobisz przerwania co 1 sekundę. Oczywiście timer...
Witam! Buduję (na razie wersja teoretyczna) system sterowania 2 silnikami DC z programową regulacją PID. W systemie jest uC ATMega8535. Musze zliczac impulsy z 2 fotokomorek i problem polega na tym, iż Timer1 uzywam do 2-kanalowego PWM, Timer2 jako zegar do odmierzania okresu dyskretyzacji dla PID (0.01s). Pozostał Timer0, który niestety ma tylko jedno...
Zajrzyj do rozdziału o Timerze2 i będziesz miał wyjaśnione jakie funkcje może realizować ale pewnie da się tak zrobić jak w atmega8.
No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
Odświerzę trochę temat. Ja konkretnie muszę w miarę precyzyjnie zmierzyć prędkość obrotową w możliwie krótkim czasie. prędkość w zakresie 750-6500 obr/min. Dysponuje tarczą 25 nacięć na obrót i fotokomórką szczelinową która daje ttl na wyjściu. Puki co ttl generuje z generatora ne555 by uniknąć błędów pomiarów związanych ze stroną mechaniczną systemu....
Witam, proszę o wyjaśnienie zasady działania sygnału PWM [syntax=c]int main(void) { DDRB |= LED1 | LED2; //Wyjścia LED //Inicjalizacja Timer1 (PWM) TCCR1A |= (1<<COM1A1) //Zmiana stanu wyjścia OC1A na niski przy porównaniu A | (1<<COM1B1) //Zmiana stanu wyjścia OC1B na niski przy porównaniu B | (1<<WGM11); //Tryb 14 (FAST PWM, TOP=ICR1)...
Kolega miał pewnie nieco rozkalibrowany generator RC, skoro takie ustawienie mu akurat wyszło. Licznik Timer0 zlicza przez pełen okres 256 impulsów. Zatem jeśli od 0x100 odejmiemy 0xCA to otrzymamy 0x36, co daje 54 impulsy zliczone przez licznik. Teraz: 4 MHz/8/54 = 9259,25 Hz 1/9259,25Hz = 108 us Otrzymamy zatem mocno naciąganą wartość w okolicach...
Witam Postanowiłem zbudować miernik odległości wykorzystujący ultradźwięki. Zakupiłem 2 czujniki w TME http://www.tme.pl/przetwornik-ultradzwie... http://www.tme.pl/dok/b14/100902_bpu-164... Jednego używam do wysłania fali a 2-go do odebrania. Po przejrzeniu postów na Elektrodzie i innych www...
Widzę,że nie ma zainteresowania tematem. A mnie na razie udało się stworzyć układ na Attiny2313. Config Portb.0 = 1 ' ustawienie całego Portu B0 jako wyjścia Portb.0 = 1 ' stan spoczynkowy Portu B0 ustawiony na 1 Config Portb.1 = 1 ' ustawienie całego Portu B1 jako wyjścia Portb.1 = 1 ' stan spoczynkowy Portu B1 ustawiony na 1 Config Timer0 = Counter...
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 na LCD, ale jest jeden problem. Zegar odmierza 1 sek...
Na AT90S8535 zrobiłem sobie licznik impulsów i elegancko zlicza. Zrbiłem to na dwa sposoby (poniższy kod) z wykorzystaniem jednego timera i bardziej dokładny z wykorzystaniem 2 Timerów. Najgorsze jest to że gdy wsadziłem ATmega8535 na lcd pojawia mi się zero tak jakby counter w ogóle nie zliczał impulsów. Zegar procków (7.372.800 Hz) ten sam. Co jest...
Spróbuj mojego rozwiązania to cały blok testowy z większej całości. Możesz pozbyć się całkowicie obsługi LCD choć do testów i analizy w sumie może Ci się przydać :) Działa w 100%. Pozdrawiam [syntax=basic4gl]'----------------------... ' Pozycjoner V1.3 - częstotliwościomierz ' ' SylwekK ' 2011.10.xx ' ' 'kwarc 8MHz '--------------------------------------....
Witam. Chciałem w celach edukacyjnych zrobić częstotliwościomierz. Ponieważ nie mam za bardzo skąd wziąć zewnętrznych impulsów postanowiłem, że jeden pin procka będzie je generował, a przerwanie int0 będzie liczyć ile tych impulsów było. Do odmierzenia czasu posłużył timer1, który ma odliczyć sekundę (więc wynik od razu w Hz). Po upływie sekundy ma...
Przesyłam fragment kodu dla "paluch_gda" jedną cewką zapłonową na dwa obroty wału (pełny cykl pracy) na jednej cewce generowane są 4 takie "odcinki czasu" (iskra przeskakuje po raz na każdej ze świec), więc na 1 obrót wału przypadają 2 "odcinki czasu". Dzielimy więc wartość Nr (liczba "odcinków czasu" w 1 minucie) przez dwa i otrzymujemy prędkość obrotową...
Jeżeli chodzi o schemat to jest pewien kłopot. Nie robiłem tego układu na uniwersalnej płytce drukowanej czy coś podobnego. Jestem szczęśliwym posiadaczem [url=http://www.sklep.propox.com/index.p... ewaluacyjnego na którym chce najpierwsz zrobić, przetestować i mieć prawidłowo działający układ a później do niego zaprojektować...
Witam Planuje zrobić sobie miernik częstotliwości różnych kształtów napięcia: sinus, prostokąt, trójkąt. Zamianę sinusa i trójkąta na prostokąt mam już zaplanowaną. Zostało mi tylko zmierzenie częstotliwości sygnału prostokątnego o amplitudzie 5V i przedziale częstotliwości od około 10 kHz do 500 kHz. Chciałbym to zrobić na mikrokontrolerze ATmega8...
A czy mógłbym prosić o jakiś konkretny przykład? Albo poprawić ten: Config Timer0 = Timer , Prescale = 1024 On Timer(15) Gosub procedura 'czekaj 15sec. Timer On Do Loop End Procedura: Cls Lcd "ok" Waitms 500 Return Nie wiele tu mozna poprawic bo od poczatku do konca masz bledny koncept pracy z timerami. Po pierwsze: w konfiguracji wartosc 'Prescale'...
Witam Właśnie przeczytałem rozdział manuala M8 dot. pracy T/C0 i rejestrów odpowiadających za timer, tylko nie wiem jak zrobić, aby timer odmierzał wartość 1 sekundy .... ;| To chyba nie bardzo zrozumiałeś to , co przeczytałeś :( Timery nie potrafią odmierzać czasu , ale za to doskonale potrafią zliczać impulsy , których źródłem może być przeskaler...
Witaj. Skądś znam ten problem, ktoś mnie o coś takiego prosił. Tyle, że wartości częstotliwości i wypełnienia były ustawiane potencjometrami. Programik był napisany na ATtiny26, wartości częstotliwości i wypełnienia nieco sie różnią, ale możesz sobie to zmienić. Programik testowałem (ale bez oscyloskopu). W razie błędów proszę o łagodny wymiar kary...
...Ale przenieś choć część swoich Sub do przerwania Timer2, lub 1 i zobacz jaka jest różnica w działaniu programu. Tylko, że ja kompletnie nie widzę takiej potrzeby. Skoro wszystko działa jak należy, program pisany jest modułowo, działanie oparte na programowych timerach, które spokojnie dają radę, przerwania robią to co powinny i jeszcze mam trochę...
A w "książce" Wiązani nie było wytłumaczenia jak ten kod działa? no w książce było ale że ja dopiero zaczynam z tym zabawe to nie tak hop siup sobie samemu napisać :) dlatego liczę na pomoc elektrody Posprawdzałem dokładnie program, pozmieniałem porty bo sie nakładaly na ten z odbiorem rc5 ale niestety program nie ruszył. Ciągle wyświetla 8888 i nie...
Napisałem program który generuje impulsy (40kHz) na porcie za pomocą timera0. Mam pytanie czy i w jaki sposób moża zrobić żeby ciąg impulsów podzielić na "paczki" po 5 impulsów z odstępami ok. 100Hz. Jezeli bym zaprzągł do tego licznik 16bitowy to by mi sie przepełniał co 122Hz i odpalał timer 0 na jakiś czas i to by mi w sumie wystarczało ale nie mam...
Wreszcie znalazłem chwilę by złożyć na płytce stykowej układ od testów odczytu kart (ATmega8). Zgodnie z sugestią wyjście RDY/CLK podłączyłem do wejścia T0 uC i wykorzystałem jako generator taktujący dla Timer0 a do ICP1 podłączyłem DEMOD. Teoretycznie powinno być ok ale zauważyłem dziwne zachowanie układu z EM4095. Otóż niezależnie od tego czy transponder...
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...
Szanowni Forumowicze, mam problem z regulacją prędkości obrotowej silnika DC wyposażonego w enkoder za pomocą przerwań INT. Enkoder to czujnik Halla i odbiera impulsy z magnesu neodymowego na wale silnika (magnes 8-polowy). Prędkość kontroluję za pomocą generowanego PWM na atmedze podawanego na mostek L293DNE. Atmega pracuje na 1MHz, a licznik to Timer/Counter0...
Właśnie z tej strony korzystałem pisząc cały kod:) Uporałem się juz z problemami, przedebugowałem kod i co się okazało: powodem błędów było wyłączanie i włączanie przerwań, w stylu ACSR = 0x04; /*...*/ ACSR = 0x00; Wtedy przerwanie włączało się samo, podobnie z TIMSK. Prawidłowo powinno być tak: #include <avr/io.h> #include <avr/interrupt.h>...
No właśnie, w nocie jest taka wzmianka że tryb asynchroniczny T2 niby jest zoptymalizowany dla oscylatora 32,768Hz A ja mam ochotę, podać mu sygnał zewnętrzny. Szukałem jakiś danych w nocie odnośnie właściwości elektrycznych, alem się nie doszukał :) Zależy jak mocno szukałeś i w jakiej nocie... Inna nota Atmel podaje: " External Clocking External...
r"]Idę w jakimś kierunku ....... ? Niezupełnie, nie najlepsza ta droga..... Po pierwsze: wybór processora i parametrów. -Attiny13; praktycznie nie masz możliwości taktowania go 10 Mhz. Masz do wyboru: 1.2, 4.8, 9.6 Mhz. albo też 'zasilić' go (CLK1) z gotowego (zewnętrznego) źróła zegarowego co nie ma w zasadzie ekonomicznego sensu. Jego timer0 z przyjętym...
słuchajcie panowie, ja coś popełniłem w BASCOM8051. nie napisałem jeszcze żadnego programu którego działanie sprawdziłem w praktyce, bo nie mam programatora. wszystko tylko symulowane programowo. chciałem zrobić Config Lcd = 16 * 2 declare sub ustawienia dim d as byte 'przejechana droga dim v as single 'predkosc modelu dim o as byte 'obwod kola modelu...
No to mam juz jakis podstawowy kod do pomiaru predkosci :) mam multipleksa NIE WIEM CZY DOBRZE ZADEKLAROWALEM PORTY - prosze o sprawdzenie czy ilosc cyferek sie zgadza i czy prawidlowo "pominalem" bity kwarcu (portB) resetu (PortC) i timer'a (portD) - wystarczy tam dac zera (wejscia) i juz?? no i potem jak deklaruje ktore maja byc w jakich stanach to...
Hmm. Niektóre zagadnienia można rozwiązać na wiele sposobów. W przypadku mojego przykładu pin INT układu PCF można podłączyć do dowolnego pinu uC. W przypadku Twojego rozwiązania trzeba się podłączyć do INT0 albo INT1 i z samego opisu wynika że takich punktów w tym uC jest tylko dwa. Co jeśli komuś komplikuje to układ? Można by rozważyć ocję zmiany...
Kosmo Timer1=34285 wyszło z prostej kalkulacj. przy zegarze 8000000 i preskalerze 256, timer uP'a zliczy 8000000/256= 31250 "impulsów". Czyli aby licznik sie przepelnil nalezy zaczasc zliczanie od 65535-31250=34285.
witam , potrzebuję pomnożyć 7razy impulsy wejściowe , częstotliwość wej nie jest duża max 200hz , znalazłem podobny program na pic16 mnożacy 39razy i kawałek kodu na atmege8 również mnożący 39razy , jednak zupełnie nie mam pojęcia jak cos takiego napisac w bascomie kod dla pic: Device 16F628A Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, LVP_OFF, MCLRE_ON...
Spróbuj zamiast Timebase zrobić Load Timer0, 31250 (nie będzie przeskakiwał po kodzie ponad 30 tys razy tylko zliczy wewnętrzne tyle impulsów i po przepełnieniu przejdzie do podprogramu), w ogóle ustawiłbym Prescale na wartość około sekundy chyba, że chcesz mieć jak najdokładniej. [syntax=basic4gl]$regfile = "m8adef.dat" $crystal = 8000000 $hwstack...
To zmienia moją koncepcję :( obecnie mam ustawione tak: Timer1=Timer (odlicza mi jedną sekundę) Timer0=Counter (zlicza mi impulsy). Chciałem dodać do tego programu zegar z datą, ale wydaje mi się że sekunda z Timera1 na kwarcu 4Mhz nie jest zbytnio dokładna. Może jakaś podpowiedź jak najprościej przerobić program żeby mieć ten zegarek? (chciałbym użyć...
Witam. Dawno nie pisałem w BASCOM-ie a zdecydowałem się na niego bo myślałem, że tak będzie szybciej i prościej. Nic bardziej błędnego. Do napisania był dwu-trybowy program uśredniający do nieco przerobionego radiometru SOSNA. Ale nie w tym rzecz. O ile kod który zamieszczam powstał w miarę szybko o tyle błędu nie potrafię wyeliminować 3 dzień. Po krótce...program...
Witam!! pisze sobie program do alarmu samochodowego sterowanego z fabrycznego zamka centralnego. w emulatorze wszystko cacy w rzeczywistosci niestety nie :( klopot poleg na tym, ze uklad nie reaguje na zadne impulsy wejsciowe. podawalem nawet bezposrednio zwierajac piny procka i nic - brak reakcji... za przyklad podam programik ponizej uklad wyswietla...
Witam Piszę procedurę wysyłającą na daną końcówkę portu 1ms impulsy w zadanych odcinkach czasu. Według wyliczeń kalkulatora dla AVR wychodzi iż przy 4HMz kwarcu, preskalerze ustawiony na 64 i początkowej wartości licznika 193 zegar generuje przerwanie w granicach 1ms. I tak mam ustawioną konfigurację: Config Timer2 = Timer , Prescale = 64 Load Timer2...
Witam. Jestem początkujący i programuje w Bascom. Ogarniam już tematykę pomiaru prędkości obrotowych wałów i trochę już przećwiczyłem. Napisałem już działające programy mierzące prędkość obrotową wału przy pomocy pomiaru ilości impulsów w czasie, oraz metodą pomiaru okresu impulsów prostokątnych, generowanych przez czujniki indukcyjne, lub fotooptyczne....
Ok posiedziałem ciut, poczytałem w necie jak się używa te Timery i ich przepełnienia . Powstał taki oto kod .Proszę wyświetlacz traktować jako pomoc pokazującą mi ile już wystąpiło przepełnień, zresztą bardzo fajnie to pokazuje. Ramowa zasada jest taka - programik ma zliczać przepełnienia do 2108 i się zatrzymać po osiągnięciu tej sumy(wstępnie ta wartość...
w ten sposób to raczej nie przejdzie chodzi o to że timer1 działa jako przerwanie a gdy wykorzystuje do obliczania impulsów drugiego tajmera czyli timer0 to dzieją się cyrki wyśiwetla mi np co druga sekunde itd wszystko to na atmega8
Zamieszczony wcześniej kod jest sprawdzony - działa na atmega8 Również po pomyfikacjach portów działa na attiny2313 i zajmuje 65% flash, wiec jest jeszcze miejsce na jakieś "wodotryski". Używam Bascom demo w wersji chyba najnowszej: 1.11.8.7 build 001 MS windows XP SP-2 Program pod attiny2313 na płytce uruchomieniowej ZL11AVR (Płytka ZL2AVR pod megę...
Może po prostu widzisz 0 bo taką wartość ma rejestr po wykonaniu przerwania? Dodatkowo rozważ, że przy podziale 8MHz przez 256 otrzymasz częstotliwość taktowania 31250Hz. Zakładając, że przerwanie będzie po zliczeniu 256 impulsów będzie ono generowane co około 122Hz.
Witam. Mam zamiar zrobić obrotomierz na ATmega8 i mam dylemat. Zasada programu jest taka. Timer0 działa jako licznik impulsów z silnika. Timer1 liczy sekundę i po minięciu tejże sekundy licznik0 jest mnożony *60 i wyświetla się wynik na wyświetlaczu. I teraz pytanie. Jest to silnik gaźnikowy i w jaki sposób wpiąć się w niego?? wystarczy podciągnąć pin...
No to rozwiałeś moje wątpliwości. Tak myślałem, ale chciałem się upewnić. A ta częstotliwość, którą policzyłeś to rzeczywiście tak doświadczalnie wychodzi:) Dlatego zrobiłem wcześniej jeszcze jedna wersję. Zliczam impulsy na wejściu T0. #include <avr/io.h> #include <avr/interrupt.h> #define Timer0_Start TCCR0 = (1 << CS02)...
Witam ! Tworzę projekt stacji pogodowej za pomocą ATMEGI16 + LCD 2x16. Tworzę licznik impulsów który zliczałby mi czas pomiędzy zboczami impulsów (prędkość obrotowa wiatru) Znalazłem w sieci program który działa na Atmega8 + 16MHZ kwarc. [url=http://mikrokontrolery.blogspot.com... Chciałbym go przerobić na Atmega16 na...
No jest w planie kwarc 8MHz bo odcinki są po kawałku nawet do 12 godzin (pomiędzy odszranianiem) ale tu mi chodziło raczej o krótszy czas około 3 min pozwalający sprężarce na wyrównanie ciśnienia, zrobiłem coś takiego podobnego tyle że na timer0 ale za cholere nie mogę dobrać preskalera i ilości impulsów. Zegar wew atmega8 1MHz poza tym nie zauważyłem...
To by się zgadzało - w help-ie jest chyba nawet wyjaśnione: So LOAD TIMER0, 10 will load the TIMER0 with a value of 246 so that it will overflow after 10 ticks. Wystarczyłoby uczyć się języków :) Dzięki!
Witam, Napisałem prosty program wysyłający i odbierający sygnał z diody podczerwonej. Układ nadajnika składa się z: uC ATMEGA16, trzech przycisków i diody IR TSAL6200, a układ odbiorika z uC ATMEGA8, odbiornika IR TSOP1138 i diody led. Obok odbiornika dałem też elektrolit 47uF. Oto program nadajnika: [syntax=c] #define F_CPU 8000000L #define SET(port,...
Przedstawiam tylko istotne części programu związane z transmisją danych Na początek Atmega 16 obsługuje klawiaturę, Wyświetlacz LCD i komunikację GSM i inne drobiazgi oraz RS232 z Atmegą 8 Dodano po 10 A tak przy okazji takie pytanie czym różni się transmisja po RS232 dla: A=1 Print A oraz Print "1" Wg ASCII < 1 > ma kod 49 i chyba w jednym i...
Witam! Starałem się zrozumieć o co wam chodzi, bo to co dla Was oczywiste dla mnie pozostaje czarną magią ;) No ale dobrze, wydaje mi się, że zrozumiałem ;) Od strony "mechanicznej" wyglądać ma to mniej więcej tak: http://obrazki.elektroda.net/60_12248691... Dobrze myślę? A od programowej (i tutaj zapewne strzeliłem "babola") tak: $regfile...
Zaletą Discovery jest gotowy układ razem z programatorem/debugerem. Do Xmegi musisz to wszystko dokupić za pieniądze większe niż cała płytka discovery. Dlatego wolałbym jak narazie unikać XMeg, bo STM32 są chyba bardziel popularne no i jak narazie mam programator do tego :) Wystarczy ci Atmega48/88/168 faktycznie, nawet Timer0 ma dwa wyjścia PWM, czego...
Zrobiłem jakiś czas temu taki układzik na attiny-13 do sterowania dwoma serwami i linijką diodową pokazującą położenie. Niestety do obsługi dwóch serw trzeba po zaprogramowaniu zablokować ISP: '(Program sterownika dwóch serwomechanizmów. Mikrokontroler Attiny 13. Funkcjonalność: Sygnały Ppm 1 - 2 ms: Sygnał Ppm Serwo1 - Port Pb0 - Pin 5...
Napisalem program obrotomierza. Uklad po spadku obrotow ponizej ustawionej wartosci mial wlaczyc alarm. Uklad ma wspulpracowac z dwoma czujnikami indukcyjnymi (dwa obrotomierze) zrealizowalem to na timer0 i timer1. o ile na timer1 dziala to na timer0 dzieja sie dziwne rzeczy. Jezeli alarm jest ustawiony na 0 obr/min jest ok. ale jak dam jakas wartosc...
timer0 atmega8 atmega8 timer0 atmega8 timer0 przerwać
biale linie ne555 odstraszacz corsa przyspieszaniu
Toyota Yaris – aktualizacja map nawigacji Touch & Go, Touch 2, Smart Connect MAN TGA ZBR0652-08 – błąd sterownika ZBR, komunikacja CAN, światła STOP, diagnostyka MAN-cats