atmega16 timer1

Znaleziono około 276 wyników dla: atmega16 timer1
  • ATmega16 - Timer1 16-bitowy: brak wywołania przerwania ISR(TIMER1_OVF_vect)

    ADTS2:0 dla trzech 0 jest free running mode. Dodano po 2 Doczytałem, że konwersja jest wykonywana wtedy gdy jest odczytywany ADC. Dodałem zmienną volatile int w main i w pętli głównej zapisuję do niej rejestr ADC. Teraz zadziałało. Czy to jest dobre rozwiązanie? [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #define LED1 PC0 int...

    Mikrokontrolery Początkujący   23 Lut 2017 02:47 Odpowiedzi: 5    Wyświetleń: 849
  • REKLAMA
  • BASCOM - Atmega16 4MHz: Jak skonfigurować timer1 do przerwań co 100ms?

    Robisz prosty błąd w składni. Poczytaj w helpie o Load. Nie tak: [syntax=basic4gl]Load Timer1 = jakas_wartosc[/syntax] tylko tak: [syntax=basic4gl]Load Timer1 , jakas_wartosc[/syntax] Z tego co pamiętam można również tak. przykładowo: [syntax=basic4gl]Timer0 = 249[/syntax] co jest równoważne: [syntax=basic4gl]Load Timer0 , 6[/syntax] Ale to sobie musisz...

    Mikrokontrolery Początkujący   25 Lut 2014 16:13 Odpowiedzi: 12    Wyświetleń: 1641
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • [C][ATmega16] - Niechciana zmiana częstotliwości przerwania (Timer1)

    Taki bubel całkowicie krzyżuje mi plany Masz rację, zrobiłeś bubel ;) który na szczęście można naprawić na kilka sposobów, z których najprostszy to wywołanie sei() w funkcji obsługującej przerwanie. Dlaczego tak się dzieje - po prostu dlatego, że na początku obsługi przerwania samo z siebie wywołuje się cli(). Najczęściej unika się tak długo trwających...

    Mikrokontrolery AVR   12 Sie 2012 16:25 Odpowiedzi: 3    Wyświetleń: 1437
  • REKLAMA
  • Atmega16: Timer1 nie generuje przerwań w programie licznika LED

    Zrobiłem jak mi proponowano, jednak bascom komunikował mi błędy. Dane te wpisałem w opcjach bascoma i nadal nic :/ Może ma ktoś jeszcze jakiś pomysł?

    Mikrokontrolery   17 Maj 2007 22:29 Odpowiedzi: 4    Wyświetleń: 1143
  • Atmega16: Timer1 przestaje działać przy drugim cyklu pętli - co robić?

    witam... mam problem z timerem1.... podczas pierwszego wykonania procedury "petla" jest wszystko ok (chyba bo licze czas rzędu kilkudziesięciu ms wiec mam problem to sprawdzić), ale podczas drugiego wywołania "petli"timer umiera i już w ogóle nie liczy nic.... zamieszczam fragment kodu (procedury bezpośrednio współpracujące z pętla) Sub Sprawdz_czy_dziala...

    Mikrokontrolery   11 Sie 2008 12:20 Odpowiedzi: 2    Wyświetleń: 897
  • Jak przenieść kod RC5 z ATmega16 na ATmega8L z użyciem Timer1?

    zumek, wartość którą wpisuje do OCR1A obliczyłem wykorzystując ten program... A ja Ci podałem wzór, który "stworzyłem" wykorzystując dokumentację ATMega8 :D 1+OCR2= \frac{F_CPU}{N*f}

    Mikrokontrolery AVR   04 Mar 2010 20:52 Odpowiedzi: 17    Wyświetleń: 1638
  • REKLAMA
  • Timer1 w ATMega16 - GCC. Jak go włączyć? Jaki tryb?

    //inicjalizacja licznika TCCR1B |= _BV(CS10); //clkIO/1 (No prescalling) TIMSK |= TOIE1; //włączenie przerania sei(); //glogalne zezwolenie na przerwania ISR(TIMER1_OVF_vect) { //funkcja obsługi przerwania kiedy licznik się przekręci } kiedy będziesz chciał zapamiętać aktualną wartosc licznika np w zniennej a typu unsigned int wystarczy a = TCNT1; ps....

    Mikrokontrolery   19 Wrz 2007 11:58 Odpowiedzi: 5    Wyświetleń: 1425
  • [Atmega16][c] pwm Timer1. Dlaczego na wyjściach pojawia się to samo?

    Witam, mam problem z pwm, otóż niezależnie co wpiszę w OCR1A i OCR1B (wsp. wypełnienia) to i tak na wyjściu OC1B pojawia się to samo co na OC1A. Chyba że te dwa kanały nie są niezależne od siebie tylko działają równolegle. Kawałek kodu który steruje diodami [syntax=c]#include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 1000000L int...

    Mikrokontrolery AVR   21 Mar 2011 21:31 Odpowiedzi: 4    Wyświetleń: 1854
  • Dlaczego ATmega16 z preskalerem 1024 odmierza 4 sekundy zamiast 1?

    Tak jak myślałem. Za pierwszym razem ładujesz 65536-wartość jaką Timer ma zliczyć. A za drugim razem wartość jaką Timer ma zliczyć. W pierwszym przypadku wpisz: Load Timer1 = 49911 I będzie dobrze.

    Mikrokontrolery AVR   22 Gru 2009 02:41 Odpowiedzi: 6    Wyświetleń: 2957
  • ATmega16 - Odczyt wartości z Timer1 przy preskalerze 64, zawsze 0

    rzeczywiscie nie doczytałem, juz dziala i najpierw odczytuje TCNT1L , a pozniej TCNTH1, w odwrotnej kolejnosci zawsze 0 pokazuje

    Mikrokontrolery AVR   05 Cze 2009 13:35 Odpowiedzi: 2    Wyświetleń: 1500
  • AVR-GCC - Jak znaleźć nazwy rejestrów dla ATxmega16A4 w Atmel Studio?

    Programuję AVR'y od lat. Nigdy nie miałem potrzeby zagłębiać się w definicje zawarte w plikach .h pakietu gcc w taki sposób, jak Ty to robisz. Zadam Ci pytanie: Czy pisałeś już kiedyś jakiś program na uc? Czy potrafisz na avr zapalić i zgasić diody na którymś z portów? Wziąłem do ręki datasheet od Atmega16. Timer1 ma być taktowany z zewnętrznego źródła....

    Mikrokontrolery AVR   03 Lis 2012 14:17 Odpowiedzi: 24    Wyświetleń: 2868
  • Jak wyłączyć port T1 (portb.1) z obsługi Timer1 w Bascom dla ATmega16?

    witam jest zrodełko w bascom z obsługą Timer1 ale niepotrzebuję aby timer1 obsługiwał mi port zewnetrzny T1 (portb.1) w atmega16 ,jak mozna wyłaczyć go z obsługi przez timer1 w Bascom ? poniewarz potrzebuję go do sterowania lcd i chce go z tego powodu wykluczyć :(

    Mikrokontrolery   21 Wrz 2007 18:42 Odpowiedzi: 4    Wyświetleń: 1197
  • REKLAMA
  • ATmega168: Przerwanie TIMER1_COMPA_vect nie działa, co sprawdzić?

    Nie istotne co program robi, wazne ze przerwanie mi nie dziala:) Program ma 400 lini i nie ma sensu go wklejac. ale można daodać jako załącznik jeśli się nie myle, ... mniejsza z tym, kolega poszuka wróżki :)

    Mikrokontrolery   21 Lis 2007 23:22 Odpowiedzi: 10    Wyświetleń: 1860
  • ATMega16 Bascom - Nie działa przerwanie Timer1, kod i konfiguracja

    Właśnie cały problem w tym, że program główny ma co robić i nie jest pustą pętlą.. Temperatura musi być stale kontrolowana choćby dlatego aby włączać wentylatory (jest to wzmacniacz) lub reagować np wyłączaniem zasilania.. Dlatego zależy mi aby działało to poza programem głównym.. I pomijając estetykę programu... Czemu to nie chce działać? Co ma odczyt...

    Mikrokontrolery   14 Cze 2007 21:48 Odpowiedzi: 2    Wyświetleń: 1618
  • [AVR ATMega16] Timer0 nie zlicza impulsów, Timer1 działa poprawnie, co sprawdzić?

    Czas najwyższy na aktualizację posiadanego kompilatora.

    Mikrokontrolery AVR   12 Lip 2009 13:35 Odpowiedzi: 7    Wyświetleń: 2595
  • [ATmega16 i AT90CAN128] [C] USART synchroniczny - problem

    Sygnał taktujący podawany jest na pin XTAL1 AT90CAN128. Generowany jest przez ATmega16 (TIMER1 wyjście OC1A) więc mogę go sobie zmienić. Myślałem że to przez ten sygnał komunikacja nie działa dlatego jest taka mała częstotliwość. Dodano po 1 Wróciłem do wcześniejszych ustawień: AT90CAN128: taktowany z wewnętrznego kwarcu 8MHz, BAUD = 600 ATmega16: taktowana...

    Mikrokontrolery AVR   08 Lip 2008 07:41 Odpowiedzi: 11    Wyświetleń: 3837
  • [AVR] Dlaczego przerwanie TIMER1_COMPA_vect nie działa w VMLab?

    2 serwa można zrobić całkowicie sprzętowo TCCR1A = _BV(WGM11); /* Fast PWM, ICR1 is top */ TCCR1B = _BV(WGM13) | _BV(WGM12) /* Fast PWM, ICR1 is top */ | _BV(CS11) /* div 8 clock prescaler */ ; OCR1A = 3000; // to jest chyba dla zegara 16 Mhz - to by odpowiadało impulsom 1.5 ms OCR1B = 3000; ICR1 = clockCyclesPerMicrosecond()*(...

    Mikrokontrolery AVR   08 Lis 2010 23:03 Odpowiedzi: 8    Wyświetleń: 4041
  • [Atmega16] Atmega16: Jak skonfigurować timer 1 z zewnętrznym kwarcem zegarkowym?

    TCCR1B |= ((1 << CS10) | (1 << CS11) | (1 << CS12)); /* ustawia timer na pracę z zew. kwarcem */ Nie z zewnętrznym kwarcem, a z zewnętrznym źródłem sygnału. Timer1 o ogóle nie może pracować z rezonatorem kwarcowym. Gdzie w takim razie go w ogóle podłączyłeś (rezonator)?

    Mikrokontrolery AVR   17 Paź 2009 23:16 Odpowiedzi: 3    Wyświetleń: 1404
  • Dlaczego PWM na ATmega16 w BASCOM 1.11.7.4 nie działa jak na AT90S8515?

    U mnie w ATMega16 wyglądało tak: Config Timer1 = Pwm , Pwm = 8 , Prescale = 64 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down Oczywiście działa. Mam wersję Bascoma 1.11.7.7 Pozdrawiam.

    Mikrokontrolery   08 Cze 2013 10:34 Odpowiedzi: 42    Wyświetleń: 42576
  • Atmega16: Brak reakcji na przerwanie INT1, wyświetlanie licznika Timer1

    Witam. Pierwszą instrukcją w podprogramie "Obr" powinno być zablokowanie przerwania od Timer1. A ostatnim poleceniem przed wyjściem z podprogramu to włączenie tego przerwania. Pozdrawiam

    Mikrokontrolery   21 Paź 2006 11:46 Odpowiedzi: 9    Wyświetleń: 1751
  • [ATMEGA16] ATMEGA16 BASCOM: Jak ustawić PWM na Timer0 i zegarek na Timer1?

    Zegar na Timer0 ruszył, natomiast PWM jest zrobione na Timer1. Przyczyną nie działania Timer0 to procedura RC5(!!??) Teraz tylko pozostało wyregulować odmierzanie czasu..

    Mikrokontrolery AVR   04 Maj 2009 16:51 Odpowiedzi: 10    Wyświetleń: 3561
  • Minimalna częstotliwość PWM na Atmega16 przy 1Hz lub 0,5Hz - jak uzyskać?

    Ja proponowałem użycie sprzętowego PWM. 8 MHz / 256 preskaler / 2^16 da Ci w przybliżeniu 0.5 Hz. 16 bitowe PWM masz na Timer1, obliczenia dla trybu FAST PWM. W trybie normalnym (standardowe PWM) trzeba wynik podzielić jeszcze przez 2.

    Mikrokontrolery AVR   21 Lip 2011 17:22 Odpowiedzi: 27    Wyświetleń: 4385
  • ATmega16 - przepełnienie od T0 powoduje problemy na portach

    Witam, Opiszę może krótko sytuację: mam atmega16, na timer1 mam ustawiony tryb pracy pwm, używam kilku pinów na PORTD i PORTA do sterowania mostkamiH. Potrzebuję odmierzanie czasu 10ms i chciałem to zrealizować przy pomocy przepełnienie od timera0 lub timera2. Niestety kiedy chcę obsługiwać przerwanie od przepełnienia T0 lub T2, to całkowicie psuje...

    Mikrokontrolery AVR   12 Wrz 2009 18:04 Odpowiedzi: 20    Wyświetleń: 1863
  • [atmega16] [Bascom] Wpis wartości początkowej do timera

    Timer0 ma też tryb CTC i przy ustawieniu prescale 1024 i odpowiednim ustawieniu rejestru OCR0 da się z niego uzyskać 100Hz. Wtedy można użyć Timer1 do liczenia.

    Mikrokontrolery AVR   14 Mar 2010 21:32 Odpowiedzi: 22    Wyświetleń: 3042
  • [Atmega16] BASCOM szybki obrotomierz motocyklowy na INT0

    Stop timer nie zeruje automatycznie zawartości timera. Nie wiem jak jest z Start timer. A jaki prescale byś proponował ? dla timera 16bit i 8000000Hz, żeby mierzyć dość dokładnie w całym zakresie ? Z moich obliczeń wychodzi 8, wtedy przerwanie będzie co około 65ms. Jeszcze tak się zastanawiam w helpie jest napisane, że "Uwaga! Użycie parametru PRESCALE...

    Mikrokontrolery AVR   24 Lip 2011 11:23 Odpowiedzi: 95    Wyświetleń: 17496
  • Sterowanie diodą LED w funkcji czasu bascom atmega16

    Mówisz masz na timerze. $regfile = "m16def.dat" $crystal = 1000000 $hwstack = 32 $swstack = 8 $framesize = 16 Config Timer1 = Timer , Prescale = 1024 Enable Interrupts Enable Timer1 Start Timer1 On Timer1 Odmierz_czas Const T = 6942 Config Portb.1 = Output : Portb.1 = 1 : Led Alias Portb.1 Config Portb.2 = Input : Portb.2 = 1 :...

    Mikrokontrolery AVR   27 Sty 2010 21:38 Odpowiedzi: 29    Wyświetleń: 2566
  • [atmega16][bascom] Dziwne zachowanie programu z przerwaniem.

    Wiem że atmega16 ma tryb CTC który próbowałem bezskutecznie włączyć. Kolega Zumek napisał że bascom ma w tym miejscu błąd i nawet po zastosowaniu jego wskazówek nie mogłem tego trybu uruchomić a było by to najlepsze rozwiązanie. Męczę się już z tym przebiegiem strasznie i nic mi nie wychodzi. Może ktoś by mi napisał gotowca do bascoma jak skonfigurować...

    Mikrokontrolery AVR   03 Mar 2010 09:56 Odpowiedzi: 35    Wyświetleń: 4541
  • [ATMEGA16] [ATMEGA16][C] Nieoczekiwane zachowanie 4. bitu portu B w przerwaniu TIMER1

    PORTB |= 0x0F; w assemblerze wygląda to mniej więcej tak: in r16, PORTB ori r16, 0x0F out PORTB, r16 podobnie PORTB &= ~_BV(i); przy czym to drugie polecenie zajmuje kilka instrukcji i trwa zdecydowanie dłużej. Przerwanie może wystąpić w dowolnym momencie, nawet pomiędzy instrukcjami in i out. Jeżeli to się stanie, stan portu ustawiony...

    Mikrokontrolery AVR   27 Mar 2010 00:11 Odpowiedzi: 2    Wyświetleń: 1242
  • [atmega16] [atmega16][BASCOM] Jak regulować częstotliwość sygnału CLK?

    A nie lepiej tak ? Przykładowa konfiguracja timera1 w trybie CTC i przebiegiem na OC1a [syntax=basic4gl]Config Timer1 = timer, Prescale = 256, CLEAR TIMER = 1, Compare A = toggle, Compare B = disconnect [/syntax] Potem tylko zmieniać wartość rejestru Compare1a jakimiś przyciskami, pilotem, enkoderem etc. ps. Jak nie zadziała to poustawiać bity w rejestrach...

    Mikrokontrolery   22 Cze 2011 16:20 Odpowiedzi: 11    Wyświetleń: 2005
  • PWM w ATmega16 + bascom i komletnie zielony w temacie

    Witam Przekopałem całe forum manuala i mam kłopot bo nie znalazłem odpowiedzi na moje pytania. Polecam Ci , jeszcze jeden manual : [url=http://pierwszeliceum.bedzin.pl/ftp... Opis i zasada działania TIMER1 w ATMega16 , rozpoczyna sie od strony 23.Jeśli zrozumiesz - a powinieneś...

    Mikrokontrolery   25 Maj 2008 11:31 Odpowiedzi: 2    Wyświetleń: 1710
  • Jak zaprogramować Atmega16 do obsługi 4 wyświetlaczy 7-segmentowych?

    Najprościej odpalić timer i w przerwaniu wystawiać dane i przełączać segmenty przykład: ISR(TIMER1_COMPA_vect) { switch(wysw) { case 0: PORTD = 0b1111110; PORTB=cyfra[jednosci]; wysw++; break; case 1: PORTD = 0b1111101; PORTB = cyfra[dziesiatki]; wysw++; break; case 2: PORTD = 0b1111011; PORTB =...

    Mikrokontrolery AVR   30 Sty 2012 12:21 Odpowiedzi: 12    Wyświetleń: 7505
  • Atmega16 i Timery[C]. Można uruchomić 2 w jednym czasie?

    dzięki za odpowiedź, chcę uruchomić na początek timer2 i timer1 w trybie przepełnienia tylko że nie bardzo daję radę,

    Mikrokontrolery   02 Kwi 2009 10:29 Odpowiedzi: 13    Wyświetleń: 1287
  • [AtMega16] [AtMega16][C] - Implementacja multitaskingu dla odczytu ds18b20 i sterowania GPIO

    Powrócę jeszcze do tematu. Timery programowe to objaśnił Mirekk36 w swojej książce oraz artykułach i wideo poradnikach, bardzo dobrze je się stosuje. Jest to proste, wystarczy ustawić jakiś timer w tryb CTC i wywoływać przerwanie co jakiś zamierzony czas (stosuje około 10ms). F_CPU/Prescaler/100 Zaokrągloną wartość wpisujemy do rejestru OCRx. W przerwaniu...

    Mikrokontrolery AVR   13 Kwi 2013 20:38 Odpowiedzi: 24    Wyświetleń: 2646
  • [c] Timer1 w Atmega164P: Niewłaściwa częstotliwość w trybie CTC, 16MHz kwarc

    No , tak z grubsza patrząc to nie pomyliło ci się coś w tym kodzie z ustawieniem preskalera ??? ;) TCCR1B = (1<<WGM12)| (1<<CS12)|(0<CS11)|(0<<CS... ; wg mnie to ustawiasz bity na wartość 111,... WRONG! Ja po prostu w całej swojej głupocie myślałem że jak (1<<BIT) wstawia 1 to (0<<BIT) wstawi 0 !!! I tak jest (0 <<...

    Mikrokontrolery AVR   24 Lis 2009 16:44 Odpowiedzi: 8    Wyświetleń: 1649
  • Jak zliczać czas stanu niskiego w Atmega16 BASCOM przy przerwaniach?

    Najpierw dajesz Config INT0=Falling Wprowadzasz zmienną opisującą wybrane zbocze wyzwalające przerwanie (Edge_) i w procedurze obsługi tego przerwania: If Edge_ =0 Then Start Timer1 Config INT0=Rising Else Stop Timer1 Config INT0=Falling End If Niektóre AVR'y umożliwiają konfigurację typu Config INT0= Change Wtedy przerwanie wywoływane będzie po stwierdzeniu...

    Mikrokontrolery   13 Lut 2007 19:48 Odpowiedzi: 8    Wyświetleń: 2768
  • Jak podłączyć czujniki SHT11 i diody LED do Atmega16 w sterowniku terrarium?

    A wiec pwm masz na oc1a i oc1b to jest timer1 (jak sie nie myle). Poza tym masz 3 pwm oc2 na timerze2. Wiec jak bys chcial jeszcze czas liczyc lepiej uzyj jakis zew. ukladu, bo zostal ci tylko timer0, na ktorym bedzie ciezko to osiagnac. Na timerze1 i 2 mozesz zrobic sterowanie diodami rgb. Wlasnie widze ze ten czujnik wilgotnosci nie ma mozliwosci...

    Mikrokontrolery   21 Cze 2009 22:28 Odpowiedzi: 1    Wyświetleń: 1251
  • Jakie fusebity ustawić dla ATmega16 w projekcie z Elektroda?

    The Fuse Bits has nothing to do with a PWM. but in this page write Procesor taktowany jest kwarcem 16MHz. Odtwarzanie stereo obsługiwane jest za pomocą dwóch wyjść PWM od Timera1 czyli OC1A oraz OC1B. Na wyjściach pinów podłączyłem kondensatory 100uF. And whats meaning in this quote terms timer1 OC1A and OC1B, what is timer1 ?

    Mikrokontrolery AVR   06 Cze 2015 20:47 Odpowiedzi: 11    Wyświetleń: 975
  • Atmega16 "wykrzacza sie" - obsługa RC5 w przerwan

    a jesli powiem ze tak tez próbowałem tylko ze odczyt z kodów z rc5 trwa z przerwą 600ms która musi byc pomiedzy odczytem a konwersją temperatury z ds1820 :( Jakoś nie widzę problemu. Przecież Int0 ma wyższy priorytet niż DS. Jerśli istnieją jakieś konflikty to należy zablokować przerwanie Int0 na czas inicjacji DS'a i odczytu temperatury. W trakcie...

    Mikrokontrolery   03 Wrz 2007 19:22 Odpowiedzi: 7    Wyświetleń: 2684
  • Który rejestr odpowiada za Timer0 w mikrokontrolerze Atmega16?

    Nie tak nerwowo, na stronie 94 z ATmega16 jest fajny rysuneczek Timera1 z układem przechwytywania oraz co może być źródłem przechwytywania. Jak widać są dwa, jedno to komparator a drugie to wejście ICP. Co do wektora przerwania od przechwytywania to jest chyba adres $ooA a nie $00C ! Ten jest wektorem od układu porównania A z licznikiem Timer1

    Mikrokontrolery   22 Sty 2006 20:08 Odpowiedzi: 17    Wyświetleń: 4221
  • Jak zmierzyć czas trwania impulsu w C na ATMEGA 162?

    Tak jest to dość istotne... Do pomiaru używany jest 16-bit'owy timer 1 (atmega162 ma dwa ale po takim ogólnym rzucie okiem na pdf wygląda na to, że nie ma różnic w konfiguracji)... Co przy częstotliwości taktowania 8MHz prescalerze 8 daje max ~65,5ms przy dokładności do 1us... Poniżej fragment kodu który mierzy czas trwania stanu wysokiego... ... volatile...

    Mikrokontrolery   02 Lis 2007 14:01 Odpowiedzi: 6    Wyświetleń: 7695
  • [Atmega16 BascomAVR] - Instrukcje BascomAVR a wykorzystywanie timerów

    Witam. W pewnym sofcie dla Atmega16 wykorzystałem już: - Timer1 (16 bit) do odliczania 0,0001s odcinków czasu - Timer2 (8 bit) jest wykorzystywany przez odbiornik podczerwieni (instrukcja getrc5) Timer 0 niby jest wolny, ale nie wiem / nie jestem pewien czy nie jest on wykorzystywany przez jakieś używane przeze mnie instrukcje (np. print dla sprzętowego...

    Mikrokontrolery AVR   27 Sie 2012 08:29 Odpowiedzi: 1    Wyświetleń: 1521
  • [AVR] [AVR][C] Timer1 - przerwanie działa tylko raz, naprzemienne zapalanie portów

    Procesor to Atmega16. Zauważyłem, że przy włączeniu zasilania układu przerwanie zostaje wykonane 4 razy; po resecie tylko raz.

    Mikrokontrolery AVR   10 Kwi 2011 20:31 Odpowiedzi: 12    Wyświetleń: 2918
  • ATmega16 - jak ustawić priorytet przerwań dla timerów i INT0/INT1?

    Przycisk powiadasz. Wg. mnie przyciski najlepiej obsługiwać w polling-u, załatwiając od razu kwestię eliminacji odbić styków. W tym, konkretnym przypadku, może w przerwaniu TIMER1 najpierw wykonywać rzeczy krytyczne czasowo, a potem sprawdzać przycisk?

    Mikrokontrolery   24 Lut 2008 13:55 Odpowiedzi: 20    Wyświetleń: 2039
  • Atmega16: Brak reakcji na zmianę stanu portu A w Bascomie, pętla Do Loop

    hmmm Przede wszystkim: Enable Interrupts On Timer0 Przerwanie Stop Watchdog Config Timer0 = Timer , Prescale = 1024 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 256 'PWM=250Hz Load Timer0 = 195 To włączenie przerwania jest wstrętne w tym miejscu:P Co do wniosków... może spróbuj zwiększyć stos o...

    Mikrokontrolery   04 Maj 2008 23:52 Odpowiedzi: 8    Wyświetleń: 1537
  • [ATmega16][BASCOM] Precyzja timer0 przy zegarze 8MHz

    Podłączę się pod temat ponieważ mam podobny problem. W atmega8 mam prawie identyczny program do odmierzania 1s (przepisany z książki).Do uC mam dołączony kwarc 8MHz poprzez 2 x 30 pF, żadnych fusbitów nie ustawiałem, problem polega na tym, że 1s trwa około 10 sekund. Gdzie szukać problemu?? Jezeli nie zmieniales zadnych fuse bitow wiec pracujesz na...

    Mikrokontrolery AVR   23 Lut 2009 21:52 Odpowiedzi: 19    Wyświetleń: 2792
  • Brak przerwania SPI w trybie SLAVE na ATMEGA16 - co sprawdzić?

    Witam, 1. W postach używaj znaczników kodu tak aby kod był czytelny i wyróżniony 2. W programie brak inicjalizacji stosu. 3. Rozkaz skoku do obsługi przerwania od SPI masz pod złym adresem. Adresy wektorów przerwań są co 2 słowa (4 bajty), a rozkaz RJMP zajmuje tylko 1 słowo (2 bajty) tym samym RJMP SPIIntVecror znajduje się pod adresem 0x000A (0x0014...

    Mikrokontrolery   14 Wrz 2015 19:21 Odpowiedzi: 3    Wyświetleń: 576
  • [AtMega16][BASCOM]Problem z odmierzaniem odcinków czasu

    Hm... dobry pomysł, niestety wszystkie piny mam już zajęte. Cały czas planowałem wykorzystać timer1 do tego celu ale niestety tylko on mógł zapewnić odpowiednie generowanie sygnału dla silnika krokowego.

    Mikrokontrolery AVR   10 Maj 2010 11:58 Odpowiedzi: 11    Wyświetleń: 1677
  • Atmega16 i Bascom - Przerwania z przycisków na porcie A, jak to zrobić?

    A tak to by to zadziałało ?? Config Timer0 = Timer , Prescale = 64 Config Timer1 = Timer , Prescale = 64 Dim W As Byte W = 10 Do If P_gora = 0 Then Incr W End If If P_dol = 0 Then Decr W End If If Ped1 = 1 Then Start Timer0 Start Timer1 Set Silnik1 Set Silnik2 End If If Ped2 = 1 Then Set Silnik2 End If If Sens = 0 Then Reset Silnik1 End If If Kran1...

    Mikrokontrolery AVR   20 Lip 2010 18:27 Odpowiedzi: 15    Wyświetleń: 2187
  • [atmega16] Dlaczego ATmega16 nie generuje nośnej 36kHz na OC1A w Bascom?

    Musisz to tylko dopasować Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 1

    Mikrokontrolery AVR   25 Sty 2010 15:17 Odpowiedzi: 26    Wyświetleń: 4043
  • Generowanie 50Hz i 100Hz w trybie CTC Timer1 Atmega16A - brak sygnału na OC1A

    Na próbę zrób: [syntax=c] #define F_CPU 12000000UL #include <avr/io.h> #include <util/delay.h> int main (void) { DDRA |= 0xff; DDRD |= 0xff; TCCR1A |= 0x40; //włączenie przełączania portu OC1A TCCR1B |= 0x0A ; //włączenie trybu CTC, ustawienie preskalera na 8 OCR1A = 7499; while(1) { } }[/syntax] i sprawdź, czy są zmiany na pinie D5.

    Mikrokontrolery Początkujący   11 Kwi 2016 21:58 Odpowiedzi: 7    Wyświetleń: 936
  • Atmega16 - jak poprawnie sterować 16 serwami za pomocą PWM i timerów?

    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 procesora do obsługi przerwań ale tylko przez czas 2ms potem...

    Mikrokontrolery AVR   14 Cze 2011 10:32 Odpowiedzi: 8    Wyświetleń: 2936
  • potrzebna wstawka assemblerowa dla przerwania ATmega16

    temat rozwiązałemprzy pomocy kolegi Dr_DEAD ,zastosowałem Timer1 do zliczania impulsów i wszystko chodzi jak nalezy, sprawdzałem do 1000obr, więc dzięki wszystkim za pomoc B.

    Mikrokontrolery AVR   29 Maj 2009 09:08 Odpowiedzi: 34    Wyświetleń: 3276
  • PWM (dioda RGB ). Timer 1, atmega16, zrobienie 2 PWM-ów.

    timer1 atmegi16 jest 16bitowy i da sie podobno 2 pwmy zrobic na nim.. ktos mi podpowie? (avr-gcc)

    Mikrokontrolery   28 Sie 2008 23:50 Odpowiedzi: 10    Wyświetleń: 3916
  • [Atmega16][BASCOM]Prośba o przeanalizowanie kodu - wysypuje się

    Uporałem się w końcu z tym jakoś. Program jest bardzo stabilny nic się nie sypie. Zrezygnowałem całkiem z pomiaru tych pierwszych 10 odczytów. Wolę poczekać te 10 sekund i mam od razu uśredniony wynik, a na czas tych pierwszych wyświetlam po prostu --.-L i ---km. Później już odpowiednio 12.0L i 200km. Pojeździłem trochę i rozdzielczość jest wystarczająca,...

    Mikrokontrolery AVR   16 Cze 2012 17:40 Odpowiedzi: 48    Wyświetleń: 7276
  • ATmega8 PWM na Timer1: kod działa w symulatorze, brak sygnału na OC1A po wgraniu

    Na 16-bitowym nie robilem ale poczytaj tutaj o rejestrach: www.pg.gda.pl/~zbczaja/pdf/atmega16mmr.p... Co prawda to do Atmega16 ale po polsku Dla 16-bitowego zrobilbym to tak: COM1A1 >> 1; WGM10 >>1; WGM12 >>1; Preskaler jak chcesz bo nie wiem jaką masz częstotliwość. Wypełenienie podajesz do OCR1A. Nie sprawdzałem czy zadziała więc...

    Mikrokontrolery   30 Maj 2006 13:54 Odpowiedzi: 10    Wyświetleń: 1815
  • Jak zaimplementować odliczanie czasu 16h na ATmega16 w C?

    Możesz wykorzystać timer1 i trzy zmienne... sekundy, minuty, godziny... Przy częstotliwości 8MHz prescalerze 256 i warotści początkowej 34286 teoretycznie przepełenienie następuje dokładnie co sekundę...

    Mikrokontrolery   23 Mar 2006 19:02 Odpowiedzi: 1    Wyświetleń: 1853
  • [C] [C][ATMEGA16] - Licznik czasu między impulsami w stacji pogodowej z hallotronem

    PD6. Sorry . Już zmieniam więc. Generalnie najłatwiej by było gdyby licznik startował po otrzymaniu 1 impulsu z hallotronu i stopował się po otrzymaniu drugiego impulsu. Czas ktory by był zliczony oraz obwód koła po którym kręci się czujnik dałby mi prędkość obrotową.... Do tego służy ' Capture ' - np. Timer1. Sygnał Input do ICP1 e marcus

    Mikrokontrolery   04 Gru 2014 11:41 Odpowiedzi: 15    Wyświetleń: 2049
  • [ATmega16][C]Pwm - prośba o poprawienie kodu (rejestrów)

    Napisz jakiego trybu PWM chcesz używać (8, 9 czy 10bit). Podpowiem, że jeżeli użyjesz 8-bit to będziesz zużywał mniej czasu procesora na ładowanie wartości do rejestrów OCR1x i ich obliczanie. Dodano po 9 DDRD = 0b00110000; //piny PWM jako wyjścia // TIMER1 8bit fast PWM 8-bit TCCR1A = _BV(COM1A1) | _BV(COM1B1) | _BV(WGM10);...

    Mikrokontrolery AVR   01 Sie 2010 14:56 Odpowiedzi: 7    Wyświetleń: 2161
  • [ATMEGA8] ATMEGA8 licznik czasu: start/stop odliczania przyciskiem, obsługa timerów i przerwań

    OK, W razie problemów ze zrozumieniem tutaj znajdziesz datasheet po polsku dla ATMEGA16: http://www.pg.gda.pl/~zbczaja/pdf/atmega... Odpowiedzi na twoje 2 pytania: 1. Proponuję Timer1 + preskaler 2. Dokładnie tak Zobacz w datasheet (angielski dla Atmega8) schemat: Figure 31. Znajdziesz tam preskaler i sterjące nim CS10, CS11, CS12. Dodano po 4...

    Mikrokontrolery AVR   18 Kwi 2011 09:29 Odpowiedzi: 34    Wyświetleń: 6573
  • Jak zmierzyć szerokość impulsu za pomocą Timer1 w Atmega 9?

    Witam Mam nadzieję że doświadczeni fachowcy pomogą. Potrzebuję zmierzyć ile impulsów z Timer1 mieści się w zewnętrznym impulsie. Doczytałem informacje że można to zrobić poprzez przechwycenie zawartości Compare1a po podaniu tego zewnętrznego impulsu na pin. ICP1. Pewno są na to też inne sposoby , o których nie pisze w pomocy i w googlach. Nie wiem od...

    Mikrokontrolery Początkujący   27 Cze 2015 17:07 Odpowiedzi: 9    Wyświetleń: 1263
  • [atmega16] [atmega16][avr-gcc] PWM na Timer0 nie działa na PB3, działa na Timer1A PD5

    Dzięki za zainteresowanie moją sprawą. PD5 podłączyłem kontrolnie, aby sprawdzić, czy mój tok rozumowania jest poprawny i jak mogłeś się przekonać uruchamiając program u siebie, Timer1 działa znakomicie. Problem jest z Timerem0 i wyjściem OC0 (PB3). I tak planowałem kupić drugą Atmegę do innych celów, więc przy okazji sprawdziłem program na nowej i...

    Mikrokontrolery AVR   22 Gru 2008 20:50 Odpowiedzi: 4    Wyświetleń: 4756
  • atmega16, AVR Studio, C - różne czasy wykonania fragmentu kodu

    No teraz to już żadnych:) Wcześniej w jednej z wersji mi sie pojawiło coś takiego chyba. Bo nawet nie byłem pewny czy mi sie timer1 zatrzymuje w przerwaniu jak chciałem.. Generalnie różne miałem wątpliowści więc skończyłem na takiej wersji.. Teraz jak (prawie) znam przyczynę to mogę kod ładnie popoprawiać:)

    Mikrokontrolery AVR   04 Cze 2011 19:11 Odpowiedzi: 13    Wyświetleń: 2042
  • Jak zbudować obrotomierz na ATmega16 i ATtiny2312?

    Zrób tak żeby w przerwaniu zatrzymywało tylko licznik i startowało go na nowo i zapisywało to do jakiejś zmiennej. Potem w pętli głównej robisz obliczanie obrotów na bierząco = cały czas. do tego można użyć jeszcze tajmer0 aby co jakiś czas odświerzyć wynik na jakimś wyswietlaczu. W ten sposób procek cały czas będzie coś robił. A swoją drogą to chyba...

    Mikrokontrolery   14 Wrz 2004 08:00 Odpowiedzi: 11    Wyświetleń: 3255
  • [ATmega169][c] - dwa przerwania od timera1 błąd drugiego przerwania

    fakt, mój błąd, zatrzymałem się w liczeniu tylko na pierwszym obiegu licznika, w drugim będzie już tak jak piszecie...... To mój kod po modyfikacji [syntax=C] void Init_Timer1() { TCCR1B |= (1 << WGM12); // tryb CTC OCR1A=31250; // 1sek dla wew rezon 8Mhz / 256 OCR1B=(OCR1B+7812)%(OCR1A+1); // ok 4x /sek TCCR1B |= (1 << CS12); // preskaler...

    Mikrokontrolery Początkujący   14 Wrz 2012 10:44 Odpowiedzi: 8    Wyświetleń: 2331
  • Bascom problem ze zliczaniem impulsów z zewnątrz.

    $regfile = "M16def.DAT" $crystal = 8000000 $baud = 57600 Dim Czestotliwosc As Long Config Timer1 = Counter , Edge = Rising Print "Licznik" Enable Interrupts Enable Timer1 Do Start Timer1 Wait 1 Stop Timer1 Czestotliwosc = Counter1 Print "Freq: " ; Czestotliwosc Counter1 = 0 Loop Sygnał podaję na portb.1 i wszystko śmiga. Nie wiem tylko dlaczego nie...

    Mikrokontrolery AVR   22 Gru 2009 11:07 Odpowiedzi: 12    Wyświetleń: 3285
  • Jak zmieniać stan niski na wysoki za pomocą generatora? ATmega168 i język C.

    Chodzi o coś takiego? [syntax=c] ISR ( TIMER1_OVF_vect); { CZUJNIK_WYSOKI; _delay_us(320); CZUJNIK_NISKI; _delay_us(10000); } [/syntax]

    Mikrokontrolery AVR   09 Mar 2019 16:24 Odpowiedzi: 17    Wyświetleń: 975
  • Avr/Atmega/16 - Alarm i ustawienie w menu lub cos podobnego

    Zajmiemy się na początek faktem, że ATmega16 posiada trzy przerwania zewnętrzne. Na pinach: D2 - INTO 0 D3 - INTO 1 B2 - INTO 2 Więc Podłącz PCF pod pin B2. Natomiast Timer1 pozostaw do ciekawszych rozwiązań. Dokładniej do ominięcia Waitms. Podłącz PCF i się Odezwij, będziemy kontynuować.

    Mikrokontrolery Początkujący   20 Mar 2014 22:30 Odpowiedzi: 15    Wyświetleń: 2781
  • [ATmega16][Bascom] - Przez konfiguracje Timer2 brak kompilacji kodu

    Witam Mój problem to brak kompilacji przy konfiguracji Timer2 w tryb Counter Unknown CONFIG parameter Porblem polega na tym że w helpie BASCOM-AVR można konfigurować Timer 2 w tryb Counter. Wrzucam cały kod :[syntax=basic4gl] $regfile = "m16def.dat" $crystal = 16000000 Dim Freq As Long Const Licznik = 2789 Config Timer1 = Timer , Prescale = 256 Config...

    Mikrokontrolery AVR   23 Lip 2013 05:20 Odpowiedzi: 12    Wyświetleń: 2163
  • Bascom Atmega16 - Odliczanie czasu pomiędzy impulsami.

    Przedstawię Ci kolego przykład zastosowania Pulsein żebyś miał jaśniej. Myślę że będzie "rzeczowiej". To przykład dla dekodowania transmisji pilotów podczerwieni. Sygnał podłaczony jest do zewnetrznego przerwania INTx i w momencie zmiany na pinie program skacze do tej procedury. Mierzy impuls i poddaje rozwadze jego długość. [syntax=basic4gl]Int_1isr:...

    Mikrokontrolery AVR   30 Sty 2015 05:05 Odpowiedzi: 29    Wyświetleń: 3846
  • Jak powiązać licznik i ADC w ATmega16 do generowania sygnału o zmiennej częstotliwości?

    Operuję na niskich częstotliwościach tj. ~~1-1000Hz. No właśnie. A odczyt ADC i zapis OCR1A "mielisz" w pętli, tak szybko jak się da. Zegar ADC: 1MHz/8= 125kHz / 25(cykli zegara na konwersję) . Czyli pomiar i zapis do OCR1A co około 5kHz. Timer głupieje. Dopisz w pętli chociaż jakiś _delay_ms(100); A jeszcze lepiej przepisywać nową wartość w przerwaniu:...

    Mikrokontrolery AVR   11 Sty 2016 18:05 Odpowiedzi: 10    Wyświetleń: 1347
  • [AVR] - Fast PWM zagwostka dla trybu nr 7 w Atmega168

    "Buforowany CTC" bo wartość OCR0 po zmianie nie daje efektu natychmiast (jak w normalnym CTC) ale czeka do końca cyklu. W efekcie nie powstaje zaburzenie (swing) przy zmianie wartości OCR0 (czyli czestotliwości). Z tego powodu ten tryb bardziej nadaje się do jakiś wobuloskopo podobnych zastosowań czy do sterowania np przetwornicy. Prawdę mówiąc nie...

    Mikrokontrolery AVR   23 Lis 2009 09:07 Odpowiedzi: 16    Wyświetleń: 3051
  • Błąd kompilacji BASCOM-AVR 1.11.9.5 na Atmega8 - instrukcja warunkowa if

    Ja korzystałem z przerwania INT0 ( najczęsciej ) i nie miałem problemu Nie miałem też problemu z Timer0 i Timer1 . Procesor który programuje to ATmega16 (lubię go). A jeśli chodzi o TINY 24 to Port B jest 4-ro bitowy ale DATA REGISTER jest 8-mio bitowy. Bity 4...7 są podane jako tylko odczyt. Podstawiając wartość portu Pod zmienną typu BYTE ( bo mniejszej...

    Mikrokontrolery AVR   07 Lut 2011 19:49 Odpowiedzi: 13    Wyświetleń: 1857
  • Atmega16A - Atmega16A Tryb CTC na Timerze2 zlicza 2-3razy za wolno

    'Tak na szybko to zwróciłbym uwage na to że Twoje zmienne Timer1,2,3,4 nie ma wartości początkowych...

    Mikrokontrolery AVR   19 Sie 2013 18:06 Odpowiedzi: 4    Wyświetleń: 1419
  • [ATmega16A][C][TIMER0 PWM] - LED w "inverting mode" i "non-invert

    jedyne co mi przychodzi do głowy to jakaś "szpilka" w momencie konfliktu, gdy OCR0=0 I tak jest! Przy wartości 0 w rejestrze OCR0 odpowiedzialnym za wypełnienie sygnału PWM na wyjściu pojawia się szpilka -już nie pamiętam ile trwa w stosunku do wartości 1 w tymże rejestrze (ale dużo krócej-chyba około 1/5 czasu dla wartości 1 w OCR0). Problem jest...

    Mikrokontrolery   26 Cze 2013 20:45 Odpowiedzi: 5    Wyświetleń: 1779
  • ATMEGA16 - Wyświetlanie rezultatu za pomocą diod niepoprawne

    (at)kindlar: Niestety nie mam już dostępu do laboratorium w którym cały projekt był przeprowadzany. Założenia projektu były takie, iż mamy zaprezentować wynik na 8 diodach, więc również i z tego powodu nie mogę dołożyć LCD. Zakres jest ograniczony przez ilosc diod i tak jak podałeś to 0-255. (at)el2010tmp: zmienna rpm jest adekwatna do swojej nazwy,...

    Mikrokontrolery AVR   30 Cze 2014 19:26 Odpowiedzi: 6    Wyświetleń: 1272
  • Sterowanie 5 kanałami PWM w ATmega162 BASCOM – obsługa 4 diod RGB i multiplexer

    Przecież masz 5 kanałów - wyjścia: OC1A, OC1B, OC2, OC3A, OC3B... Zmienne przedstawiają wartość modulacji w każdym z kanałów z osobna. Wszystkie PWMy są skonfigurowane jak 8 bitowe zatem zakres to 0..255. Ma tak być. Ponieważ nie ma aliasu (jeszcze) PWM2 dla zmiennej COMPARE2 (rejestr sprzętowy OCR2), BASCOM nie rozpoznaje nazwy PWM2. Jak zajrzysz w...

    Mikrokontrolery AVR   16 Gru 2008 19:00 Odpowiedzi: 6    Wyświetleń: 3440
  • Stabilizacja pomiaru częstotliwości na ATmega16 z użyciem timerów 0 i 1

    nie bardzo rozumiem:/ Chodziło o to że, poprzednio błędnie wstawiłem wykorzystanie OVF1. Jeżeli Timer1 pracuje w CTC mode, to wcześniej się wyzeruje przy Compare ustawionej wartości i nie dojdzie do OVF1. Odnośnie fragmentu codu: W jakim celu w ogóle zatrzymujesz licznik0 ? Zatrzymanie, odczytanie zawartości, zerowanie stanu i ponowne uruchomienie...

    Mikrokontrolery AVR   02 Sty 2012 12:40 Odpowiedzi: 38    Wyświetleń: 4673
  • Jak ustawić kąt serwa modelarskiego w Bascom na Atmega?

    Dzięki Marcin za odpowiedź. W sobotę kupiłem TowerPro SG-5010, bo tamte, faktycznie za delikatne były, jak mi sprzedawca w sklepie pokazał (prawdziwe mini) ;-) Uruchomiłem serwo bez problemów. Sterowanie sygnałem z regulatora PI zbudowanego na Atmega16. Jedynie problem mam tego typu, że przy korzystaniu z drugiego timera Timer1 (Timer0 wykorzystuje...

    Mikrokontrolery AVR   11 Kwi 2011 20:34 Odpowiedzi: 12    Wyświetleń: 3895
  • Dlaczego program do odmierzania czasu na ATmega16 nie działa w Proteusie?

    Witam Chciałem zrealizować program do odmierzania czasu na kwarcu zegarowym. Podłączyłem go do pinów portu B (t1, t0). Program wyglada następująco: [syntax=basic4gl]$regfile = "m16def.dat" $crystal = 8000000 Config Timer1 = Timer 'Oscylator wewnętrzny Enable Interrupts Enable Timer1 Dim Czas As Byte 'On Timer1 Odmierz Do On Timer1 Odmierz Locate 1 ,...

    Mikrokontrolery AVR   04 Lis 2011 21:03 Odpowiedzi: 4    Wyświetleń: 1263
  • Schemat z Atmega16 i pytania odnośnie prograwania w C

    Co do zliczania ilości przerwań w ciągu 1s, to zadeklaruj sobie jakąś zmienną globalną (+volatile) którą inkrementujesz przy wywołaniu przerwania INT, puszczasz timer i po przekroczeniu 1s odczytujesz tą zmienną i wiesz ile razy nastąpiło przerwanie INT, a następnie zerujesz tą zmienna itd. Adekwatnie tak _BV(1) itd. :) Biblioteka do LCD 4bit, też...

    Mikrokontrolery AVR   07 Kwi 2010 08:08 Odpowiedzi: 32    Wyświetleń: 4578
  • [atmega168][c] obsługa przerwania - wstawka w asemblerze

    Witam Mam następujący problem, działający program obsługi jest taki: ISR(TIMER1_OVF_vect){ UDR0= Buff[rd]; rd = (rd + 1) % 256; UDR0= Buff[rd]; rd = (rd + 1) % 256; } program działa, ale jest za wolny, te kilka instrukcji kompilator zmienia na 122 linie w asm. Najlepiej byłoby napisać tę funkcję w asemblerze, niestety do tej pory pisaałem tylko w C....

    Mikrokontrolery AVR   22 Lis 2010 20:02 Odpowiedzi: 6    Wyświetleń: 1047
  • pomiar częstotliwości (liczby impulsów) na Atmega16 - Bascom

    Może coś takiego $crystal = 11059200 Dim Czestotliwosc As Long 'w twoim przypadku może być Byte Const Licznik = 22336 ' aby Timer1 przepelniał sie co sekundę Config Timer1 = Timer , Prescale = 256 Config Timer0 = Counter , Edge = Falling On Timer1 Czas 'On Timer0 Zlicz Enable Interrupts Enable Timer1 'Enable Timer0 'Pomiar czasu Counter1 = Licznik Cls...

    Mikrokontrolery   22 Lis 2006 15:42 Odpowiedzi: 7    Wyświetleń: 3019
  • [ATmega] [ATmega][Bascom] Czy PWM na Timer0 da taki sam przebieg jak na Timer1?

    Dokładniej chodzi mi o ATmega16(L) i ATmega32(L). Dam sobie radę ze skonfigurowaniem TCCR0. Chodzi mi tylko o zastąpienie wyjścia OCR1A wyjściem OC0 i zwolnienie Timera1 do innych zadań. Czy to zadziała?

    Mikrokontrolery AVR   05 Maj 2010 18:29 Odpowiedzi: 3    Wyświetleń: 4328
  • [Atmega16] Atmega16: Problemy z regulacją ściemniacza, porty PD3/PD4, przerwania INT0

    Witam! Napisalem program do obslugi ściemniacza na atmega16. Korzystamy z portu d. PD5 to pin wyjściowy sterujący triakiem. Impuls podany na PD3 lub PD4 zwieksza lub zmniejsza wartość zmiennej 'sel' regulując sterowaniem fazowym. PD2(INT0) tu pojawia sie przerwanie zboczem opadajacym od ukladu detekcji zera. Program ten prawie w ogole nie dziala. Napisalem...

    Mikrokontrolery AVR   05 Kwi 2010 17:24 Odpowiedzi: 6    Wyświetleń: 1654
  • [ATMEGA16] [BASCOM] Problem z wyświetlaniem danych na LCD z dwóch czujników

    Korzystając z Waszych wskazówek przerobiłem program tak: Dim Test As Long ... Start Adc Do Wart_ac = Getadc(1) Cls Lcd Wart_ac ; Lowerline Lcd Test; 'poprawka Waitms 250 Loop End Czas: Stop Timer0 Stop Timer1 Czestotliwosc = Czestotliwosc * 64 Czestotliwosc = Czestotliwosc + Counter0 Test = Czestotliwosc 'poprawka Czestotliwosc = 0 Counter0...

    Mikrokontrolery AVR   09 Lut 2010 20:21 Odpowiedzi: 5    Wyświetleń: 2367
  • [BAS][M16][MSterowanie fazowe, Timer1 - prośba o konsultację przypadku

    Mikrokontroler ATMEGA16, oscylator wewnętrzny 8 MHz, wykorzystany timer1 (16 bit). Dzielę połówkę sinusoidy na 100 części. 10ms / 100 = 0,1 ms = 0,0001s. Odcinki czasu 0,1 ms generuje mi timer1 Takt zegarowy t = 1 / 8000000 Hz = 0,125 ms Dla uzyskania 0,0001s muszę zliczyć 800 taktów ( 800 x 0,125 us = 100 us = 0,1 ms = 0,0001 s ). Aby licznik się przepełnił...

    Mikrokontrolery AVR   01 Cze 2012 21:31 Odpowiedzi: 10    Wyświetleń: 3042
  • [BASCOM][atmega16] Przerwanie zewnętrzne co 4ms i komunikacja 1wire - kolizja

    No właśnie tylko u mnie dość cienko z programowaniem i obawiam się, że może mnie to przerosnąć. Do tej pory udało mi się odpalić wiele rzeczy, ale nie wiedziałem ze z tym będą takie problemy. Dobrze by było jakbyście rzucili też okiem na całość programu, czy jest jakoś w miarę poskładany. Edit: Znalazłem coś takiego: [syntax=vb] //Timer1 Capture //Timer1...

    Mikrokontrolery AVR   15 Mar 2012 13:42 Odpowiedzi: 30    Wyświetleń: 4610
  • Jak zacząć projekt monitoringu z ATMEGA162, RS i modemem SMS?

    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...

    Mikrokontrolery   20 Wrz 2006 16:37 Odpowiedzi: 6    Wyświetleń: 1722
  • [ATMEGA16/32] ATMEGA16/32 AVR-GCC: Zapętlanie programu przy użyciu timerów i przerwań

    Do zrealizowania na zaliczenie kursu był program wykorzystujący timery i przerwania do pomiaru czasu. W skrócie wprowadzamy czas w void start(void)//rozpoczecie odliczania { sprintf(message,"Odliczanie "); message[15]=' '; LCD2x16_clear(); display(message, false); //konfiguracja timerow TCCR1B |=...

    Mikrokontrolery AVR   14 Sty 2011 18:39 Odpowiedzi: 2    Wyświetleń: 1688
  • CNY17, Atmega16: Dioda na PD7 miga zamiast świecić przy detekcji zera

    [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <stdlib.h> #define D7 7 //dioda podłączone do pinów portu D unsigned int counter=10110; int main(void) { DDRD = (1 << D7); PORTD=(1 << D7); // tutaj sobie zaświecasz diodę, ale do pojedynczych bitów to używaj "|=" zamiast samego...

    Mikrokontrolery AVR   24 Kwi 2013 20:19 Odpowiedzi: 17    Wyświetleń: 2409
  • Przerwania w ATmega168 - Prośba o sprawdzenie programu i wytknięcie błędów.

    Kurcze nie wiedziałam, że tak nie można...:/ Poniżej wersja ostatnia schematu. http://obrazki.elektroda.pl/5617185100_1... Jeśli chodzi o program i tryb CTC, to trochę poczytałam i jak widać poniżej próbowałam zastosować. Mimo wszystko mam problem z tym programem. Okazuje się,że dioda wreszcie miga, ale nie w takim czasie którego oczekiwałam....

    Mikrokontrolery AVR   05 Lip 2013 12:17 Odpowiedzi: 8    Wyświetleń: 1728
  • Atmega16 - różne wyniki zliczania impulsów przy 8MHz, dlaczego?

    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<...

    Mikrokontrolery AVR   15 Paź 2011 15:09 Odpowiedzi: 13    Wyświetleń: 3843
  • [ATMega16] ATMega16: Niezgodne wyniki pomiaru czasu impulsów w mikrosekundach

    .... po pierwsze ty chcesz mierzyć czasu rzędu ? kliku mikro-sekund??? tzn jakie bywają te różnice po wyzwoleniu ??? jakie masz założenie bo jeśli kilka us albo i mniej - to musisz mieć jakieś duże taktowanie procka co najmniej 16MHz najlepiej Tak, mam zegar 16MHz. Timer1 chodzi z prescalerem 8, czyli licznik cyka co 0,5µs. Opóżnienie impulsu...

    Mikrokontrolery AVR   05 Lis 2009 19:48 Odpowiedzi: 11    Wyświetleń: 3982
  • [atmega16][Bascom] odbió kodu pilota (innego niz rc5)

    pomyślałem że wykorzystam 2 przerwania, złączyłęm razem int0 i int1. jedno bedzie wykrywac opadajace zbocze a drugie rosnące. efektem miał być ciąg licz np "345,12,345,32,463,12" gdzie kazda liczba oznaczałą by długość kolejnego impulsu otrzymywanego z czujnika. napisałem kod: $regfile = "m16def.dat" $crystal = 16000000 Config Lcdpin = Pin...

    Mikrokontrolery AVR   05 Sty 2009 21:11 Odpowiedzi: 10    Wyświetleń: 5315
  • [Atmega16] Jak ustawić porty Atmega16 jako wejścia i obsłużyć menu na LCD?

    Pozwalam sobie zamieścić 'żyjący' przykład korzystający z przerwań: Zakładam że zegar w mojej atmedze ma 16MHz :) Program na przerwaniach timera0 robi 'pracę' programu, konkretnie konwersję A/D z portu A0, i robi to około 60 razy na sekundę Na przerwaniach timer1 odświeżany jest ekran LCD (przerwanie wywoływane 30 razy na sekundę) Na porcie A znajduje...

    Mikrokontrolery AVR   03 Sie 2009 08:57 Odpowiedzi: 13    Wyświetleń: 11426
  • [ATMEGA16] [ATMEGA16][C] - Jak zmierzyć długość przerwy między bitami na INT0?

    A BTW, zamiast robic takie dziwne kombinacje nie lepiej ustawic prescaler timera tak, zeby timer sie nie przepelnial p Jeśli można by użyć Timer1 to oczywiście że tak, założyłem że jest do czegoś innego potrzebny. Odnośnie losowości - największy prescaler to 1024, co nawet przy prędkości 1Mhz daje maksymalny błąd 1ms. A resetowanie prescalera resetuje...

    Mikrokontrolery AVR   15 Wrz 2009 17:24 Odpowiedzi: 25    Wyświetleń: 2157
  • atmega162 - break, ustawianie flagi przyciskiem, i inne pytania

    Witam, uczę się języka C na płytce kursu AVT3505 z atmegą162 i wyświetlaczem LED. Moim celem jest stworzenie programu który zlicza od pierwotnej wartości i do zera, a następnie przerywa program i zmienia stan czwartego pinu portu D na przeciwny. [syntax=c] #include <avr/io.h> #define F_CPU 8000000 #include <util/delay.h> #include <avr/interrupt.h>...

    Mikrokontrolery Początkujący   08 Wrz 2013 10:16 Odpowiedzi: 6    Wyświetleń: 1566
  • [Atmega16] [Bascom] if..then..else i odmierzanie czasu

    $regfile = "m16def.dat" $crystal = 8000000 Config Pinb.0 = Input Config Pinb.2 = Input P1 Alias Pinb.0 P2 Alias Pinb.2 Set Portb.0 Set Portb.2 Config Timer1 = Timer , Prescale = 256 On Timer1 1_sekunda Enable Timer1 Enable Interrupts Counter1 = 34286 Declare Sub Alarm Declare Sub Sys_off Dim Sekundy As Byte Dim Flaga1 As Bit Dim Flaga2 As...

    Mikrokontrolery AVR   29 Maj 2010 08:55 Odpowiedzi: 11    Wyświetleń: 2585
  • Dlaczego program BASCOM do ściemniania diody na ATmega16 nie działa?

    $regfile = "m8def.dat" $crystal = 1400000 Config Pinb.1 = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Prescale = 1 Dim I As Byte Do For I = 1 To 50 Pwm1a = I Waitms 50 Next I For I = 50 To 1 Step -1 Pwm1a = I Waitms 50 Next I Loop

    Mikrokontrolery AVR   07 Lut 2012 22:23 Odpowiedzi: 12    Wyświetleń: 4072
  • Atmega168A-PU: Brak działania przerwań, mruganie diodą nieudane.

    Cześć, dziękuję wszystkim za odpowiedzi. Generalnie problem rozwiązany, aczkolwiek muszę jeszcze zobaczyć do kodu asemblera bo wydaje mi się, że poprzedni kompilator coś nachrzanił i dlatego był taki cyrk, a w sumie ciekawy jestem. Korzystałem wcześniej z kompilatora dołączonego do CodeBlocks, jednak po tym co działo się w opisywanym wątku zmieniłem...

    Mikrokontrolery Początkujący   03 Lip 2018 14:16 Odpowiedzi: 10    Wyświetleń: 612