Jak użyć timera (tzn. jak wyciągnąć z niego np zmienną dodawaną, lub resetowaną co określony czas?) Boję się jeszcze TIMERów :) Nie ma się czego bać. Oto prosty programik, który na pewno pomoże. 796182 Jednak dziwię się dlaczego nie używasz sprzętowego PWM. Attiny 2313 posiada ich cztery. Na każdym z timerów po dwa. [syntax=vbnet]Dim R As Integer Dim...
Dzięki... i rozumiem, że Counter0 liczy do 255, ... W trybie , który przedstawiłem - tak , ale w innych trybach, gdzie TOP może stanowić rejestr OCR0A , jest inaczej. a wypełnienie przebiegu wynosi Pwm0a/255? Dokładnie rzecz ujmując Pwm0a/256 Z jaką częstotliwością działa PWM (domyślnie chyba 500kHz)? Da się ją regulować? Mówiąc ogólnie - częstotliwość...
Pisałem o tym, ale moze potrzebujesz szczegółowszej instrukcji ;) Znajdź w kodzie "Stop Timer0" i wstaw tam tę jedna linię. Powinno pomóc. [syntax=vbnet]'Podprogram usypiania procesora Spij: Stop Timer0 'wyłącza PWM Tccr0a = 0 ' <<<<<< to dopisz Set Portb.1 'led off Set Portb.0 'led white off Reset Portb.2 'opornik obciążający wyłączony...
zobacz to: $regfile = "attiny25.dat" $crystal=8000000 Config Portb = Output Portb = &B00001110 Config Timer0 = Pwm , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect , Prescale = 1 Pwm0a = 125 'zamienić jeśli nie dziala na Ocr0a Do Loop End
[syntax=c]void start_freq(void) { TCCR0A = 1<<COM0A0 | 1<<WGM01; // CTC mode timer 0 toggle 0C1A TCCR0B = 1<<CS00; // clk / 8 OCR0A = 110; // f = 36kHz }[/syntax] Tak wygląda generowanie 36kHz na attiny2313 przy rezonatorze 8MHz. Nie jest to bascom (tylko C), ale widać, które bity są ustawiane i w jakich rejestrach ;) Nic więcej. Po...
Chłopak po prostu chce prościej. Ja bym zapuścił PWMa i w przerwaniu od niego uaktualniał zawartość rejestru OCR0A (a mowa o ATTINY13). Obsługę przerwania i wogóle wszystkiego zrobił bym w assemblerze bo to będzie bardzo krótki kod. A BASCOM strasznie by to skomplikował. Nawet żadnych rejestrów nie trzeba by odkładać bo program główny nic by nie robił....
Szukam porady na temat odpalenia 4kanałow PWM na tiny2313. Kod poniżej uruchamia jeden kanał: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Disconnect , Prescale = 8 Start Timer1 Pwm1a = 100 Próbowałem z Tccr0a = &B00110011 Tccr0b = &B00001000 Ocr0a = 200 Ocr0b = 200 jednak bascom nie "podświetla" Tccr0a tak jak Tccr1a,...
Clear Timer on Compare Match (CTC) Mode In Clear Timer on Compare or CTC mode (WGM02:0 = 2), the OCR0A Register is used to manipulate the counter resolution. In CTC mode the counter is cleared to zero when the counter value (TCNT0) matches the OCR0A. The OCR0A defines the top value for the counter, hence also its resolution. This mode allows greater...
Witajcie. Zawsze mam kłopoty z konfiguracją Timerów i dopalenie PWM. Aktualnie mam problem z Atmeg128 ale pytanie dotyczy ogólnie uC. Otóż mam kilka pytań. 1) Zauważyłem, że na jednym timerze można skonfigurować max 2xPWM sprzętowy. Czy mam rację? 2) Przeglądając datasheet Atmega128 widzę wyjścia PB5(OC1A), PB6(OC1B),PB7(OC1C). Czy ta jedynka OC 1 A,B,C...
A o nazwę PWM0A się BASCOM nie "rzucał"? Spróbuj wpisywać bezpośrednio do rejestru OCR0A. I usuń te polecenia Start gdyż są bez sensu. W wersji 1.11.9.5 rezultat kompilacji wydaje się być poprawny. Rejestry ustawiane są prawidłowo. W domu znajdę jakiegoś Tiny i sprawdzę.
musisz timer ustawić w CTC Mode (TCCR0A) czestotliwość ustawiasz wpisując odpowiednią wartość w OCR0A (DS strona 72)
Patrzymy do datasheeta i widać, że potrzeba ustawić mode 7, gdzie OCR0A = 33 ustala częstotliwość, a OCR0B wypełnienie. TCCR0A = &B00100011 TCCR0B = &B00001001
OCR0A= ?? OCR0B= ?? TCCR0A= ?? TCCR0B= ?? W miejsce pytajników wpisujesz odpowiednie wartości... Light'I
A niech kolega pozamienia słowa Pwm0a i Pwm0b na Ocr0a i Ocr0b. Może to coś da.
1) Czemu uważasz że ci PWM nie działa? 2) Co i do jakiego pinu dla PWM żeś podłączył? 3) Czemu zrobiłeś syf w programie i LCD obsługujesz w przerwaniu? 4) Program i tak ci się wywali bo nie masz zabezpieczenia przed przepełnieniem minut i godzin 5) Potem się trochę zastanowi co zrobić z tym Portb = &B255 6) Oraz w magiczny sposób ktoś się dowie gdzie...
Nie wiem czemu na ATmega328 to nie działa. Nie ma przerwania Compare0a i zmiennej Compare0a. Ale zamieniając to na Oc0a i Ocr0a i tak nie działa :( Szukanie powodów zajmuje mi tyle co głowienie się nad sprzętowym PWM, więc jednak wolę zostać przy poprzednim pytaniu - jaki ustawić rejestry dla Timera2?
No dobra kombinowałem kombinowałem i wykonbinowałem sprawdziłem sobie w symulatorze bascom jak ustawia TCCR1A=161 TCCR1B=3 :D i poprostu to soamo wpisałem analogicznie do TCCR0A i TCCR0B może nie umiałem skorzystać z noty katalogowej ale działa poprawnie :) aha i nie trzeba ustawiać OCR0A= i OCR0B= działają komendy PWM0A= i PWM0B= jak komuś to sprawi...
...Spróbowałem własnymi siłami zmienić ten kod, ale nie dałem rady(błędy kompilacji)... Aby to zrobić bezbłędnie, należy znać oba proce na "tip-top" :D Ja zrobiłbym to tak: 'Termometr Domowy' $regfile = "attiny2313.dat" $crystal = 8000000 'Config Timer0 = Timer , Gate = Internal , Mode = 2 'okres Timera0 250*12*Tosc=250us Config Timer0 =...
Rejestry sterujące TCCR0A / TCCR0B , TCCR1A / TCCR1B - ustawianie trybu pracy. Rejestr licznika TCNT0 , TCNT1 (nic nie zmieniasz, ale jest wykorzystywany) - zliczanie. Rejestry porównania OCR0A / OCR0B , OCR1A / OCR1B - sterowanie wypełnieniem. A w liczniku Timer1 także GTCCR (dodatkowe tryby pracy) i OCR1C (dzielnik PWM).
Witam! Staram się zaprojektować zbliżeniowy czujnik optyczny w oparciu o odbiornik TSOP1736, diody IR oraz mikrokontrolera attiny2313, który będzie (między innymi) generował przebieg prostokątny 36kHz dla diody IR. Obecność przeszkody ma być sygnalizowana zapaleniem się zwykłej diody. Po lekturze kilku tematów na forum oraz książki "Programowanie mikrokontrolerów...
Zyziu mi napisał kod bo nie miał czasu może mi to ktoś wytłumaczyć co do czego: $regfile = "attiny2313.dat" $crystal = 4000000 Config Portd.5 = Output Ocr0b = &H37 'wartość obliczyć tak:$crystal/(36000*2) Ocr0a = &H37 'j/w Tccr0a = &B00010010 Tccr0b = 1 Do nop Loop Ocr0b = &H37 'wartość obliczyć tak:$crystal/(36000*2)...
Ogarnełem CTC. Teraz nawet co 1s mam z wykorzystaniem ctc a program wygląda tak: [syntax=basic4gl]$regfile = "ATtiny24.DAT" ' specify the used micro $crystal = 8000000 ' used crystal frequency $hwstack = 32 ' default use 32 for the hardware stack $swstack = 32 'default use 10 for the SW stack $framesize = 32 'default use 40 for the frame space Config...
zumek a mogbys podzucic kawalek programu Skoro tak ładnie prosisz :D '*********** 4 x PWM ********* $regfile = "attiny2313.dat" Ddrb = &B00011100 'Oc0a,Oc1a,Oc1b = Output Ddrd = &B00100000 'Oc0b = Output Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up Tccr0a = &B11110001 'Timer0=Pwm ,Compare A Pwm = Clear...
Witam, mam problem z kompilacją kodu sprzed 10-ciu lat, najnowszy bascom. problem jest z rejestrami: Ocr0b = &H80 Ocr0a = &H80 proszę o wskazanie przyczyny. [code][syntax=vbnet] $projecttime = 0 $regfile = "m32def.dat" $crystal = 16000000 ' gdy Baro_idle=0 nie widzi adresu 238 ($EE) ' gdy Baro_idle=1 widzi adres 238 ($EE) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!....
http://obrazki.elektroda.net/19_11986721... Chyba zbyt dosłownie wziąłem do siebie stwierdzenie, że na procesorze można zrobić wszystko :D. Kiedyś kupiłem kilka sztuk ATTINY13 i nie miałem za bardzo pomysłu na ich wykorzystanie aż wczoraj wieczorem przy piwie wpadłem na szalony pomysł wykonania na jednym z nich wzmacniacza mocy. Po krótkim...
W ASM rozwiązanie Twojego problemu wygląda następująco: [syntax=text] ;DDS DEMO by Bobeer 2012 ;MCU - ATTINY13A ;XTAL - no ;EXT OSC 16,384kHz startup 14CK+64ms BOD=DISABLE CKDIV8=OFF ;minimalna rozdzielczość kroku to 10Hz/256 (0,0390625Hz) ;minimalny "okrągły" krok 10Hz ;maxymalna czestotliwosc 327,68kHz ;regulacja pwm 8bit 0=0V 255=VDD-1bit ;-------------program...
Witam. Jako, że mam ferie (:D) postanowiłem je spędzić kreatywnie wiec postanowiełm wziąć się za bascoma i w końcu nauczyć się jak obsługiwać i wykorzystywać pwm no wiec znalazłem jakiś króciutki program w internecie wrzuciłem go na procka i działa super ale na jednym porcie chciałem zrobić sterowanie reszta portów PWM woziłem notę katalogowa znalazłem...
Aby migała: wystarczy ją załączyć odczekać czas zgasić odczekać czas itd. Np. w pętli Do Loop. Aby sterować jej jasnością: Należy podłączyć się pod pin OC0A lub OC0B czyli wyjście PWM. Następnie skonfigurować Timer 0 jako PWM następnie zmieniać wartości rejestrów OCR0A lub OCR0B.
Najdokładniej będzie zmierzyć czas pomiędzy impulsami z enkodera - możesz do tego użyć trybu input capture (ICP) timera1. Przy max. prędkości obrotowej masz ok. 100 zdarzeń na sekundę. Przy min. prędkości możesz zwiększać preskaler timera żeby wykluczyć przepełnienie bez "łapania" impulsu. Jeśli odstępy między impulsami z dekodera nie są identyczne,...
'$sim 'to jest programik do sterowania silniczkiem w obu kierunkach 'za pomocą sygnału do sterowania serwa w odbiorniku zdalnego sterowania. 'sygał odbierany przez wejście odwracające komparatora analogowego z progiem 1.1V 'Sterowniki do silników modeli samolotów,chociaż są lekkie, nie mają zwykle możliwości zmiany 'kierunku obrotów silnika.(I...
Usiadłem przy Atmedze328P i uruchomiłem SPWM dla Twojego przykładu. Zdefiniowałem następujące wyjścia sygnałów: - PD0 - sterowanie lewym dolnym MOSFETem mostka H - PD1 - sterowanie prawym dolnym MOSFETem mostka H - PD5 - sterowanie lewym górnym MOSFETem mostka H - PD6 - sterowanie prawym górnym MOSFETem mostka H Wyjścia PD5 i PD6 są niezmienialne, ze...
Wszystko fajnie i pięknie, zbudowałem regulatorek i biorę się za programowanie AT90s2313 i kicha!. Mam Bascom Demo i kiedy chciałem skompilować plik Kolegi: ten programik 18 Maj 2005 21:50 Re: regulator prędkości silników modelarskich na AT90s2313 ----------------------------------------... mysle ze piny sa wystraczajaco...
No więc Timer chodzi na 1MHz. Kwarc masz 8MHz ale preskaler to 8 więc wychodzi 1MHz. Przerwanie od Timera następuje co 5000 cykli (mniej więcej bo trochę zajmuje zdjęcie rejestrów ze stosu). Czyli 1000000Hz / 5000 = 200Hz Tablica ma 64B ale z tego co widzę to siedzą w niej dwa okresy. Czyli tak praktycznie to ma 32B. Więc okres rozkłada się na 32 próbki....
Dzięki za pozdrowienia i za odpowiedź . A co do układu to jest automat do pokoju i ma sterować światłem rgb , halogenami , klawiatura umieszczona we włączniku+ dioda rgb ma sygnalizować jaka funkcja światła zostanie zmieniona , odczytać i zapisać i2c to zadanie dla attiny2313 . A atmega8 ma wyświetlać na wyświetlaczu co jest obecnie za funkcja , pobierać...
no troche sie pospieszylem :p Pprogram działa płytka nie :p źle zrobiłem drivery i płytke robie jeszcze raz. Wstawiam program w C narazie i prosze fachowców o ocene mam dopieor 18 lat i programuje 3 lata w bascomie raz napisalem program w asm a od kilku miesiecy w C ale to były chyba 3 programy. #include <avr/io.h> // dostęp do rejestrów #include...
Wentylator wdmuchuje powietrze do obudowy z góry? Wydajniej byłoby go odwrócić, tak żeby wydmuchiwał ciepłe powietrze na zewnątrz - zgodnie z ruchami konwekcyjnymi. Nie pomyślałem nad tym, spróbuję odwrócić, dziękuję za podpowiedź :). No i fajnie by było oprogramować RC5, skoro jest taka możliwość. Z wykorzystaniem RC5 w tym wypadku jest duży problem....
Witajcie. Nie byłem w stanie rozgryźć BASCOMA (no mniej więcej) więc siadłem i zrobiłem w C do Japońca (podajemy masę i na wyjściu mamy masę teraz jeszcze opracować jak podłączyć to do samochodu, żeby wpiąć się równolegle bez przecinania oryginalnej instalacji (tzn moduł ma być wspomagający i jak się zepsuje to po prostu nic nie będzie robił. a kod...
Witam. manekinen tak właśnie kombinuje na Tiny 13 tyle że, uczę się programować w C i narazie "profesjonalnego" kodu nie dam rady zrobić :( Tak więc liczyłem na gotowe projekty w celu zrozumienia zasady działania. Od czegoś trzeba zacząć, a właśnie chce wykorzystać mały procesor i wycisnąć z niego jak najwięcej. Witam, wspomniany wyżej projekt elektronicznej...
Dziekuje za pomoc. Znalazlem nawet jakies rozwiazanie. Chcialem wkleic gotowy kod, zeby zobaczyc sam efekt. Okazuje sie, ze mimo tego nie chce dzialac. Po przylozeniu sondy oscyloskopu do koncowek PB.2,PB.4 i PD.5 nic sie nie dzieje. Nauczylem sie podstaw w Bascomie, ale nie programowalem ponad rok i teraz ciezko sie za to zabrac, a co dopiero wylapywac...
Witam, Coś ostatnio mało ludzi odpowiada mi na pytania w Bascomie, więc postarałem się napisać swój program w C. Liczę więc na pomoc specjalistów od GCC ;) chciałbym zrobić pilot IR do mojego aparatu fotograficznego Olympus. Ze stronki lirc sprawdziłem sobie co i jak ma być dla pilota RM-1. Powiem nawet że chyba rok temu zrobiłem to w assemblerze i...
Witam. Zainspirowany tematem 'wzmacniacza audio na avr' postanowiłem zbudować coś w rodzaju odtwarzacza sampli perkusyjnych. Układ to attiny2313 taktowany kwarcem 20Mhz, głośnik pomiędzy PB2 a masę. Program jest napisany w Bascomie, który pobiera kolejne próbki-liczby z linii DATA... i wysyła do PWM. Linie DATA wkleiłem z pliku tekstowego metodą kopiuj/wklej...
Jak kiedyś zlitowałem się nad SAB600 i postanowiłem go zastąpić czymś bardziej orginalnym to powstał taki twór. Twór o tyle ciekawy, że w asemblerze ale pod Bascomowym interfejsem. Program oprócz generowania dźwięków robi jeszcze parę innych rzeczy, ale chyba tyle to już się można zorientować w kodzie. [syntax=basic4gl] '***********************Tiny13_Gong1...
Mam problem z rozumieniem języka ASM. Niby wszystko działa OK ale jest pewien fakt dla mnie niezrozumiały i aż zjadam zęby. Krótki opis działania programu: w podprogramie ustawiany jest 7 bit w zmiennej bajt który następnie jest sprawdzany w głównej pętli i jeśli jest ustawiony to zmienia się na 0 logiczne, a następnie zmienia się stan na przeciwny...
Witam!! Do Moderatorów i Adminów wiem, że napisałem już podobny temat, ale nikt mi nie odpowiada a to ważne. Do rzeczy musze wygenerować na obojętnie, którym pinie prócz tych od UART'a i Portb. 1;2;3;4 Słyszałem o generowaniu sprzętowo i programowo, jaka różnica czy programowo bardzo "zamuli" uC (spowolni go) Jak wykonać to najlepiej używam attiny2313...
bascom bascom enkodera bascom projekt bascom bascom bascom enkoder
zapisuje ustawie wymiana grzałki wymiana wyjścia audio
Schemat połączeń Webasto SG 1544/24V Wymiana paska klinowego Audi A6 C6 2.7 TDI Sedan