atmega8 tccr0

Znaleziono około 420 wyników dla: atmega8 tccr0
  • Dlaczego przerwanie timera w ATmega8 nie działa? Dioda na PB1 nie świeci

    To co sugerowal Tajwoj - źle ustawiłeś preskaler, powinno być: TCCR0 = 0b00000101;

    Mikrokontrolery   21 Kwi 2005 20:07 Odpowiedzi: 18    Wyświetleń: 10040
  • Atmega8>attiny13 - Potrzebne wsparcie z przeniesieniem kodu między uC.

    Wg http://www.nongnu.org/avr-libc/user-manu... musisz zmienić nazwę wektora przerwań na TIM0_OVF_vect Porównaj sobie datasheet attiny13 z datasheetem atmegi8 żeby skonfigurować timery. Do skonfigurowania timera w attiny służą rejestry TCCR0A i TCCR0B, w atmedze8 jest tylko TCCR0 http://www.atmel.com/images/doc2535.pdf http://www.atmel.com/Images/Atmel-2486-8...

    Mikrokontrolery Początkujący   06 Mar 2015 20:40 Odpowiedzi: 7    Wyświetleń: 1215
  • Nie znalazłeś odpowiedzi? Zadaj pytanie Sztucznej Inteligencji

    Czekaj (1min)...
  • Resetowanie timera w Atmega8 - jak wyzerować licznik do zera?

    To zależy. Z opisu autora (nie analizowałem kodu) wynika, że timer jest zatrzymany, stąd kolejność nie ma znaczenia. Przy okazji mała poprawka, bo zamiast TCNT0 podałem TCCR0. Zerując TCCR0 zatrzymamy timer ponieważ w tym mikrokontrolerze są tam tylko bity preskalera.

    Mikrokontrolery AVR   16 Sty 2015 09:16 Odpowiedzi: 9    Wyświetleń: 1062
  • REKLAMA
  • AVR ATmega8 Timer0 CTC – konfiguracja rejestrów do przerwania co 2ms

    Masz zły wektor przerwań. http://www.atmel.com/images/atmel-2486-8... http://www.nongnu.org/avr-libc/user-manu... Ustawiłeś przerwanie od overflow timera. TCCR0 nie ma bitu WGM01. Zajrzyj do manuala jak to poustawiać.

    Mikrokontrolery Początkujący   03 Kwi 2015 20:23 Odpowiedzi: 39    Wyświetleń: 3900
  • [Bascom] ATmega88PA - Odczyt RC5 nie działa, działa na ATmega8, co zmienić?

    Jakiej wersji kompilatora używasz? Get RC5 domyślnie używa timera0 a Atmega8 to nie to samo co Atmega88 i timery są inne, inne rejestry sterujace. Zobacz do noty np. Timer/Counter Control Register TCCR0 w ATMega8 steruje preskalerem a w ATMega88 TCCR0B Timer/Counter Control Register B, dwa różne rejestry inne adresy, różne też są flagi zdarzeń timerów...

    Mikrokontrolery AVR   12 Mar 2012 18:45 Odpowiedzi: 32    Wyświetleń: 4687
  • REKLAMA
  • Atmega8 - Tym razem; przerwanie sprzętowe - nie działa

    Wyrzuć te delay'e. Zmienną licznik jak radzili koledzy zmień na volatile. Zmień sei(); na SREG |= (1<<7); Jeśli będzie działać, to zapytam jakiej wersji avr studio używasz? [syntax=cpp] #include <avr/io.h> #include <avr/interrupt.h> volatile uint8_t Count = 0; ISR(TIMER0_OVF_vect) { Count++; TCNT0 = 0; } int main(void) { DDRB = 0xFF;...

    Mikrokontrolery Początkujący   03 Kwi 2013 20:44 Odpowiedzi: 30    Wyświetleń: 3780
  • [Atmega88][C][WinAvr]Migracja Atmega8->Atmega88 restart I

    #define TIMER_ON_64() TCCR0A|=(1<<CS00)|(1<<CS01); Bity CS00, 01, 02 są w TCCR0B. WGM02 też jest w TCCR0B a WGM00 i 01 w TCCR0A. P.S. W ATmedze88

    Mikrokontrolery AVR   25 Cze 2010 08:19 Odpowiedzi: 7    Wyświetleń: 2171
  • Błąd kompilacji przy obsłudze TIMER0 w Atmega8 dla wyświetlacza LED 7-segmentowego

    we wklejonym kodzie jest O nie zero, no chyba ze go przepisałeś ręcznie ;] po błędach wyraźnie widać że: TCCRO TCNTO nie jest zadeklarowane bo takich nie ma, jest : TCCR0 TCNT0

    Mikrokontrolery AVR   08 Mar 2012 14:32 Odpowiedzi: 7    Wyświetleń: 1634
  • ATMEGA8 - Jak zaimplementować modulację ASK na PB3 przy 1MHz?

    można tak [syntax=c] TCCR0 &= ~((1<<CS02)|(1<<CS01)|(1<... [/syntax] spowoduje to zatrzymanie licznika

    Mikrokontrolery AVR   20 Mar 2013 18:14 Odpowiedzi: 7    Wyświetleń: 2160
  • REKLAMA
  • Zegar na aTmega8. Rozbudowany układ. Przerwania wewnętrzne.

    Na przykładzie timera0 ;wektory przerwań .org 0x00 rjmp reset .org 0x09 rjmp przerwanie_timer0 reset: .def acc = r16 .def maska = r17 ;### START TIMER0 in acc, TCCR0 ldi maska, 0b00000111 ; 3 ostatnie bity to ustawienie preskalera or acc, maska out TCCR0, acc in acc, TIMSK ldi maska, 0b01000001 or acc, maska out TIMSK, acc ; odblokowanie przerwania...

    Mikrokontrolery   16 Gru 2006 23:45 Odpowiedzi: 6    Wyświetleń: 1755
  • [TDA1543A] [Atmega8] - Napięcie stałe zamiast danych, brak komunikacji

    Sam to pisałeś czy gdzieś znalazłeś ? [syntax=c]TCCR0 &= ~(_BV(CS01) | _BV(CS02)); //clock prescaler = 1[/syntax] Nie wiem ile jest tam jeszcze takich dziwolągów, ale powyższe po resecie nie ustawia prescalera na 1 jak w komentarzu [syntax=c]TCCR0 |= 1<<CS00; //clock prescaler = 1[/syntax]

    Mikrokontrolery AVR   04 Maj 2016 10:58 Odpowiedzi: 15    Wyświetleń: 1839
  • Różne częstotliwości impulsów na timer0 i timer2 w ATmega8535, dlaczego?

    Witam! Zauważyłem dziwne zjawisko: Generuję np: 10000 impulsów na jednym pinie za pomocą timera0, a na innym pinie również 10000 impulsów za pomocą timera2. Oba timery są 8-bitowe i oba ustawione są na ten sam preskaler TCCR=5 ; i oba mają tą samą wartość TCNT=5. Generację zaczynam w tym samym czasie i o dziwo mam różne częstotliwości przebiegów. Dlaczego...

    Mikrokontrolery   20 Maj 2006 12:45 Odpowiedzi: 2    Wyświetleń: 843
  • ATmega8515: Przerwania Timer0 nie działają w Bascom AVR - co poprawić w kodzie?

    Po Config Timer0 wpisz dodatkowo TCCR0 = 4 Config Timer0 = Timer , Prescale = 256 Tccr0 = 4 Tylko musisz coś zrobić z START TIMER0 i STOP TIMER0 bo one przywrócą wartość po CONFIGu i program dalej nie będzie działał. Najprościej będzie usunąć te instrukcje. dodano 20 Sie 2008 08:05 Mail z opisem błędu poszedł już do MCS Electronics. Zbaczymy jaka będzie...

    Mikrokontrolery   20 Sie 2008 08:29 Odpowiedzi: 14    Wyświetleń: 1297
  • Atmega8, kwarc zegarkowy, Timer0 multipleksuje tylko do 64..

    TCCR0 = _BV(x<<CS00); Źle użyłeś makra _BV. _BV(x) jest równoznaczne z ( 1 << x ), czyli w Twoim przypadku próbujesz wykonać podwójnie przesunięcie bitowe. Jeżeli x = 3 (CS00=0): _BV(3<<CS00) = _BV(3) = (1<<3) = 0b00001000 czyli TCCR0 będzie równe 0b00001000 . Innymi słowy, próbujesz ustawić bit tylko do odczytu, zamiast...

    Mikrokontrolery AVR   22 Gru 2010 23:21 Odpowiedzi: 4    Wyświetleń: 2802
  • ATmega8535 – sterowanie jasnością LED przez PWM 8-bit na PB3, brak reakcji na przyciski

    Nie bardzo mi się chce wnikać w przyczyny , więc wrzucę Twój zmodyfikowany kod: #include <avr/io.h> #include <avr/interrupt.h> #define PWM_out(value) OCR0 = value void delay(void){ volatile unsigned int i; for(i=5000;i;i--); } unsigned char pwm=127; int main(void) { DDRD = 0x00; PORTD = 0xFF;...

    Mikrokontrolery   06 Lut 2008 11:44 Odpowiedzi: 4    Wyświetleń: 1230
  • Dlaczego przerwanie przepełnienia timera 0 nie działa na Atmega8 w avr-gcc?

    A masz oscyloskop zeby steirdzic ze rzeczywiscie sie nic nie dzieje? Ja wrzucilem taki program do megi16 #include <avr/io.h> // dostęp do rejestrów #include <avr/interrupt.h> // funkcje sei(), cli() #include <avr/signal.h> // definicje SIGNAL, INTERRUPT SIGNAL(SIG_OVERFLOW0) { PORTD=0xFF; } int main(void)...

    Mikrokontrolery   08 Mar 2011 14:44 Odpowiedzi: 18    Wyświetleń: 3114
  • Atmega8 + gsm obsługa połączeń przychodząc, mini lokalizator kluczy i pilota rtv

    Jeżeli korzystasz z makr Lighta'I to musisz być konsekwenty. W oryginalnym kodzie jest TCCR0=T0div; gdzie T0div jest odpowiednikiem preskalera 256. W Twojej funkcji widze TCCR0=0x02; co ustawia prescaler na 8. Oczywiście zakłądam że masz właściwą wartosć F_CPU. Dla kwarcu 11,0592MHz do TCCR0=0x04 a do TCNT0=0xD4 i powinno działać.

    Mikrokontrolery   21 Maj 2005 07:18 Odpowiedzi: 31    Wyświetleń: 5981
  • ATmega8: Dioda na porcie B nie działa po naciśnięciu przycisku na porcie D

    1. To czy port jest wyjściem czy wejściem jest zdeterminowane przez elektronikę układu i rzadko istnieje potrzeba zmiany tego statusu po jednokrotnym ustawieniu. W twoim przypadku ustawiasz DDRB=0xff na początku funkcji main() i nie ma potrzeby zmiany tego w każdym wywołaniu procedur diody1_4() i diody5_8(). Nie jest to duży błąd ale dobra praktyka....

    Mikrokontrolery   02 Lis 2007 00:57 Odpowiedzi: 12    Wyświetleń: 2159
  • Czy licznik ATmega8 odliczy 0.262s i LED na PC0 zapali się przy 128?

    No cóż teoretycznie chyba bedzie działać ale ładne to to nie jest :D 1. linie kodu TCNT0 = 0; // ustawienie zegara na zero - przyznaje to wlasnie robi natomiast TCNT0=1; // rozpoczecie pracy zegara - z tym sie nie zgadzam , bo licznik liczy od momentu wpisania 0x05 do rejestru TCCR0, i nie zatrzymuje sie tylko leci dopóki nie wpiszesz 0 do TCCR0 oprócz...

    Mikrokontrolery   05 Lut 2006 12:27 Odpowiedzi: 8    Wyświetleń: 1555
  • Zegarek na LCD i atmega8 ,brak precyzji...i Timer'ów.

    Nie mam pojęcia jak zrobić prescaler na tym rejestrze TCCR0 w Bascom. Ale czy tałem że im większy ten prescale tym mniejsza dokładność ,może lepiej zostać przy tym co jest ?

    Mikrokontrolery   22 Wrz 2007 16:04 Odpowiedzi: 38    Wyświetleń: 5710
  • Przerwania w Atmega8 AVR-GCC - brak wyświetlania na ekranie w kursie EDW

    TCCR0 = 1<<CS01 | 1<<CS01; tu mam ustawiony rejestr zeby zliczal mi impulsy podzielone w preskalerze przez 64 , chyba , ze cos jeszcze trzeba ustawic

    Mikrokontrolery AVR   22 Sty 2009 19:31 Odpowiedzi: 17    Wyświetleń: 2032
  • MegaSuperDebounce - Biblioteka zaawansowanej obsługi przycisków AVR, ARM PIC ...

    Otóż przycisk mi działa raz na 20+ prób a i to nie zawsze... ;/ [syntax=c]TCCR0 |= (1 << CS00) | (1 << CS02); TCCR2 |= (1 << CS20) | (1 << CS21) | (1 << CS22); TIMSK |= (1 << TOIE0) | (1 << TOIE2); TCNT0 = 253; TCNT2 = 0;[/syntax] atmega8

    Mikrokontrolery Początkujący   31 Sty 2021 12:28 Odpowiedzi: 67    Wyświetleń: 19032
  • Dlaczego w symulacji BASCOM dla ATMega88 widzę mniej rejestrów I/O?

    Szkoda. Wprawdzie potrzebowałem 24MHz i ucieszyłem się że ten na 20MHz chodzi i na 24MHz. Ale liczyłem na to że jak zdobędę ten na 24MHz to łyknie ze 30MHz. Szczególnie że okazało się że 24MHz mi nie wystarczy. Wczoraj przypadkiem odkryłem w datasheecie dodatkowe rozkazy (muls, mulsu, fmul, fmuls, fmulsu, movx, lpm, Rx, Z, lpm, Rx, Z+). Pomoc BASCOMa...

    Mikrokontrolery   25 Wrz 2007 12:45 Odpowiedzi: 33    Wyświetleń: 4346
  • Jak odczytać dane RC5 z odbiornika IR SM3385P na Atmega8?

    Witam Mam prośbę o rozjaśnienie pewniej sprawy - mam do Atmegi8 podpięty odbiornik IR (SM3385P) cudo to zostało wymontowane z jakiegoś odbiornika Czujnik podpięty jest pod PB0 - do tego posiadam pilot TTS35AI - od zestawu SkyStar2 - do przetestowania wykorzystałem program ze strony http://hobby.abxyz.bplaced.net/index.php... Kod poniżej...

    Mikrokontrolery AVR   20 Lut 2012 22:15 Odpowiedzi: 2    Wyświetleń: 1587
  • Czy poprawnie pozbywam się drgań styków sposobem programowym? ATmega8A/Język C

    Po pierwsze - jeśli chcesz się przekonać czy kod działa to go uruchom i to sprawdź. Po drugie - nie wiem po co tak bardzo grzebiesz w rejestrach timera, wpisujesz jakieś własne wartości do TCNT0 i TCCR0 w przerwaniu, jaki to ma cel? Uruchom przerwanie i zapomnij o nim: [syntax=c]#define KEY_UP(PINB & (1<<3))//PB3 - przycisk UP - do masy. ......

    Mikrokontrolery AVR   03 Sty 2021 01:57 Odpowiedzi: 14    Wyświetleń: 714
  • [Atmega16][avr-gcc] - Odbiór RC5 - format odczytanego kodu

    Otóz tak wygląda pewien program do zczytywania komend z czujnika podczerwieni do którego wysyłane są sygnały za pomocą pilota w standardzie RC5: Poprawiłem tytuł. LordBlick

    Mikrokontrolery Początkujący   28 Kwi 2014 23:04 Odpowiedzi: 1    Wyświetleń: 1074
  • [AVR] AVR Timer/Licznik 0 w C – jak działa kod z pollingiem i rejestrami TIFR, TCNT0?

    A słyszał kolega kiedyś o czymś takim jak nota aplikacyjna PDF do procka? bez czytania tego - zawsze będzie kolega spędzał wiele dni i nocy nad rozwikłaniem tak prostej "zagadki" a wystarczy zajrzeć do noty procka ATtiny2313 (przecież jest w necie za free) - zajrzeć do interesującego cię rozdziału n/t Timera0 a dokładniej: 8-bit Timer/Counter Register...

    Mikrokontrolery AVR   04 Lis 2009 23:31 Odpowiedzi: 8    Wyświetleń: 4134
  • [ATmega8][C] - Płynne sterowanie jasnością LED przy użyciu pilota RC5

    Witam, Czy nakierowałby mnie ktoś w jaki sposób wykorzystując PWM można zrealizować płynne sterowanie jasnością diody LED przy użyciu pilota nadającego w standardzie RC5? Do tej pory udało mi się zrealizować płynne sterowanie jasnością diody wykorzystując PWM i microswitche - oto kod: [syntax=c]#define F_CPU 8000000UL #include <avr/io.h> #include...

    Mikrokontrolery Początkujący   01 Mar 2014 09:45 Odpowiedzi: 5    Wyświetleń: 2718
  • [asm] STK500 + ATmega8515l problem z programowaniem

    A czego miałem szukać w nocie katalogowej? Ewentualnych odpowiedzi na ewentualne pytania dotyczące kodu... U mnie CALL oznacza rcall. OK, ale i tak bez ustawienia wskaźnika stosu się nie obędzie. Oto poprawna i sprawdzona wersja na timerze : #define F_CPU1000000 .nolist #include <m8515def.inc> ; Prohibits use of non-implemented instructions (ATmega8515)...

    Mikrokontrolery AVR   19 Sty 2011 15:59 Odpowiedzi: 21    Wyświetleń: 1971
  • Atmega8 debugowana w avr studio i jeszcze raz counter0

    Witam. Czy ma ktoś jakieś pojęcie na napisanie poprawnego programu działającego pod atmega8 na counter0, który odliczał by1 sekundę? Drugie pytanie to, czy może mi ktoś wyjaśnić dlaczego jak ustawię bit TOIE0 oraz I-bit SREG to jak debuguje krokowo program to zawartość rejestru TCNT0 skacze mi dopiero od bitu 1, a powinien od 0. Dlaczego? Po preleceniu...

    Mikrokontrolery   30 Gru 2006 20:02 Odpowiedzi: 4    Wyświetleń: 1148
  • Sterowanie diodą RGB na atmega8 - problem z kanałem PWM OC1A

    Kod który zamieściłem jest na ATTiny2313 więc nie powinno być problemu z przeniesieniem na ATMega8 - wystarczy sprawdzić i ew. zmienić nazwy rejestrów. Mam nadzieję że Ci się przyda. void PWMint(void) { DDRB |= (1 << PORTB2); DDRD |= (1 << PORTD5); // jako wyjscia DDRB |= (1 << PORTB4); TCCR0A =...

    Mikrokontrolery   29 Gru 2009 23:07 Odpowiedzi: 3    Wyświetleń: 4815
  • [C][atmega8] pomiar czasu między dwoma impulsami na INT0

    skorzystaj z pinu ICP1 i Input Capture Timera1, w rejestrze ICR1 bedziesz mial zliczone impulsy miedzy kolejnymi impulsami na pinie ICP1, w obsłudze przerwania Input Capture dodaj zerowanie timera. Dodano po 16 A jak chcesz to zrobic na INT0 to char zmienna=0; int wartosc; ISR(EXT_INT0_vect) { if (zmienna==1) { cbi(TCCR1B,CS11);//wylacz...

    Mikrokontrolery AVR   24 Lis 2009 08:04 Odpowiedzi: 5    Wyświetleń: 3676
  • [Atmega8] [Atmega8][C/AVR Studio] Przerwanie nie zapala diody na PORTB 0

    Ja bym to zrobił tak: #define F_CPU 1000000UL #include <avr/io.h> #include <avr/interrupt.h> unsigned char tovs; SIGNAL(SIG_OVERFLOW0){ TCNT0 = 1; // timer stop tovs++; // zmiana stanu co 16 przepełnień timera if(tovs % 16 == 0) PORTB ^= _BV(0); TCNT0 = 0; //timer start } int main(void) { DDRB...

    Mikrokontrolery AVR   29 Gru 2008 08:39 Odpowiedzi: 19    Wyświetleń: 4319
  • Atmega8L 8MHz - jak ustawić fuse bity dla poprawnego działania zegara?

    Po 2 teraz juz sam nie wiem :| bo przeciez co ma dorzeczy to ze u mnie zmienna "licznik" ma wartosc 4000? Przeciez to jest zmienna wewnetrzna w porgramie.Bo jesli chodzi o wartosc zliczana przez licznik to wynosi ona L=250, czyli aby uzuskac 1 sek to: 1s=250x4000; gdzie TCCR0=2 (CK/8) bo kwant czasu wynosi 1us. Nie wiem moze sie myle.... Pozdarwiam...

    Mikrokontrolery   10 Gru 2005 23:52 Odpowiedzi: 6    Wyświetleń: 1422
  • [ATmega88PA] [ATmega88PA][C] - Timer0 w trybie CTC blokuje pętlę główną, LED na PC0 nie działa

    Witam, Robiłem to kilkanaście razy na innych procesorach, a nie mogę zrobić na ATmega88PA. link do DSa: http://www.atmel.com/images/Atmel-8271-8... opis rejestrów TIMER0 na stronie 105 Timer1 i Timer2 mam ustawione w trybie PWM i działają bez zarzutu. Walczę już...

    Mikrokontrolery   05 Paź 2014 16:21 Odpowiedzi: 6    Wyświetleń: 1143
  • WinAVR - nie działa czasomierz na ATMega8, działa w Bascomie

    Witam. Mam pewien problem żeby na tym mikrokontrolerze zrobić czasomierz. Gdy napisze w bascomie działa ok, ale jak w WinAVR to już nie. #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> SIGNAL (SIG_OVERFLOW0) { PORTD = ~PORTD; } int main(void){ DDRD=0xff; PORTD=0xff; TIMSK = _BV(TOIE0);...

    Mikrokontrolery   31 Sie 2006 23:13 Odpowiedzi: 1    Wyświetleń: 1461
  • [C] Atmega8 PWM sterowanie RGB LED – błędy kompilacji w WinAVR, prośba o analizę kodu

    Hej. Po pierwsze Timer0 w atmedze8 nie ma PWM A więc do PWM możesz korzystać tylko z Timera 1 oraz Timera 2. Po drugie twój problem leży w nazwach poszczególnych rejestrów konfiguracyjnych atmegi 8 sprawdź w dokumentacji atmegi8 jak w rzeczywistości nazywają się rejestry TCCR0A, TCCR0B, OCR0A bo tego dotyczy komunikat błedu. Poza tym pamiętaj że port...

    Mikrokontrolery   22 Sie 2009 08:29 Odpowiedzi: 7    Wyświetleń: 4475
  • atmega8, ustawienie przerwania od timera0, assembler

    Witam, mam problem z ustawieniem przerwania od timera0 na atmega8, jestem początkujący jeśli chodzi o assembler... Problem leży w tym że, uP jest taktowany z wewnętrznego zegara 1MHz, i jeśli mam ustawiony prescaler na 8 czyli rejestr TCCR0 na 2 to powinienem otrzymać obsługę przerwania co 8us a na oscyloskopie otrzymałem igiełkę co 2ms;/ nie wiem co...

    Mikrokontrolery AVR   14 Paź 2011 09:23 Odpowiedzi: 8    Wyświetleń: 1782
  • Timer/Counter0 ATMEGA8. Timer0 jako wyjście. Odliczanie odstępów czasu.

    Pisane na żywca, nie wiem czy się skompiluje od strzału: #include <avr/io.h> #include <avr/signal.h> #define LED PORTC.0 uint8_t liczba; SIGNAL (SIG_OVERFLOW0) { TCNT0=0x05; if(liczba++==250) { PORTC=~PORTC; liczba=0; } } int main( void ) { DDRC=0x0FF; PORTC=0; TCCR0=0x04; TCNT0=0x05; TIMSK=0x01;...

    Mikrokontrolery   25 Paź 2006 10:26 Odpowiedzi: 16    Wyświetleń: 3550
  • [ATMEGA8] ATMEGA8 RC-5 odbiór w C – nieprawidłowy odczyt komendy, ISR(INT0_vect), kwarc 1MHz

    Na wstępie widzę, że popełniłem straszną gafę. Zczytywałem stan portu przez PORT zamiast PIN:) Napisałem dwie kolejne wersje. ISR(TIMER0_OVF_vect)// { TCNT0=39; //1.728ms if (bit_is_set(PORTD,IR)) {IR_CMD[i]=1;} else {IR_CMD[i]=0;} i--; if (i==0) {TCCR0=0x00; i=13; _delay_ms(1000);...

    Mikrokontrolery AVR   21 Sty 2010 10:27 Odpowiedzi: 2    Wyświetleń: 1284
  • [AT90USB1287] Jak napisać prosty program z timerem w asm dla AT90USB1287?

    Programuję w ASM ale tylko Atmega8/16 więc wklejam ci taki przykład: [syntax=asm] .CSEG .org 0x0000 //poczatek deklaracji skokow dla przerwan rjmp _poczatek reti reti reti reti reti reti reti reti rjmp _150_timer0 //przerwanie overflow timer0 reti reti reti reti reti reti reti reti reti _poczatek: in r16, TIMSK//timer0 overflow interrupt enable ori...

    Mikrokontrolery AVR   16 Kwi 2012 21:09 Odpowiedzi: 2    Wyświetleń: 1383
  • Atmega8 BASCOM – konfiguracja PWM przez ręczne ustawienie rejestrów, nie działa kod

    Witam drogich kolegow. Z uwagi na to, że jest to mój pierwszy post prosze z góry o wyrozumiałość. Mam następujący problem: Potrzebuje skonfigurować i wygenerować sygnał PWM na mikrokontrolerze Atmega8. Konieczne jest, żeby ustawić wszystkie rejestry ręcznie. Jest to mozna powiedzieć wstęp do mojej pracy INZ. Z tematem gryze się juz od dluzszego czasu...

    Mikrokontrolery AVR   18 Gru 2011 13:45 Odpowiedzi: 2    Wyświetleń: 2183
  • Jak poprawić dokładność kwarcu 11,0592 MHz? Kondensatory czy trymery?

    Piszę w C, ATMega8. Inicjalizacja Timera: TIMSK = 1<<TOIE0; // odblokowanie przerwania od licznika TCNT0 = LCNT0; // wpisanie wartości początkowej TCCR0 = 5; // ustawienie trybu pracy licznika Procedura obsługi przerwania: SIGNAL (SIG_OVERFLOW0) { TCNT0=LCNT0; licz1++; if (licz1==100) //uplynela 1s { licz1=0; if (sekundy==59)...

    Mikrokontrolery   10 Sty 2008 13:15 Odpowiedzi: 5    Wyświetleń: 1703
  • Ulepszenie kodu sterownika silnika krokowego na ATmega8 w C - porady?

    W timerze miało być TCCR0|=(1<<CS00); , teraz timer działa ok. Puki co kombinuję dalej z samą obsługą silniczka (dzięki za powyższą radę, tablica to lepszy pomysł) i największą zagwozdką dla mnie jest wypełnienie.

    Mikrokontrolery AVR   10 Maj 2013 17:07 Odpowiedzi: 15    Wyświetleń: 3042
  • Jak skonfigurować przerwania w ATmega8 w języku C z użyciem GCC?

    Na początek zdecyduj jakie przerwanie ci jest potrzebne... Jeżeli od timera to szukaj opisu przerwania w rozdziale opisującą jego konfiugurację... Po pierwsze trzeba uaktywnić przerwania czyli sei() Przerwania timerów aktywuje się w rejestrze TIMSK... Odpowiednio uart w swoich rejestrach posiada bity odpowiadające za aktywację przerwania od TX, RX itd......

    Mikrokontrolery   13 Lis 2010 16:13 Odpowiedzi: 48    Wyświetleń: 19441
  • [Atmega88PA/C/WinAVR] Restartowanie procesora w czasie ustawienia ADC

    Witam, Mam dziwny problem w mikrokontrolerem. Z nieznanych mi powodów restartuje mi się on gdy ustawiam źródło odniesienia dla przetwornika ADC. Co ciekawsze, dokona kilku restartów i za którymś razem uruchamia się poprawnie, a co lepsze przetwornik działa dobrze. Kod w tej chwili wygląda tak: http://obrazki.elektroda.pl/5684753500_1...

    Mikrokontrolery AVR   14 Paź 2013 20:49 Odpowiedzi: 18    Wyświetleń: 3039
  • Błędy kompilacji programu ściemniacza na ATtiny13 po przeniesieniu z ATmega8515

    Zamiast tego całego config timer0 itd. wpisz sobie: TCCR0A=&b00100001 TCCR0B=&b00000011 i póżniej wszędzie gdzie masz pwm0b wpisz OCR0B. powyższego nie sprawdzałem - na żywca z dokumentacji. Za ok. 2h sprawdzę to coś ci napiszę :D Dodano po 2 Wygląda na to, że ten kod zaczął ci działać :D . To, że żarówka ci od razu się zapala i gaśnie to nic dziwnego....

    Mikrokontrolery   08 Wrz 2006 22:38 Odpowiedzi: 36    Wyświetleń: 5837
  • [Atmega88PA][C/AVR Studio 4] Ustawienia dla Timer0 1s

    Witam, Wydaje mi się iż zapisuje wszystko poprawnie z datasheet jednak coś jest niepoprawnie... Wiem sprawa banalna ale za pomoc bede wdzieczny. [syntax=c] #include <avr/io.h> // definicja IO #include <avr/interrupt.h> // dolaczenie naglówkowego potrzebnego do obsl. przerwan #include <util/delay.h> // proste opuznienia // dioda LED...

    Mikrokontrolery AVR   09 Sie 2011 19:34 Odpowiedzi: 4    Wyświetleń: 1248
  • Atmega8 - Przerwania,tryb CTC nie działa tak jak trzeba

    Witam :) Próbuje odpalić tryb CTC na Atmega8-przerwanie co 5ms i nie mogę sobie poradzić pomimo czytania PDF.Mało rzeczy robiłem na przerwaniach a jeśli już to na Atmega32 gdzie korzystałem z tego: Przerwanie co 5ms więc mam 1 sekundę. ATMEGA32: [syntax=c] TCCR0 |= (1<<WGM01); tryb CTC TCCR0 |= (1<<CS02)|(1<<CS00); preskaler = 1024...

    Mikrokontrolery AVR   28 Sie 2012 09:45 Odpowiedzi: 8    Wyświetleń: 2250
  • Komunikacja USI -> SPI [Attiny25 -> Atmega8535]

    O, widzę, że ktoś oprócz mnie również ma ten problem :D Przede wszystkim musisz uwzględnić ten pin SS, o którym wspomniałeś, bez tego ani rusz. Za każdym razem gdy coś wysyłasz po SPI musisz ustawiać SS na zero, a po wysłaniu SS na 1. Warto również zajrzeć do bibliotek, które udostępnia Atmel, jest to nota AVR319, do pobrania stąd [url=http://www.atmel.com/devices/ATTINY...

    Mikrokontrolery AVR   04 Kwi 2012 09:20 Odpowiedzi: 3    Wyświetleń: 2118
  • [AVR][C][Atmega8]TIMER i Preskaler - błąd przy kompilacji

    Czy tu chodzi, aby ustawić bit WGM w tryb normalny i CTC więc: TCCR0 |= (1<<WGM00);. Czy dobrze myślę? Źle myślisz. Zobacz jakie bity masz w tym rejestrze w M8. Niby ustawiłem bit WGM na tryb CTC w atmedze 8 TCCR0 |= (1<<WGM10); i 1 krzyżyk znikł :) Również źle. Jak wyżej. Lecz czytając wypowiedź kolegi wyżej przestawiłem na timer1 komendą...

    Mikrokontrolery   05 Cze 2011 09:34 Odpowiedzi: 27    Wyświetleń: 5378
  • Wiatrak komputerowy Intel - Atmega8+wiatrak komputerowy

    Piszę ponownie, ponieważ jako, że z układem nie mam już problemu mam problem z napisaniem programu. W swoim rozwiązaniu chciałbym użyć dwóch przerwań od TIMER0 oraz zewnętrzne INT0. Teraz tu moje pytanie czy te dwa przerwania zaimplementowane w ten sposób jak poniżej, nie wpłyną na niedokładność pomiaru i czy jest może na to lepszy sposób. Mój kod:...

    Mikrokontrolery Początkujący   18 Lut 2015 16:59 Odpowiedzi: 5    Wyświetleń: 2865
  • ATMega8 nie widzi procedury obsługi przerwania - ROZWIĄZANE

    Buduję prosty sterownik na atmedze 8, chcę obsługiwać klawiaturę w przerwaniach od timera0 ale atmega nie widzi procedury obsługi przerwania i resetuje się. Jeżeli zatrzymam timer albo wyłączę przerwanie timera, albo wyłączę globalnie przerwania to nie resetuje się. Kod procedury obsługi przerwania (funkcje do LCD są w pełni sprawne, nawet gdy ISR jest...

    Mikrokontrolery   18 Kwi 2008 10:19 Odpowiedzi: 2    Wyświetleń: 1174
  • [ATMega8515][C] Regulowany generator impulsów 0-12hz

    Udało mi się skonfigurować tak jak chciałem, Więc zostawiam kod dla innych: void Init_Timer(){ count=1;//Reset ounter TCNT0 = 0;// Reset timer TCCR0 |= (1<<CS02) | (1<<CS00) | (1<<WGM01);// Set prescaler 1024, Set CTC Mode TIMSK |= (1<<OCIE0);// Enable Compare interrupt OCR0=100; //Set...

    Mikrokontrolery AVR   13 Lis 2009 15:04 Odpowiedzi: 4    Wyświetleń: 1853
  • ATmega8 PWM na Timer1: kod działa w symulatorze, brak sygnału na OC1A po wgraniu

    PWM ustawiasz dosyć prosto dwoma rejestrami: TCCR0 =0x69; //Tu ustawiasz tryb, preskaler, sposob zliczania - szczegoly w dokumentacji Atmela OCR0 = wypelnienie; //Tu wpisujesz wypelenienie np. 128 to wypelnienie 50% (przy liczniku 8-bitowym) Ja to tak robie na ATmega16 i dziala bez problemu. Oczywiscie PIN OC0 musi być jako wyjście

    Mikrokontrolery   30 Maj 2006 13:54 Odpowiedzi: 10    Wyświetleń: 1815
  • [BASCOM][ATmega8515] Nie działające przerwania - TIMER0

    [syntax=basic4gl] $regfile = "m8515.dat" $crystal = 8000000 Config Portb.1 = Output 'RW LCD Portb.1 = 0 Config LCD = 16*2 Config Lcdpin = Pin , Db4 = Porta.4 , Db5 = Porta.5 , Db6 = Porta.6 , Db7 = Porta.7 , E = Portc.7 , Rs = Portc.6 cls lcd "test" wait 1 cls Config Timer0 = Timer , Prescale = 1024 Tccr0 = 4 On timer0 Multi_kl Enable Timer0 Enable...

    Mikrokontrolery AVR   26 Kwi 2011 14:28 Odpowiedzi: 13    Wyświetleń: 2063
  • Przerwanie w ATMega8535. Nie mogę uruchomić przerwania.

    Witam, Próbuję uruchomić przerwanie timera 0 w ATMega8583 i jakoś nie mogę. W założeniu ma być to tryb pracy normalnej - licznik krąży i jak się przepełni to następuje przerwanie. Pewnie robię coś nie tak, tylko nie wiem co. Próbuję tak (to tylko fragmenty kodu dotyczące przerwania): .CSEG .ORG 0x0000 rjmp reset .ORG OVF0addr rjmp timer_0 reset:...

    Mikrokontrolery   27 Paź 2006 11:21 Odpowiedzi: 2    Wyświetleń: 1105
  • [ATmega8] [ATmega8][C] - Przeróbka kodu z ATmega328 na ATmega8, Timer0 na Timer2, LCD pusty

    Pierwsze pytanie - czy w inny sposób udaje ci się coś wyświetlić na LCD? I drugie - tam jest funkcja dodająca transakcje, która przy okazji włącza timer. Poprawiłeś ją? Chodzi o tą: [syntax=c] bool LCD_PutText_B(uint8_t x, uint8_t y, char *txt, LCD_trans *buf, bool autodel) { buf->cmd=LCD_Text; buf->Ready=false; buf->SelfDel=autodel; //Czy zwolnić pamięć...

    Mikrokontrolery AVR   03 Sty 2016 19:19 Odpowiedzi: 2    Wyświetleń: 951
  • Konwersja programu z Atmega16 >> Atmega8. Nadajnik

    Witam. Pewnie zabrzmi to głupio aczkolwiek lubię się upewnić czy pewne rzeczy robię dobrze czy też źle. Jako iż nie dysponuję w tym momencie pod ręką programatorem to nawet nie mogę sprawdzić czy dobrze piszę czy nie. Rozchodzi się o zmianę programu napisanego na Atmegę16 tak aby pasował do Atmegi8. Jest to nadajnik podczerwieni o określonej częstotliwości...

    Mikrokontrolery   19 Wrz 2007 12:06 Odpowiedzi: 2    Wyświetleń: 1659
  • Atmega8535 i częstotliwość taktowania kwarcem zewn. HELP.plz

    Witam. Walczę z tym już od dłuższego czasu. z serią At90S nie miałem żadnych problemów, a jak AtMegi i AtTiny zastąpiły tą serie to przestałem czaić o co chodzi. Mianowicie: Atmegę 8535 taktuję zewnętrznym kwarcem 16MHz. do tego 2 kondensatory 22pF. Fusy ustawione tak: CKSEL0...3=0 - odhaczone CKOPT=0 - zaznaczone Napisałem prosty programik, który po...

    Mikrokontrolery   25 Wrz 2006 21:48 Odpowiedzi: 1    Wyświetleń: 1189
  • Dlaczego przerwanie 0 w ATmega8 nie działa natychmiast?

    Ostateczeni zrobiłem to w ten sposób: //ustawienie przerwania cli ldi r16,(1<<CS11) ;ustawienie preskalera na 8 out TCCR0,r16 ldi r16,(1<<TOIE0);ustawienie przerwania gdy licznik taki sam jak A out TIMSK,r16 ldir16, 0xff out TCNT0, r16 sei // nop bo prescaler i trzeba poczekac kilka cyklow w zaleznosci od niego nop nop nop...

    Mikrokontrolery   02 Mar 2006 13:01 Odpowiedzi: 3    Wyświetleń: 1203
  • [Atmega8515] PWM na 16 bitowym działa na 8 niechce dlaczego?

    Witam poniżej przedstawiam kod programu za srednikami jest poustawiany timer 16 bit który steruje serwomechanizmem z modeli RC i działa wszystko poprawnie (wyjscie OC1A do serwa) natomiast ja chcialbym to serwo wysterować 8 bitowym wyjscie (OC0/t0 pin1 do serwa) I niby wszytsko dobrze posutawialem ale serwo ani drgnie dlaczego? #include "avr.inc"...

    Mikrokontrolery AVR   03 Sty 2010 00:52 Odpowiedzi: 3    Wyświetleń: 1698
  • Atmega8515, Attiny26, SPI.Nie ustawia rejestru konfig...

    Hej. Od jakiegos czasu mecze sie z SPI. Napisalem program dla Mastera i dziala. Problem tkwi w Slave. Gdy puszczam symulacje w AVR Studio nie chce mi sie ustawic bitu USISIF w rejestrze USISR. Robie to tak: USISR|=(1<<USISIF); Master - Atmega8515 Slave - Attiny26 Attiny26 nie ma SlaveSelect wiec musialem je zrealizowac programowo. Zastosowalem...

    Mikrokontrolery   12 Maj 2007 08:08 Odpowiedzi: 11    Wyświetleń: 1578
  • ATMEGA8 - Jak zaprogramować symulację obrotów silnika 2000/min?

    | = (1<<CS00). Jednak ja wciąż polecam użyć Timera1 i jego trybu CTC, wtedy na wyjściu OC1A. Nie potrzeba wtedy obsługiwać żadnego przerwania, ustawiasz wyjście OC1A w tryb TOGGLE ( rejestr TCCR1A ) i będzie ono zmieniało stan w rytm przepełnień timera. A timer będzi liczył (przez prescaler jaki ustawisz) do wartości jaka sobie ustawisz w OCR1A....

    Mikrokontrolery   25 Wrz 2013 20:01 Odpowiedzi: 16    Wyświetleń: 2610
  • [ATmega8515][C] - Generowanie sygnału PWM dla 6 (8) serw

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

    Mikrokontrolery AVR   18 Cze 2013 00:44 Odpowiedzi: 5    Wyświetleń: 2121
  • Atmega8 - Błedne wskazanie dalmierza ultradźwiękowego

    Witam. Postanowiłem sobie zaprojektować i stworzyć dalmierz ultradźwiękowy. Odbiornik z równoległym rezystorem (kilka kOhm - filtracja zakłóceń) podłączyłem pod wyjścia komparatora. Nadajnik początkowo miałem podłączony przez MOSFET N do OC1A, ale przy braku efektów podłączyłem bezpośrednio do tego wyjścia. Objawy: wynik jaki cały czas uzyskuję to około...

    Mikrokontrolery   06 Mar 2014 08:56 Odpowiedzi: 56    Wyświetleń: 5607
  • Pierwsze starcie z mikrokontrolerami (dozwolone linki Allegro, eBay, itp)

    Bardzo prosze o pomoc z timerem1 w mikrokontrolerze Atmega8. Czytam tą dokumentacje i wydaje mi się, że wszystko dobrze zrobilem a mimo wszystko nie działa. Chce by przy przepełnieniu zapaliły się diody. Oto mój kod: #include <avr\io.h> #include <avr\signal.h> #include <avr\interrupt.h> SIGNAL (SIG_OVERFLOW1) { sbi(PORTC,PC5); } int...

    Mikrokontrolery Początkujący   09 Sty 2018 16:32 Odpowiedzi: 2015    Wyświetleń: 549948
  • [Atmega8515][C] Program zegara na lampach VFD - duchy.

    Witam. Posiadam program do zegara VFD, lecz posiada tak zwane duchy. Po zastosowaniu większego rezystora ograniczającego prąd siatki też można ten efekt zniwelować ale czy można byłoby zrobić to w programie? Btw czy można przerobić program dodatkowo na to żeby pokazywał datę? Wrzucam program: [syntax=C] ////////////////////////////////////////...

    Mikrokontrolery AVR   22 Mar 2011 07:37 Odpowiedzi: 53    Wyświetleń: 5921
  • ATMEGA8535 - Biblioteka timer0 nie działa funkcja "Timer0_RegisterCallbackF

    Ta linijka w sumie nie ma potrzeby istnieć. Według mnie wystarczy wywołać: Timer0_Init()' i potem Timer0_RegisterCallbackFunction( jakaś funkcja ) i powinno chodzić. Jednak nic się nie dzieje. Samo Timer0_Init wygląda tak: void Timer0_Init(void) { //mt char i; uint8_t i; // Initialize array of callback functions for (i=0; i<TIMER0_NUM_CALLBACKS;...

    Mikrokontrolery AVR   09 Wrz 2013 21:06 Odpowiedzi: 3    Wyświetleń: 2010
  • [Atmega8] Timer0 nie generuje przerwań przy 12MHz i preskalerze 1024

    Nie wiem dlaczego Timer0 nie generuje przerwania przepełnienia licznika. Zegar 12MHz Preskaler 1024 Każde przerwanie zmienia bit głośnika na przeciwny (XOR) czyli częstotliwość dźwięku to częstotliwość przerwań podzielona przez 2. Głośnik ma zakres od 20Hz - 20kHz Częstotliwość oczekiwana: f = 12MHz / 1024 / 2 = 5860Hz Dźwięk się nie pojawia niezależnie...

    Mikrokontrolery AVR   16 Lis 2010 17:55 Odpowiedzi: 13    Wyświetleń: 4266
  • Atmega8 - Jak zrealizować łagodne zatrzymywanie silników szczotkowych?

    Poniższy kod reguluje jasność podświetlenia LCD, więc dla potrzeb silnika musisz go przyspieszyć. timer0 w trybie PWM (do sterowania prędkością silnika): [syntax=c] //Konfiguracja TIMER0 w trybie PWM TCCR0 |= (1<<WGM01) | (1<<WGM00);// TRYB FAST PWM TCCR0 |= (1<<COM01) ; // Clear OC0 on compare match, set OC0 at BOTTOM,(non-inverting...

    Mikrokontrolery Początkujący   16 Sty 2014 19:34 Odpowiedzi: 4    Wyświetleń: 1155
  • [atmega8535][asembler/avrstudio] błędy przy sterowaniu PWM

    Witam szanownych forumowiczów. Wykonywany przeze mnie projekt to prosty sterownik lampek LED RGBW. Lampki sterowane są poprzez 4 kanały PWM, których współczynnik wypełnienia regulowany jest potencjometrami podłączonymi do 4 wejść ADC mikrokontrolera. Wyjścia PWM ustawione są w trybie fast PWM o częstotliwości 490Hz. No i poprawnie wykonana operacja...

    Mikrokontrolery AVR   15 Mar 2011 20:59 Odpowiedzi: 11    Wyświetleń: 1931
  • [Atmega88] [Atmega88][Bascom] - Błąd kompilacji przy ustawianiu rejestrów Fast PWM

    Witam. W moim projekcie muszę skorzystać z trybu Fast PWM. Odwołuję się bezpośrednio do rejestru: [syntax=vbnet]TCCR0A = WGM00 , WGM01 'Fast PWM[/syntax] Kompilator zwraca błąd: 242 Wystąpił brak zgodności zmiennych Jeżeli wpiszę z jednym argumentem kompiluję się prawidłowo. [syntax=vbnet]TCCR0A = WGM01 'tylko, że to tryb CTC [/syntax] Tak samo zachowuje...

    Mikrokontrolery AVR   31 Gru 2015 15:58 Odpowiedzi: 2    Wyświetleń: 1029
  • ATmega8515 PWM OCR1B – jak wyłączyć i ponownie uruchomić PWM z płynną regulacją?

    Robię PWM na porcie 8-bitowym OC0 i czy w takim wypadku do deaktywacji PWM'a wystarczy wpisać TCCR0 = 0x00?

    Mikrokontrolery   12 Kwi 2006 07:26 Odpowiedzi: 9    Wyświetleń: 1556
  • ATMEGA88P - przerwania nie działają (nie wywołuje się funkcja)

    TCCR0A = (1<<CS02) | (1<<CS00);; Na początek: bity CS są w rejestrze TCCR0B, a nie w TCCR0A. Chyba zajrzałeś nie do właściwej noty. Oczywiście uwaga kolegi (at)Mari(at)(at)(at)n jak najbardziej słuszna.

    Mikrokontrolery Początkujący   29 Sty 2015 10:41 Odpowiedzi: 6    Wyświetleń: 852
  • [C++] Jak uzyskać PWM na innym pinie ATmega8535 po uszkodzeniu domyślnych?

    Cześć! Przez nieuwagę upaliłem piny, na które wyprowadzone sa domyślnie timery, a potrzebuję PWMu. Wpadłem więc na pomysł, by użyć przerwań TIMERx_COMP. Niby przerwania są obsługiwane (jak dam głupotę w stylu {zapal_pin; czekaj; zgaś_pin; czekaj;}, to widać działanie), ale nie udało mi sie uzyskać PWMu, które mogłoby sterować ledem. Może miałby ktoś...

    Mikrokontrolery AVR   24 Mar 2011 18:50 Odpowiedzi: 2    Wyświetleń: 942
  • Przeportowanie aplikacji z Atmega8 na Attiny13 - rejestry

    Witam Jestem w trakcie przenoszenia programu w C z megi8 na tiny13 i niewiem jakie nazwy dać rejestrom od Timera0 bo te z megi8 byly traktowanie przez kompilator jako błędy. Z dokumentacji wywnioskowałem, że rejestry różnią się "0" na końcu nazwy... Więc pozmieniałem to w całym programie w ten sposób: [syntax=c]outb(TCNT0,TimerValue); // Przypisz nową...

    Mikrokontrolery AVR   20 Gru 2011 00:51 Odpowiedzi: 2    Wyświetleń: 1043
  • ATmega8535 – nie działa wyświetlacz LCD na PORTC, kod nie inicjuje LCD

    Dzieki, bardzo użyteczny sposób, którego nie znałem. Ostatecznie wyglada to tak var.h: #ifndef F_CPU #define F_CPU 8000000 #endif #define LCD PORTC #define LCDE PC6 #define LCDRS PC7 #define D7 PC2 #define D6 PC3 #define D5 PC4 #define D4 PC5 #define LCDREG DDRC #define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) #define...

    Mikrokontrolery   17 Cze 2006 11:03 Odpowiedzi: 8    Wyświetleń: 1521
  • ATmega8 Timer0 C – dioda nie miga co 1s, licznik i preskaler, co poprawić?

    Witam. Założenie jest takie, aby dioda podłączona do wyjścia timera0 zapalała się i gasła na 1s. Wpisuje więc do rejestru TCCR0 1 i mam preskaler 1 co daje pojedyńczy kwant czasu = 125ns (1/8000000 = 125n) czyli żeby odmierzyć 1s potrzebuje zliczyć to 8000000 razy :P, ale że TCNT0 ma pojemność 256 bitów zastosujemy dodatkowy licznik. czyli zliczymy...

    Mikrokontrolery   26 Sie 2006 08:43 Odpowiedzi: 3    Wyświetleń: 1451
  • [ATmega88p] Timer zaczyna działać po około minucie

    Witam, Napisałem program, który docelowo miał odbierać dane z komputera przez modem BT HC-05 interfejsem UART oraz potwierdzać odebranie danej, oraz wysyłać dane z ADC jeśli przyciśnięty zostanie przycisk (w rzeczywistości jest to wycinek pewnego programu, więc niektóre zmienne etc. mogą być bez sensu). Odczyt ADC wykonuję wykorzystując przerwania capture...

    Mikrokontrolery AVR   05 Kwi 2020 20:54 Odpowiedzi: 11    Wyświetleń: 846
  • [atmega8][C] odbiornik podczerwieni i pilot bez nazwy

    Momentami odnoszę wrażenie, że nie wiesz co piszesz. Do pomiaru długości nie potrzebujesz dodatkowego timera oprócz tego t0. Wystarczy, że będziesz sprawdzał co określony czas, jeśli na wejściu będzie ten sam stan co poprzednio, to będziesz zwiększał pomocniczą zmienną. Jeśli stan się zmieni, to dopiero zapiszesz wartość do np.tablicy, żeby później...

    Mikrokontrolery AVR   04 Kwi 2009 17:39 Odpowiedzi: 26    Wyświetleń: 3773
  • Kod C dla ATmega8 do regulatora modelarskiego - brak reakcji urządzenia

    No to próbuję: [syntax=c] //* \section OA Original author //* Andy Gayne is the original author of this application note. //*/ //program z noty Atmela 136 //przerobiony na ATMega8, kwarc 11059200 i okrojony program #include <avr/io.h> #include <avr/interrupt.h> //! Pin mappings #define CHMAX 6 // maximum number of PWM channels #define PWMDEFAULT...

    Mikrokontrolery   27 Paź 2011 20:50 Odpowiedzi: 51    Wyświetleń: 6957
  • [C][atmega8] generowanie fali nośnej 36kHz i wysyłanie RC5

    napisałem tak i nie działa ;/ gdzie może być błąd? (tranzystor PNP do OC1A - PB1 atmega8). sprawdziłem przed chwilą w bascomie, i telewizor reaguje na komendy rc5send z BASCOMA. unsigned int RRR=0; void rc5send(void) { TCCR0 |= (1<<CS00); TCCR0 |= (1<<CS01); // use CLK/64 prescale TCNT0 = 0x6F; //888 cykli dla...

    Mikrokontrolery AVR   28 Lis 2009 10:24 Odpowiedzi: 7    Wyświetleń: 3604
  • Jak wysłać liczbę binarną na port PD w Atmega8 z WINAVR?

    proszę bardzo: #include <avr/io.h> #include <avr/interrupt.h> int liczba; SIGNAL (SIG_OVERFLOW0) { if(liczba++==675) { PORTC=~PORTC; liczba=0; } } int main( void ) { DDRC=0xFF; // port C jako wyjście PORTC=0x00;; // początkowy stan portu C - niski TCCR0=0x03; // prescaler 64 TCNT0=0x00; //...

    Mikrokontrolery   29 Paź 2006 22:03 Odpowiedzi: 11    Wyświetleń: 6095
  • [Atmega8-16] Atmega8-16PU TIMER0 - dioda nie miga co sekundę przy kwarcu 8MHz

    Witam, mam następujący problem. Chciałem przetestować timer0 w Atmega8-16PU, aby gasił i zapalał diodkę co jedną sekundę. Obliczyłem, że przy kwarcu 8MHz i ustawieniu preskalera na CK/8 program w C powinien wyglądać następująco: #include <avr/io.h> #include <avr/sfr_defs.h> int main(void) { DDRB = 255; PORTB = 0; TCCR0 = 2;...

    Mikrokontrolery AVR   08 Cze 2008 12:43 Odpowiedzi: 2    Wyświetleń: 1906
  • [ATmega8][C]Obsługa przerwania tryb CAPTURE vs. EXTERNAL INTERRUPT

    Cześć. Napisałem swój pierwszy program na przerwaniach, ale nie działa on do końca tak jak zamierzałem. Układ jest taki, że pod port B mam podpiętą diodę/diody, a pod wejście wywołujące przerwanie PD3 (INT1) mam podłączony oscylator o zmiennej częstotliwości w zakresie od 0 do +/- 30Hz. Program miał polegać na tym, że powyżej granicznej częstotliwości...

    Mikrokontrolery AVR   13 Maj 2011 12:55 Odpowiedzi: 15    Wyświetleń: 2938
  • [ATmega8] ATmega8: Niedokładne pomiary odległości - problem z komparacją sygnału

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

    Mikrokontrolery AVR   25 Maj 2008 13:37 Odpowiedzi: 14    Wyświetleń: 2890
  • ATmega8 i LCD: błędy przy włączaniu przerwań timera0 - jak to naprawić?

    ginar: twoja porada okazała się słuszna, chociaż dalej mam problem. I nadal nie wiem jak sobie z nim poradzić. Nie zmodyfikowałem co prawda funkcji, tylko zmodyfikowałem mój program (tak było znacznie szybciej). Co zrobiłem? Zmieniłem położenie następujących linijek, umieszczając je już po wysłaniu wszystkich komend do LCD: sei(); TIMSK = 1<<TOIE0;...

    Mikrokontrolery   13 Lut 2008 19:54 Odpowiedzi: 7    Wyświetleń: 1632
  • Jak ustawić Timer w Atmega8 dla obrotomierza LED w języku C?

    A zaglądałeś do DS ? Bo widzę, że niespecjalnie. Sygnał podpinasz pod nogę T0 a licznik konfigurujesz na zewnętrzny sygnał zegarowy. TCCR0 = (1 << CS02) | (1 << CS01); // External clock source on T0 pin. Clock on falling edge. i teraz w TCNT0 masz liczbę impulsów. Odpalasz jeszcze jeden timer i co chwilę obliczasz prędkość...

    Mikrokontrolery AVR   20 Gru 2010 17:01 Odpowiedzi: 21    Wyświetleń: 7277
  • [atmega8] ATmega8 – nie działa sterowanie LED przyciskiem na PD2, analiza kodu i rejestrów

    Układ ma dzialac tak ze przyciskiem gasi/wlacza ledy. Ukad jest tak zbudowany ze wlacznik jest ok 20m od procka ale to nie problem, jesli uklad steruje jedna dioda lub jedym halogenkiem (przez IRFZ 44N) ale jesli zamiat tego jednego halogenka podepne halogeny w kuchni to uklad wlacz sie i wylacz sie ale jesli wlacze diody to po pewnym czasie ( kilka...

    Mikrokontrolery AVR   26 Kwi 2011 19:59 Odpowiedzi: 14    Wyświetleń: 1982
  • [Atmega8, C] Stacja lutownicza - multipleksowanie LED

    [syntax=c]#define F_CPU 8000000L //Częstotliwość taktowania #include <avr/io.h> #include <avr/interrupt.h> #include "kod_binarny.h" char Znak; int main(void) { DDRB = Bx11111111; TCCR0 |= Bx00000101;//Timer0: sygnał z oscylatora, presklaer 1024 TIMSK |= Bx00000001; //Timer0: włączenie przerwania z Timera sei(); while(1) { Znak = Bx10010111;...

    Mikrokontrolery AVR   21 Mar 2013 23:15 Odpowiedzi: 11    Wyświetleń: 2871
  • [AVR][C] - pytanko do speców od C, kompilacja dla m8 i m168

    Witam, tak się zastanawiam - może mi ktoś podpowie dlaczego mam taki dziwny jak na razie dla mnie efekt, że ten samiuśki program , który napisałem dotąd na ATmega8 i zajmuje już prawie całą pamięć flash bo 95% czyli ok 7846 bajtów - po skompilowaniu dla procka ATmega168 - nagle zajmuje o nieco ponad 1kB !!!! więcej w pamięci flash ???? zmiany, które...

    Mikrokontrolery AVR   13 Wrz 2009 00:24 Odpowiedzi: 14    Wyświetleń: 1407
  • [AVR] [AVR][C] Kompilacja biblioteki LCD HD44780 na ATMega8 - brak wyświetlania

    Mam pewien problem. Pobrałem z internetu bibliotekę do LCD HD44780, działa ładnie ale pod m.in. ATMega32 a pod ATMega8 nie kompiluje się. Postanowiłem ją poprawić i jak łatwo się domyśleć nadal nie działa ;/ Kompiluje się teraz ale nie nic nie wyświetla. Powiedzcie gdzie popełniłem błąd? Kod po zmianie: #include "delay.h" volatile uint16_t...

    Mikrokontrolery AVR   17 Sty 2011 22:09 Odpowiedzi: 6    Wyświetleń: 2238
  • Sterowanie serwem modelarskim na ATmega8 - problem z pozycjonowaniem

    witam dopiero uczę się programowć avry. chciałem pobawić się w sterowanie serwa modelarskiego na atmega8 i tu od razu zonk. program wykorzystuje timer0, procesor działa na wew. oscylatorze 8MHz. generalnie to na wyjsciu miala sie pojawiac fala prostokątna H=1,5ms L=18,5ms ale serwo osiąga tylko jedną skrajną pozycję i koniec. kod jest poniżej, czy widać...

    Mikrokontrolery   06 Kwi 2005 21:46 Odpowiedzi: 8    Wyświetleń: 1704
  • Atmega8 - Atmega8 + AVR Studio => program w C błędnie działa (zmienne glogaln

    Witam, Mam problem z poniższym programem. Timer0 odlicza 1ms i generuje przerwanie. W programie obsługi przerwania zmienna "znak" przyjmuje wartość znak=15, a chyba powinna przyjmować wartość znak=34. Dlaczego program nie uwzględnia mi przypisania znak=34, które znajduje się w pętli for? Pozdrawiam Listing programu: [syntax=c].................................

    Mikrokontrolery AVR   05 Lis 2012 23:17 Odpowiedzi: 4    Wyświetleń: 2277
  • [Atmega8] [Atmega8][C] Błąd kompilacji: expected expression before '=' token w Timerze

    Witam, mam następujący problem z Timerem w Atmedze 8, kod który kompiluję jest zwykłym przykładem z książki, które polega na generowaniu fali prostokątnej. Cały problem polega na tym, że kompilator wyrzuca błąd: ../Cwiczenie2.c:10: error: expected expression before '=' token Kompiluję pod AVR Studio i AVR GCC: #include <avr/io.h> #define...

    Mikrokontrolery AVR   20 Cze 2008 16:22 Odpowiedzi: 2    Wyświetleń: 1785
  • Złe odliczanie czasu w zegarku na ATMEGA8(L) z kwarcem 8MHz - jak poprawić?

    robisz pętlę for np na 40x25ms. Spróbuje :>, to dam znać. #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #define tau0 6; main() { unsigned int=3200; DDRB=0x01; TCNT0=tau0; TCCR0=1; //ustawia presckaler for(; { while(bit_is_clear(TIFR,TOV0)); //sprawdza przepełnienie TCNT0=tau0; licznik--; if(licznik==0)...

    Mikrokontrolery   05 Wrz 2006 16:16 Odpowiedzi: 15    Wyświetleń: 5497
  • Jak poprawić odbiór podczerwieni w Atmega8 z użyciem avr-gcc?

    Próbuje zrobić odbiornik kodu podczerwieni X sat. Opis tego standardu jest na stronie http://www.sbprojects.com/knowledge/ir/x... Napisałem program w avr-gcc, ale gdzieś jest błąd bo do portu cały czas podstawia tą samą wartość. Program testowałem w VMLAB-ie i wszystko symulowało ok. Dla sprawdzenia dałem zmiane stanu jednego wyprowadzenia na przeciwny...

    Mikrokontrolery   23 Lis 2007 17:18 Odpowiedzi: 3    Wyświetleń: 1992
  • [Mega8] [ATmega8][C] Konflikt SPI i Timer2 na pinie MOSI jako slave

    Witam Wszystkich, To mój pierwszy post na forum, jakoś jak do tej pory wszystkie odpowiedzi udawało się znaleźć. Ale pojawił się następujący problem: Wykorzystuje ATmega8 do sterowania trzema serwami (jeden timer-jedno serwo). Z samym sterowaniem na przyciskach wszystko jest ok i nie to jest problemem. Nie wiem jak sobie poradzić z transmisją danych...

    Mikrokontrolery AVR   31 Paź 2008 11:24 Odpowiedzi: 3    Wyświetleń: 1494
  • [ATmega8] [ATmega8][C] Długie przytrzymanie przycisku zwiększa licznik o 1 - jak to naprawić?

    Czy chodziło o coś takiego jak poniżej? Co myślicie o wartościach: TCCR0 = 0x03; TCNT0 = 247; TIMSK = 1 << TOIE0; ?? Zegar wewnętrzny 1MHz. #include <avr/interrupt.h> int button_is_pressed(void) { if(bit_is_clear(PINB, 0)) { delay(25); if(bit_is_clear(PINB, 0)) { // delay(50);...

    Mikrokontrolery AVR   01 Lut 2009 18:26 Odpowiedzi: 13    Wyświetleń: 1506