Problem wyniknął z mojego poprzedniego tematu... ;) Wszelakie przykłady jakie znajduję na necie dotyczą timera w trybie 1-2, a nie potrafię znaleźć nic w "3" :| Chcę użyć timer0 jako "podwójny licznik": 8-bitowy licznik impulsów i 8 bitowy licznik czasu. Wg. dokumentacji: No dobra,...
1. jaki język programowania? 2. ja bym to zrobił tak: a) Timer ustawiasz, żeby łatwo zliczał impulsy do odmierzenia czasu 2s. b) pierwsze naciśnięcie przycisku (po eliminacji drgań styków) wubudza timer c) każde kolejne naciśnięcie przycisku przed upływem 2s zwiększa zmienną, jeśli dojdzie do 2 to...
1. Mam podciągnięte porty wejściowe do masy 2. JTAG jest wyłączony, przy włączonym JTAG dioda świeciła ciągle 3. Bo taką mam płytkę, wcześniejszy błąd przy projektowaniu 4. Myślałem że bezpośrednio nie mogę Poprawiłem wszystko o czym pisałeś i nadal jest ten sam błąd Dodano po 22 Podłączyłem...
Zrobiłem jakiś czas temu taki układzik na attiny-13 do sterowania dwoma serwami i linijką diodową pokazującą położenie. Niestety do obsługi dwóch serw trzeba po zaprogramowaniu zablokować ISP: '(Program sterownika dwóch serwomechanizmów. Mikrokontroler Attiny 13. Funkcjonalność: Sygnały...
Witam Odświerzam temat bo mam pytanie związane z nim. To co podał mi (at)WOBI działa świetnie. Czy jest możliwe rozbudowanie tego programu tak aby drugie wyjście OC1b działało podobnie jak OC1a tylko z inną częstotliwością W programie jest: Config Timer1 = Timer , Compare A = Toggle , Compare...
już prawie ale... jeszcze coś jest nie tak, zrobiłem jak doradzaliście przypisałem 8 do zmiennej i za-load-owałem do timera (reszta programu taka sama jak poprzednio) na pierwszy rzut oka wszystko jest ok, diodka świeci zmieniając swoją jasność w zależności od P I Myśle sobie nareszczie mam generator...
Jeśli wyeliminujesz drgania przycisku, to najprościej to zrealizować podając wyjście przycisku na wejście zegarowe jednego timera (bedzie on zliczał ilość wciśnięć), a drugi timer wykorzystać do odmierzania czasów 1s - dokładnie co 1 s należy kasować licznik pierwszego timera. Ot i wszystko.
Może być Timer0 inaczej skonfigórowany np: 8000000/256 = 31250Hz Load Timer0, 250 'zapis w Bascom ' TCNT0 = 6 'doliczy 250 31250/250 = 125Hz = 8ms ' występuje przerwanie Timer0 jest ośmio bitowy, więc może zliczyć od 0 do 255 czyli 256 impulsów. W przerwaniu...
Config Portb = 63 : Portb = 63 Config Timer0 = Timer , Prescale = 1 Enable Interrupts : Enable Timer0 : On Timer0 Time Do Loop End Time: Timer0 = Zmienna Toggle Portb.3 Return Zmieniając wartość zmiennej "Zmienna" zmieniać będzie się częstotliwość impulsów.
Zaczynam dopiero programować i mam problem z TIMER = COUNTER . Chce by o zliczeniu ilości impulsów procesor wykonał np: zmianę stanu portu lub coś innego . To jest program : [syntax=bascom] $regfile = "m32def.dat" $crystal = 8000000 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Porta.2 ,...
Do If pinc.1 = 1 Then ' jezeli jeden 1 to impuls if Zezwolenie = 0 then Y(C) = X 'zapisz czas na pozycji C incr c ' nastepna pozycja Zezwolenie = 1'przelacz zezwolenie na zerowanie x end if end if if pinc.1 = 0 then if Zezwolenie = 1 then ...
Naucz się przerwań. Wykorzystaj Timer0 do generowania przerwania co np. 1s- jeśli ten czas Ci wystarczy. Czyli ustaw Timer0 jako timer. Ustaw Timer1 jako counter i zliczaj impulsy co 1s. W przerwaniu co 1s od Timer0 niech Timer1 zaczyna zliczać impulsy. I co 1s wyświetl liczbę impulsów i wyzeruj...
witam jest proste w asm ale w c też nie powinno być problemu. Przerwania INT0 i INT1 mogą być wyzwalane zmianą stanu napięcia wysokim lub stanem niskim . Odpowiednio ustawić bit w rejestrze MCUCSR. Ustawić bit aktywujący przerwanie w rejestrze GICR. mierzysz czas przez odczyt TIMERa
Co to jest Prescale ? Timery w mikrokontrolerach AVR nie muszą być taktowane zegarem systemowym - często jest on za szybki dla potrzeb projektanta. Inżynierowie z Atmela rozwiązali ten problem, umieszczając dodatkowy (nieco ukryty) licznik zwany prescalerem. Z tego licznika otrzymujemy kilka nowych...
Chcę napisac własny program z wykorzystaniem Timerów. Na początek proszę o wytłumaczenie dlaczego w poniższym programie: 1. wykorzystano podzial częstotliwości zegara (po preskalerze 256) 250/125 zamiast wykonac jedno dzialanie? 2. uzyto wartość początkową Timera0 = 250 przed Petlą do Loop...
Witam Proszę o pomoc. Potrzebuję wykonać okład mierzący bardzo krótkie odcinki czasu. START podanie impulsu na któryś pin, STOP podanie drugiego impulsu na kolejną nóżkę. Procesor Atmega32 język Bascom. Jaki najmniejszy odcinek czasu mogę zmierzyć ? Jak wygląda procedura pomiaru czasu miedzy...
Witam czy ktos moze mnie oswiecic w jaki sposob zapisac wartosc do rejestru Counter1 pod bascomem ? Mam taki prosty program i za nic w siecie bascom nie che go lyknac ............. I taki oto blad ASSIGNMENT ERROR line 8 Procesor ma ten timer w sobie. Jezli to wina bascoma to w jaki sposob...
Witam. Nie wiem czy dział będzie ok. Mam nadzieje że tak. Chciałbym poprosić kogoś o napisanie krótkiego programiku w Bascomie. Dawno temu bawiłem się w AVR a teraz mam szybki temat i proszę o pomoc. Program miałby wyglądać następująco. (tak bym go napisał w PLC) Impuls (zbocze narastające)...
Witam! Mam pytania: jak w praktyce zastosowac timery? Jak one działają? W którą stronę zliczają? Jak zczytac ich stan? Do ilu mogą zliczać? chciałbym, aby ktoś wytłumaczył mi to na przykładzie Atmegi8 i języka Bascom. Wiem już że: -Timery zliczają impulsy które same generują wg. prescalera -Prescaler...
Nie jestem za biegły w timerach i się ciut pogubiłem. Proszę zatem o podpowiedzi. Próbuję ustalić ile czasu będzie trwał impuls podawany na INT procesora a jednocześnie zmierzyć czas od początku tego impulsu do początku następnego. Jednym uP podaję impulsy na drugi uP. Do Portc.7 = 0 ...
Witam. Chciałem zrobić sterownik wzmacniacza audio na bazie kitu AVT2829. Szczególnie zależy mi na uczeniu się dowolnego pilota. Zrobiłem płytkę przystosowałem do niej program, użyłem większego procesora (atmega8) no i program działa ale strasznie ułomnie. Procedura zapamiętania kodów z pilota przebiega...
Dzięki za pomysły. A motylem, co to? Ot takie bździewka oferuje TVMango, Allegro i straganowi sprzedawcy. W kształcie to właśnie przypomina motylka. Po bokach elektrody samoprzylepne - przewodzące a pośrodku elektronika sterująca i zasilanie. One są jednokanałowe. To stare co mam z niego transformatory...
Witam, Mam mały problem z pomiarem prędkości za pomocą Timer'a (Bascom). Może napisze krótki opis problemu: Na początku wyznaczyłem sobie ile impulsów na metr daje auto, wyszło 5,15. postanowiłem więc mierzyć w stałym czasie te impulsy i przeliczać na km. Jak się okazało takie podejście jest ok ale...
Witam! Na podstawie informacji zawartych w książce "Programowanie mikrokontrolerów w języku Bascom" napisałem program: Problem: Problem polega na tym, że program nie działa poprawnie. Po pierwsze procesor zamiast 1 sekundy odmierza ok. 8s. Jest to dla mnie nie zrozumiałe, ponieważ kodu zawierającego...
Hej Czas powinien byc liczony timerami po to one sa. EDIT Oki czyli widzę to tak: Timer 1 mode=1 'liczy swoje Timer0 mode=3 'dwa liczniki 8-bitowe TL0-impulsy,TH0-zegar No dobra i co teraz? Przejrzałem helpa i forum i o mode=3 zbyt wiele nie znalazłem ;) Na mode=1 nie ma problemów. Jak...
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x 0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony...
Witam! Jakiś rok temu zainteresowałem się elektroniką. Zrobiłem kilka układów. Obecnie interesuję się programowaniem mikrokontrolerów. Zakupiłem na allegro zestaw uruchomieniowy EvB 4.3 ( wystarzczy, że wpiszecie w wyszukiwarce i będziecie wiedzieli o co chodzi) - inaczej po prostu płytka uniwersalna....
Witam Pewnie zaraz mnie tu Napadniecie ale walczę z dwunastoma czujnikami DS18B20. Otóż: Domyślnie w systemie ma pracować 12 sztuk czujników (ale chciałbym mieć możliwość dołożenia kolejnych). Oczywiście muszę sterować nimi znając ich seriale. Nie chcę umieszczać ich seriali w programie na stałe...
No to mam juz jakis podstawowy kod do pomiaru predkosci :) mam multipleksa NIE WIEM CZY DOBRZE ZADEKLAROWALEM PORTY - prosze o sprawdzenie czy ilosc cyferek sie zgadza i czy prawidlowo "pominalem" bity kwarcu (portB) resetu (PortC) i timer'a (portD) - wystarczy tam dac zera (wejscia) i juz?? no...
Oto kod jednego z programów z którym mam problemy: 'C029f.bas Generator impulsów prostokątnych ' UWAGA! Wejsciem EN(able) modułu LCD steruje końcówka PB.1 ' do wyjscia PB.3 dołączona przez rezystor 1k anoda diody LED (katoda do masy) Dim Impuls As Word , Przerwa As Word...
Tłumaczą Ci ludzie już drugi dzień. Zwłaszcza kolega Logan . Czy tak trudno przeczytać w Helpie: Instrukcja ON INTERRUPT Przeznaczenie: Wykonuj... skok do podprogramu gdy wystąpiło określone przerwanie. Składnia: ON źródło_przerwania nazwa_podprogramu Jeśli trudno to porzuć programowanie...
Znaczy się chciałem dać Load Timer1 = 58594, wtedy chyba działałoby to przepełnienie o którym mówię? Do przycisków daje Debounce, więc myślę, że starczy Nie, to nie wystarczy. Jednym z głównych błędow jaki większość popełnia to zaczynanie projektu od doraźnego, szablonowego wypełniania formuły; ...
Hej, Potrzebuje pomocy w poprawieniu kodu. Siedzę nad nim już dość długo i nie mogę sobie z nim poradzić-brak umiejętności :( Założenia czyli co chcę podłączyć: 1. wyjścia: a) Lampa ogrodowa nr.1 b) Lampa ogrodowa nr.2 c) Lampa ogrodowa nr.3 d) lampy ogrodowe (2szt.) podłączone pod...
Zajrzyj sobie do noty katalogowej. Tak de fakto ten układ jest poprany, bo nietypowo koduje informacje o dacie. Masz tu fragment mojego kodu powinien ci pomóc w rozgryzieniu problemu. To definicja i opis rejestrów PCF8583. 'Deklaracja rejestrów dla zegara czasu rzeczywistego PCF8583' Const Rtc_in_adres...
ok ja podpowiem co to jest :D COnfig timer0 = timer 'ustaw timer jako licznik impulsów wewn. zegara procesora Mode=1 ' tryb pracy czujnika, to jest ladnie opisane w datasheet do procesora, 1 w tym przypadku oznacza normalna prace timera czyli zlicza impulsy gate = internal ' najprawdopodobniej chodzi...
Dobry będzie taki program? Można coś jeszcze poprawić? Może lepiej byłoby ustawić jakieś wyższe prescale w timerze np.8, żeby mniej tych impulsów zliczał (można by wtedy operować na mniejszych liczbach, program działałby na pewno szybciej - ale czy mierzyłby równie dokładnie?) Na pewno na elektrodzie...
Witam Jak wielu spotkałem się z problemem problemem kłopotliwej obsługi pilota z RC5. Po poszperaniu w necie wpadłem na ten temat. Jak się okazało wszystko na tym programie pracowało, ale nie zawsze. Kłopotem było napisanie programu "pod pilota". Oczywiście pochwała dla Sabotaz'a który problem...
Witam, Polecenie SOUND port , il_impulsów , czas_impulsu To mi nie pomoże. Jako argument chcę podać potrzebną częstotliwość (liczba), a nie ilość impulsów i czas impulsu... Jeżeli znasz częstotliwość to nie problem określić ilość impulsów i czas trwania, ale ta funkcja jest mało precyzyjna....
Witam jest dość początkującym w dziedzinie programowania i potrzeba mi połączyć tak aby na jednym wyświetlaczu pojawił sie zegar i licznik impulsów z halotrona jako obrotomierz zegar: $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw...
Niestety znow mam problem z kompilatorem. Pluje sie o prosta skladnie: If Dcf_array(1).index = 1 Then Display_values(1) = &B00000110 Else Display_values(1) = &B00111111 oraz troche bardziej skomplikowana: If((dcf_in = 0) And(dcf_failure...
Witam Postanowiłem zbudować miernik odległości wykorzystujący ultradźwięki. Zakupiłem 2 czujniki w TME Jednego używam do wysłania fali a 2-go do odebrania. Po przejrzeniu postów na Elektrodzie i innych www zbudowałem poniższy układ w załączniku (PDF). Program napisałem a Bascomie ale NIESTETY...
Postawiłem sobie zadanie opracowania licznika prędkości. Powiedzmy, że do roweru. Konstrukcję i jej sens odłóżmy na razie na bok :) Zadanie dla procesora niby banalnie proste - liczyć prędkość przez badanie impulsu na pinie. I teraz zaczynają się schody. Mogę to zrobić na kilka sposobów (te które znam): 1)...
Witam, analizator zobaczył tylko ja specjalnie to zwęziłem żeby było widać zarys całego przebiegu,. Teraz tez już wiem, że pomysł stosowania przerzutnika D jest raczej bezcelowy. Bo i tak w programie trzeba sprawdzać stan na pinie kierunku. Oczywiście najlepszym rozwiązaniem jest zastosowanie bramek...
Może to co napiszę jest trochę prymitywne ale działa, sprawdziłem :-) No więc można też tak: Start Timer0 Do Loop Until We=1 Timer0=0 Do Loop Until We=0 Wynik=Timer0 We to dowolny pin. Prescaler timera trzeba ustawić tak żeby mierzony impuls zmieścił się w zakresie 0 - Tmax (zależy ile...
Nie umiem odczytać temperatur z ds18b20. Rezystor podciągający jest(4.7k), VDD i GND też są podłączone. Linia danych podpięta jest pod pb.7 Aha wyświetliłem sobie też wartości odczytanych bajtów, zarówno 1szy jaki drugi mają wartość 0xFF. podaję kod może koś znajdzie błąd. Dim Cyfra(10)...
Szanowni koledzy czy ktoś z was może mi powiedzieć jaką mogę osiągnąć precyzję przy odmierzaniu czasu przy wykorzystaniu układu ATmega16 z zewnętrznym zegarem 8.000 MHZ(rezonator kwarcowy)? Morduje to już drugi dzień i nie mogę zrobić tego w sposób precyzyjny - na każde odmierzone 10 minut atmege spieszy...
...Ale przenieś choć część swoich Sub do przerwania Timer2, lub 1 i zobacz jaka jest różnica w działaniu programu. Tylko, że ja kompletnie nie widzę takiej potrzeby. Skoro wszystko działa jak należy, program pisany jest modułowo, działanie oparte na programowych timerach, które spokojnie dają radę,...
Udało mi się odpalić program z książki Pana Wiązani, ale tam timet odmierza 1s Jak to przeliczyć? Jest jakiś na to wzór? Rzeczywiście musiało się 'udac odpalić' bo ten program nie jest pozbawiony błędów (!) \ A jak zrobić żeby odmierzał np 10 sekund? Zmiana preskalera wydłużyła max do...
A nie ma ktoś gotowca na pomiar częstotliwości z wykorzystaniem TIMER0 i TIMER2? Już mnie powoli trafia.... ehh Nie,... nie mam ale powiem ci jak to zrobić... W zasadzie wystarczyłby ci tylko jeden dowolny timer do pomiaru częstotliwości, mierząc nim czas pomiędzy dwoma kolejnymi zboczami bądź...
Czytam i sam się pogubiłem hehe . Czy tu chodzi o względne przesunięcie (tmf) czy bezwzględne (satanistik). Parę miesięcy temu robiłem sterowanie PID dla servo Xmega w bascom . [youtube][/youtube] Nie obyło się bez problemu , który polegał na zliczaniu bezwzględnym więcej niż 65535 impulsów . Mój...
Mam taki problem, że zrobiłem projekt Odbiornika Morsa na ATmedze8. W oryginalnym projekcie jest kwarc 10 MHz, a ja użyłem 10.240 MHz gdyż taki miałem w domu, a sklepu elektronicznego w mojej okolicy nie ma. Jak podłącze ten odbiornik do komputera i z programu morsik coś wysyłam to np. "adrian" dekoduje...
Odkopię temat bo mam problem też z Attiny13. Problem jest następujący: po skonfigurowaniu timera0 jaki licznik zaczyna on zliczać kolejne takty procesora z określonym preskalerem. Jeżeli skonfigurujesz którykolwiek Timer (w dowolnym AVR) jako licznik (COUNTER) to przestaje on zliczać takty processora,...
Witam, mam mały program napisałem przy użyciu książki Pana Marcina Wiązania oraz przy użyciu elektrody do obsługi matrycy led, lecz mam nieporządany efekt stroboskopowy. Nie widać liter, tekstu, tylko wszystkie diody mrugają. Czy to jest spowodowane zasilaniem czy też błędem programu? Dorzucam dwa...
Witam, chciałbym zadać dowiedzieć się od szanownej gawiedzi jak podłączyć 'czujnik' który zliczałby czas między sygnałami, oraz jakiś kod w Bascomie (AVR) Moja koncepcja wygląda mniejwięcej tak: podłączam czujnik pod Int0 i czekam na sygnał, kiedy dostaję sygnał uruchamiam timer i kiedy znów dostanę...
Oto program który napisałem $regfile = "attiny2313.dat" 'rodzaj mikrokontrolera $crystal = 8000000 '8MHz Dim Pozycja1 As Integer 'zmienna określająca położenie serwa1 Dim Pozycja2 As Integer 'zxmienna określająca położenie...
Witam, Mam taki problem. Chcę wysyłać do PC informację w formie takiego temp1;temp2;f1;temp3 i coś jeszcze. Jak wysyłam informację to chcę żeby ona była raz wyświetlana powiedzmy co ok 1-2s a nie tak jak na screenach pod kodem. (to jest losowe). Co może być nie tak. Timera2 używam jako odmierzacz...
Witaj, No save spokojnie możesz użyć.... pod warunkiem, że nie korzystasz w obsłudze przerwania z instrukcji Bascoma bo jeśli tak to nie odkładając rejestrów na stos, zgubisz ich wartości i w najlepszym przypadku będą się działy różne rzeczy. Ja bym napisał wstawkę w asemblerze odkładając wcześniej...
Pomysł jest straszny. Poczytaj o timerach. :D No dobra, ale w tym przypadku timer ma zliczać impulsy i ilość tych impulsów dodawać lub odejmować od zmiennej? I czy do tego wystarczy jeden timer, czy dwa (do dodawania jeden i do odejmowania jeden)?
r"]Potrzebuje zmierzyć samo wypełnienie impulsów nie wiem jak za to się zabrać. Potrzebuje badać sygnał idący na serwo modelarskie. By wiedzieć na 3 diodach jakie jest jego położenie. Proszę o jaką kolwiek pomoc. Oczywiście nie chodzi mi tu o zrób za mnie... ale nie wiem od czego zacząć. Rozumowanie...
Tak wiem, to tylko test działania, funkcja uzyta bedzie do wystawiania piku co 100ms ( flagi ) ktora bede zliczal w podprogramie :-) Na wyświetlaczu było po prostu łatwiej testować efekty zmian w programie. Pozostaje mi tylko 1 kwestia, mogę ją rozwiązać stopując zegar ale w ramach nauki zapytam: Program...
Liczenie impulsów samo w sobie jest bezsensowne.. jak już to liczy sie impulsy przez określony czas albo podczas jakiegoś warunku itp, możliwości jest tak dużo że bascom niezostał w to wyposażony (bynajmniej ja tyle wiem). impulsy najłatwiej można zliczać za pomocą zewnętrznego przerwania, przez czas...
Może spróbuj w ten sposób : $crystal = 4000000 Config Pind.5 = Output 'ustawienie wyjścia na pinie który standardowo sygnalizuje przepełnienie timer-a Config Timer0 = Timer , Prescale = 1 'ustawienie timer1 dzielnik 1 On Timer0 Przerwanie_timer1 'wywołanie przerwania po przepełnieniu timera Timer0...
I tu mam pytanie: jak to jest mozliwe, zeby Timer w mikrokontrolerze byl tak niedokladny? Przeciez to jest bezsens, jego zadaniem jest PRECYZYJNE odmierzanie czasu, czy to do zliczania czegos z zewnatrz, czy to do generacji np. przebiegu prostokatnego, czy to do ODMIARZANIA czasu. Przeciez przydatnosc...
Stos OK. Mówię Ci. Skasuj flagę przed "Enable INT1". Generalnie kolejność mam w kodzie taką: Config Int0 = Falling 'opadajace zbocze wywoluje przerwanie Config Int1 = Falling 'opadajace zbocze wywoluje przerwanie Config...
Witam, ............ Kiedy wentylator jest wyłączony, klikam szybko 2 razy przycisk, wtedy wentylator załącza się na 20 min. Tylko tyle umiem :) Jeżeli komuś nie chciałoby się mi pomagać to chociaż prosiłbym o wskazówkę jak Wiem że układy czasowe w uC są nie dokładne ale mi nie potrzebna...
Witam wreszcie znalazłem chwile czasu. czyli ma podleczyć START i STOP po portd.1 i portd.2 i kod zmienić -> $regfile = "m8def.dat" $crystal = 8000000 Config Pind.1 = Input Config Pind.2 = Input Config Pind.3 = Input Set Portd.1 Set Portd.2 Set Portd.3 Bramka_start Alias Portd.1 Bramka_stop...
Czyli tak robię licznik: $crystal = 8000000 $regfile = "m8def.dat" Config Timer0 = Timer , Prescale = 64 On Timer0 Timer0_int Enable Interrupts Enable Timer0 Timer0 = 6 Licznik = 0 Timer0_int: Counter0 = Counter0 + 6 Incr Licznik If Licznik = xx Then - 1s/250Hz...
Witam. Dawno nie pisałem w BASCOM-ie a zdecydowałem się na niego bo myślałem, że tak będzie szybciej i prościej. Nic bardziej błędnego. Do napisania był dwu-trybowy program uśredniający do nieco przerobionego radiometru SOSNA. Ale nie w tym rzecz. O ile kod który zamieszczam powstał w miarę szybko o...
Ciekawą sprawą jest też to, że mój odbiornik IR (TSOP4836) jest normalnie zwarty (w stanie logicznym 1), mimo to przerwanie w trybie Rising działa poprawnie. Nie ma czegoś takiego jak "zwarty" :) tak poprostu działa prawie każdy odbiornik IR, w stanie spoczynku, jak nic nie jest nadawane, ma stan...
BlueDraco: gratuluję ci, że masz tak wspaniałych studentów. Albo wyrozumiałego Dziekana, który ci pozwoli oblać 90% roku :) Niemniej uwagi słuszne. taramis88: To wszystko co opisałeś robi się sprzętowo. Ponieważ impulsy dla serwa generuje timer, nie ma możliwości, żeby ci coś skakało. Do tego nie...
No musi bo PADy są pod niego. Jest po prostu najtańszy z tej serii Attiny. Do głowy mi nie przyszło, że najmniejszy z rodziny będzie miał z goła inne warunki programowania. Ech! PCB to prototyp więc docelowo zmienię na coś bardziej przystępnego dla mnie. Program jest bajecznie prosty... no ale...
Gdy wpiszesz 65535, będziesz miał przepełnienie co 1 takt, dla 65534 co 2 takty. Resztę sam policz. hyhyhy no rzeczywiście jeszcze prostsze wytłumaczenie, no prościej już się nie da chyba ;) chcesz odliczyć 1 impuls to: 65536 - 1 --> wpisujesz 65535 chcesz odliczyć 2 impulsy to: 65536 - 2 -->...
Witam Zmieniłem sposób obsługi wyświetlania. Początkowo miałem tak : [syntax=basic4gl] '************ Zegar 8 wyswietlaczy LED + 74HC595 + PCF8563 $regfile = "m8adef.dat" $crystal = 8000000 $hwstack = 32 ' rozmiar stosu sprzętowego $swstack = 32...
Dzieki wszystkim za zainteresowanie. Poszperałem wczoraj wieczorem i znalazłem że w mode=1 wartość ładuje się instrukcją 'counter [0,1]=wartość lub jak koledzy napisali np. tl0=&h5f th0=&h45, a load działa tylko w mode=2. Mam nowe pytanie przy kofiguracji takiej: Config timer0=counter , gate=internal...
Witam. Config Timer1 = Timer , Prescale = 1 Dim T As Word Do Load Timer1 , 0 Start Timer1 ' tu coś program robi Stop Timer1 T = Timer1 Loop Zmiennej T zostanie przypisana zawartość impulsów które zostaną zliczone przez Timer1. Przykładowo jeśli pogonisz uC z rezonatora...
Oczywiście że tak! A tyle razy czytałem pdf'a.... Drugi błąd tkwi w zapisie 10sek do adresu 15. Pamiętałem wszędzie o BCD zapominając, że powinno być nie 10 a 16 (B00010000). Czyli reasumując: zapis ustawień timera adres 0 <- 4 (ustawiony bit 3 włącza timer) adres 7 <- 0 (zerowanie...
'$sim $regfile = "m8def.dat" $crystal = 8000000 'Config Lcdpin = Pin , Db7 = Portb.0 , Db6 = Portb.1 , Db5 = Portb.2 , Db4 = Portb.3 , E = Portb.4 , Rs = Portb.5 'Config Pinb.3 = Output Config Portb = Output 'Config Timer2 = Timer Prescale = 1 , Compare = Toggle , Clear Timer = 1 Enable...
No to teraz już nie mam pojęcia jak to zrobić. Masz jakiś pomysł? Takie coś chciałem zrobić A najlepiej to chyba mierzyć prąd impulsowy gdzieś w środku impulsu PWMa. I odpowiednim wartościom prądu impulsowego przyporządkować odpowiednie wartości PWMa. To już nie wymaga filtru (nie może go w zasadzie...
Próbuję zrobić emulator dekodera PT2272 (dekoder pilotów radiowych), transmisja nie jest zbyt skomplikowana i wykonanie kodera było proste. Problem zaczyna sie po stronie odbiorczej. Na przebiegu zaznaczyłem wszystkie 4 stany jakie występują w słowie kodowym. Są to odpowiednio "0" "1" "T" i ostatni synchronizujący....
W prosty sposób. Użyj 16-sto bitowego timera do generowania przerwania co określony czas, może on być krótszy od tego co napisałem. Drugiego timera użyj do zliczania impulsów, czas pierwszego timera dobież tak żeby przy maksymalnych obrotach nie nastąpiło przepełnienie drugiego timera. W przerwaniu ...
Wielkie dzięki! Oczywiście masz rację! Oczywiście...Nie ma racji!... (16000000/256 = 62500) Jest to częstotliwość impulsów z prescalera kierowanych do timera0. Timer0 - z konfiguracji pracuje w trybie 'Normal' bez preload, więc interrupt OVF0 będzie generowany po otrzymaniu 256 impulsów...
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...
Witam, Mam problem z programem na Atmege8a, mianowicie: Piszę program sterujący pracą silnika (za pomocą L293D) który dodatkowo będzie zliczał w czasie impuls od przerwań zewnętrznych i tu pojawia się problem: kiedy napisałem program obsługujący tylko pracę silnika, wszystko działa sprawnie, kiedy...
Pracuję nad odczytem ramki z ALPINE M-BUS i wysyłaniu do Terminala po RS232 Temat był kiedyś poruszany.Ogólnie M-BUS pracuje na zasadzie PWM ,tzn, 0 i 1 są transmitowane z różną szerokościa impulsów . Joerg Hohensohn zrobił już coś takiego w języku C. www.jevinskie.com/mbus/ Chce zrobic tosamo...
Witam. Ten wait po wyzwalaniu jest po to aby silnik nie zatrzymał się za szybko po starcie. Czujnik etykiety widzi przerwę miedzy etykietami (prześwietla papier) i staje na przerwie. Muszę trochę opóźnić działanie czujnika etykiet aby kody przejechały przerwę na której się zatrzymał, inaczej...
Witam, Mam problem z pomiarem czasu trwania impulsu. Próbowałem różnych sposobów, siedzę już nad tym 3 dzień i nic mi nie wychodzi. Na wejście INT0 atmegi32 podaję sygnał np. 30Hz i wypełnieniu 15%. Sygnał jest stabilny więc tutaj problem odpada. Potrzebuję zmierzyć czas trwania stanu wysokiego. W...
100 ms kończy pętlę główną Po co? a koła kręcą się z Max prędkością obrotową 500 obr/min. Czyli niewiele ponad 8Hz, to na "liczydłach*" można zliczać. Nie trzeba sprzętowych timerów liczących do 8 czy 10MHz. Ja widzę to tak. W przerwaniu 1 czy 10ms zliczasz impulsy, albo robisz to sprzętowo...
Jesli ktoś miał by pomysł jak to ogarnąć w bascomie to bardzo proszę o propozycję. Przecież napisałem. Przenieś Triak = 0 do Triakwl: i poprzedź Waitus . Na czas transakcji 1-wire wyłącz przerwania. Jak będzie zawieszał przerwania na całą transmisję 1-Wire to będzie mu migać. Może spróbować,...
$regfile = "2313def.dat" $crystal = 4000000 Config Timer1 = Timer, Prescale = 1, Compare A = Toggle, Clear Timer = 1 Declare Sub _1 Declare Sub _0 Nosna_on = &B01000000 Nosna_off = &B11000000 Compare1a = 55 Tccr1a = Nosna_off Timer1 = 0 Do _1 : _1 : _0 ...
Witam. Mając trochę wolnego czasu postanowiłem wrócić do zmagań z PIDem. W sieci znalazłem program PIDa w Bascomie na Atmegę8 (maluszek Attiny2313 okazał się niestety za mały). W programie wyłączyłem różniczkowanie - aby było łatwiej. Program działa dość dobrze tzn. obroty utrzymują się na żądanym...
Generalnie, W Bascomie obsługa RC5 pozostawia wiele do życzenia dlatego też Mark w najnowszej wersji ma wprowadzić obsługę RC5 na przerwaniu ICP ("prawdziwie" w tle) według poniższego kodu, który udostępniam i polecam: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer1...
Próbowałem na tej zasadzie. Ktoś wspominał jeszcze o watchdogu - można go w sumie wykorzystać, ale chyba timer będzie lepszy. Przepraszam za bałagan w kodzie, ale jak człowiek się wkurza, to i nie myśli dobrze;] Dlaczego czas odmierzasz w tak małych odcinkach (rzędu milisekund), gdy tymczasem...
hunterhouse W AVR-ach sprzętowo można zatrzasnąć zawartość timera , ale uruchomić zliczanie trzeba programowo.Natomiast w 51-ce można uruchomić i zatrzymać timer sprzętowo.Jeśli na P3.3 jest stan wysoki i flaga GATE timera1 jest ustawiona , to timer zlicza doputy , dopuki stan na P3.3 nie zmieni się...
W instrukcji CONFIG SERVOS jest taki parametr jak RELOAD = xxx. Liczba xxx określa jaki czas w us będzie pomiędzy kolejnymi przerwaniami licznika taktującego generator PWM dla układów serwa. I będzie to rozdzielczość tego układu. Zatem jeśli wpiszesz 10 to SERVOS(1) = 100 da nam 100x10us = 1ms impuls...
Witam kolegów mam taki problem potrzebuje programu do mierzenia prędkości obrotowej silnika. Idea pomiaru jest znana, wykorzystywany jest do tego transoptor obiciowy. Ale to nie jest celem mojego wywodu. Potrzebuje krótkiego pomiaru obrotów zbudowanego na licznikach. Oscylator zewnętrzny 8MHz. Układ...
Witam. Próbuję napisać program odpowiedzialny za pomiar odcinków czasowych pomiędzy impulsami sygnału S1 i S2 (zgodnie z załącznikiem). Proszę o prześledzenie kodu, wszelkie uwagi i sugestie mile widziane. Nie mam pewności co do poprawności pobierania wartości licznika TIMER1 za pomocą TCNT1. 'program...
Witam Krąży mi po głowie pomysł aby w motorku zbudować obrotomierz, chciałem wykorzystać Bascoma+Atmega8. Atmega może pobierać impulsy z czujnika halla który daje ładny prostokąt wiec nie ma problemu z zakłóceniami. Timer by liczył ilość impulsów przez 250ms a następnie po przekształceniu wzorami...
Witam, $regfile = "m8def.dat" $crystal = 8000000 Config Pinb.1 = Output Config Pind.1 = Output Config Timer2 = Timer , Prescale = 128 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Disconnect , Prescale = 8 Cls Cursor Off Portd.0 = 1 Portd.1 = 0 Set...
Bo kontaktrony w licznikach rowerowych są jakieś szybsze. Robiłem kiedyś eksperymenty z rowerem i faktycznie zwykłe kontaktrony "rurkowe" nie nadążały się przełączać. Pierwszy z brzegu kontaktron KA-02 ze sklepu na literę T przy napięciu 5V i i prądzie 100mA ma częstotliwość przełączania 125Hz....
Witam. Napisałem prosty programik. Działa on tak że po włączeniu układ generuje impulsy o częstotliwości regulowanej przez ADC2. Teraz nie mam pojęcia jak zrobić aby przycisk podpięty na PD.0 włączał i wyłączał mi ten generator na wyjściu atmegi. [syntax=Basic4GL]$regfile = "m8def.dat" $crystal...
Witam Napisałem prosty program używający timera1 i timera 2 do zliczania częstotliwości, Chciałbym użyć dodatkowo serwa do mojego projektu ale używając intrukcji Servo coś nie tak dzieje się z serwem . Servo nie chce ci pracowac bo masz niepoprawnie obliczaną freq., od której (w twoim programie)...
cały kod aktualnie wygląda tak. Docelowo w pętli głównej będą inne rzeczy jeszcze. [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 16000000 $hwstack = 128 $swstack = 128 $framesize = 128 Config Portc.0 = Output Config Portc.1 = Output Config Pind.0 = Input Config Pind.6 = Input Config...
Temat archiwalny i kolega zapewne rozwiązał swój problem. W Bascom są dwa ciekawe polecenia: pulsein oraz pulseout. [syntax=vbnet] '--- odczyt impulsów Dim A as Byte Dim Freq as Byte Do Pulsein A , Pind , 2 , 0 If A <> 0 Then Incr Freq Else End If Print Freq Loop '---------i wysyłanie...
Poszukałem trochę dodatkowych materiałów do wchłonięcia przez moje szare komóreczki :) 13 Liczniki Słowo licznik to próba przetłumaczenia słowa timer. Ja używam tego słowa jako odpowiednika, ale nie wszyscy się z tym zgadzają i twierdzą, że należy używać słowa timer, gdyż nie można dokładnie przetłumaczyć...
W tej chwili preskalery w timerach są ustawione na 8 i to jest mój problem - przy 16MHz prescale 8 mam idealną dokładność generowania dźwięków. Przy 32MHz musiałbym mieć prescale 16 w timerach a z tego co widzę kolejnym dostępnym jest 64 co spowoduje że błąd generowanej częstotliwości będzie duży dodatkowo...
Witam wszystkich forumowiczów A więc mam problem z bascomem a zaczyna się tak że bascom nie kompiluje mi większości np.config clock $regfile = "m8def.dat" 'Dyrektyway dla kompilatora. $crystal = 8000000 'Oscylator...
Witam, Piszę program do atmega8 i mam problem z ustawieniem Timer1. Dopiero zaczynam programować więc proszę o wyrozumiałość. Chciałbym ustawić tak timer1 aby zaczął liczyć czas od pojawienia się na portd.3 pierwszego impulsu do drugiego impulsu, zapisał wartość do zmiennej, wyzerował się i zaczął...
Witam Natrafiłem na problem w moim projekcie na uczelnie układu przetwarzającego sygnały z czujnika obrotu Burster 8821. Czujnik daje impulsy prostokątne , stan wysoki impulsów to ~9V, niski ~0V (zasilam go 12V). Mam Atmege16. Zliczam impulsy timerem1, niby wszystko działa (odczyty są całkiem...
Witam! Kolega poprosił mnie o zrobienie mini-komputerka do Opla Corsy, mającego wyświetlać dane na wyświetlaczu radia. Problem pojawił się, kiedy zechciałem wyświetlać na bieżąco prędkość - program zgłupiał (choć, raz na kilka odświeżeń wyświetlacza pojawiła się poprawna prędkość) a przy większych...
Przesyłam fragment kodu dla "paluch_gda" jedną cewką zapłonową na dwa obroty wału (pełny cykl pracy) na jednej cewce generowane są 4 takie "odcinki czasu" (iskra przeskakuje po raz na każdej ze świec), więc na 1 obrót wału przypadają 2 "odcinki czasu". Dzielimy więc wartość Nr (liczba "odcinków...
Ty to jesteś krejzolka Aldoro wiesz hahahahaha Podłączył byś wyjście transoptora do wejścia INTx albo ustawił Timer jako Counter a wyzwalanie jako, na przykład Falling, Co sekundę sprawdzał byś ile impulsów nabiło przez sekundę. I to wszystko. Bez obsługi przepelnienia Timera osmiobitowego zmieścił...
A może by tak? $regfile = "2313def.DAT" $crystal = 11059200 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.6 , Rs = Portb.7 Cursor Off Config Portd.6 = 1 Config Portd.0 = 0 Portd.0 = 1 Portd.6 = 1 Dim Czestotliwosc...
OK, witam ponownie po braku odpowiedzi, wywnioskowałem iż nikt nie posiada żadnego prostszego i sprawdzonego sposobu na formatowanie liczb w postaci zmiennych typu WORD i BYTE. Zgodnie z tym założeniem, napisałem sobie programik, z zegarkiem i kilkoma menu. Z założenia powinno wyglądać to tak: timer...
'$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...
To jak skonfigurować PWM na Timer0 lub Timer2?? Może takie coś? : $regfile = "m16def.dat" 'Deklaracja rodzaju procesora Ddrd = B00110000 'Porty pełniące funkcję Timera powinny być skonfigurowane jako wyścia Tccr1a = &HA3 'Phase correct PWM...
Hej, Jeśli chcesz płynnie regulować współczynnik wypełnienia to musisz wybrać jeden z modów PWM i wtedy będziesz skazany na jedną z kilku częstotliwości wynikających z zegara systemowego i tego jak ustawisz prescaler, Jeśli chcesz płynnie regulować częstotliwość to wybierasz mod CTC(clear timer on...
Symulator zatrzymuje się zawsze na 9 wierszu w którym jest On Timer1 Gosub Sekunda Być może wersja demo ma jakieś ograniczenia. Kompletny kod po zmianach to $regfile = "ATtiny2313.dat" $crystal = 16000000 'Kwarc w Hz Config Timer1 = Timer...
Witam. Próbuję zrobić prosty obrotomierz do samochodu na Attiny2313. Do testów z jednego Attiny2313 zrobiłem prosty "generator" 100Hz Kod: $regfile = "attiny2313.dat" $crystal = 4000000 Config Pinb.0 = Output Config Timer1 = Timer , Prescale = 1 Timer1 = 45536 On Timer1 Czas Enable...
Witam. Pilnie się uczę i kolejnym zadaniem jest dla mnie obsługa PWM. W związku z tym zastanawiam się nad wybraniem odpowiedniego timera, bo generalnie wszystkie trzy nadają się do PWM. Na obecną chwile chcę sterować jasnością świecenia diody, ale następnym krokiem będzie możliwość regulacji jasności...
Pracuje nas sterowaniem małego serwomechanizmu: Programuje w Bascom AVR i do tego celu wykorzystuję jedynie Timer0. Nie mogę wykorzystać dodatkowego timera1 bo ten będzie służył do odliczania czasu. Instrukcji Serwos() także nie chce wykorzystywać...jakoś nie mam do niego zaufania :/ Aktualnie...
Witam, Wiem, że podobne tematy były jak mój lecz nie znalazłem rozwiązania a siedzę już ponad tydzień czasu nad tym. Robię czujnik reagujący na odbitą wiązkę z diody IR 920nm. Wykorzystuje atmega8 do generowania nośnej 36kHz lecz mam za mały zasięg. Reaguje dopiero na odległości około 20cm a potrzebuje...
aha 2^16 no tak bo 2^8 256 bo każdy bit jest kolejną potęgą liczby 2. P.S. Jak mawia mój nauczyciel od cyfrówki każda liczba w układach cyfrowych jest potęgą liczby 2. :D A może wyłumaczyć mi ktoś tak jaśniej niż whelpie bascoma ;) co to jest ten prescaler i co on dzieli. wyczytałem na innym...
Łap. Mam co robić ale tak się chwile pobawiłem. Program nie jest przemyślany tylko tak z doskoku :D Mierzy długość impulsu jednego i drugiego i pokazuje na LCD Do tego sumując obydwie długości wróży tez częstotliwość :P Nie miałem na szybko nic z PWM żeby zadawać różne wartości to złapałem ten mój...
Kolego "bart-projects" Czy mógł bym liczyć na Twoje wsparcie? Obecnie mój program wygląda tak: [syntax=Bascom]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '=== Wejścia === Config Pinb.7 = Input 'MIN Config...
zobacz sobie temat: program będzie bardzo podobnie wyglądał. Chodzi mi o Timery. Dodano po 2 ale czy te diody mają się świecić cały czas to znaczy, że jeśli będzie więcej impulsów niż 200, to mają się świecić wszystkie 3 diody czy tylko 3 dioda?? Tak na szybko napisałem( nie testowałem...
Ponieważ długo szukałem przykładowego programu do regulacji fazowej mogącego sterować 8 triakami przesyłam kod na 90S8535 do tejże zabawki. Układ nie jest jeszcze sprawdzony w praktyce. Dodaje też pliczek z Proteusa w którym narysowałem schemat i symulowałem działanie układu. Jedna rzecz, którą może...
Start Timer1 If R = 1 Then Stop Timer1 A = Timer1 End If Locate 1 , 1 Lcd A Wait 1 Ale chyba coś ze sprzętem mam nie tak, bo ciągle A wyświetla że jest zero (nie wchodzi do IFa) Hmm... ok załączasz Timer1...
No przecież prosto. Konfigurujesz timer1 do pracy w normalnym ale nie robisz start timer. robisz przerwanie dzialajace na zbocze np. narastające-> Dalej : robisz zmienną flaga w przerwaniu robisz if flaga=1 then start timer1 flaga=0 else stop timer1 w rej od timera masz czas... kopiujesz...
Ciekawe jest to widać w twoim profilu (Pomógł: 79927) :P ale do rzeczy. Według mnie coś takiego można zrealizować w następujący sposób: - konfigurujesz przerwanie zewnętrzne żeby było wyzwalane przerwanie zboczem opadającym, rosnącym etc. - w tym przerwaniu uruchamiasz timer który zlicza sobie impulsy -...
Może: Licz: If Co_robic = 0 Then 'Odliczanie przerwy Incr Licz_przerwe If Licz_przerwe > 1000 then Licz_przerwe = 0 Co_robic = 1 End If Else Incr Licz_impulsy If Licz_impulsy > 4 Then...
Ostatnio pracuje w bascomie... Chce napisać prosty program pod atmega8, który będzie sterował 4 wyświetlaczami 7 segmentowymi.. program ma być licznikiem impulsów które mają być wyświetlane na wyświetlaczach... zastosowałem metodę multipleksy na tranzystorach BC327.. Moje pytanie.. co w kodzie poniżej...
Witam, bascom wysypuje mi error 1 w tym programie: $regfile = "m8def.dat" $crystal = 8000000 Config Lcd = 16 * 1a Config Lcdpin = Pin , Db4 = Portd.6 , Db5 = Portd.4 , Db6 = Portb.0 , Db7 = Portd.7 , E = Portb.2 , Rs = Portb.1 Config Pinc.5 = Input Config Pinc.4 = Input Config Timer1...
Witam Chciałbym użyć atmegi jako sterownika PLC (coś na wzór LOGO Siemensa) chce wykorzystywać następujące funkcje ( opóźnienie załączania ) ( opóźnienie wyłączania ) ( przerzutnik RS reset/set ) ten jest chyba ( generator impulsów ( przerzutnik stabilny z opóźnieniem ( generator pojedynczego...
Jeśli masz sterownik do silnika i potrzebujesz tylko dir i enable to raczej nie steruj go przez PWM. Potrzebujesz generatora o zmiennej częstotliwości zrobionego na procesorze. A nie o zmiennym wypełnieniu impulsów. To się nazywa rampa. Powinna być używana zarówno przy starcie jak i hamowaniu silnika. Wypełnienie...
witam ja poszukuje sterownika silnika krokowego sterowanego impulsatorem, ma działać tak że jak impulsator kręci się w lewo to silnik też się kręci w lewo jak impulsator się zatrzyma to silnik zrobi to samo no i oczywiście w prawo to samo, czyli silnik kręci się wtedy co impulsator i w tą samą stronę. ma...
Witam, buduję czujnik IR i muszę pokombinować z wypełnieniem impulsów, mam programik który generuje 36kHz ale za nic nie wiem jak zmienić szerokość tego sygnału. Proszę o jakieś rady $regfile = "attiny13.dat" 'procesor Attiny13 $crystal = 1200000 ...
Aha, weź też pod uwagę, że m.in. na podstawie polaryzacji impulsów synchronizacji monitor rozpoznaje rozdzielczość. Rozpoznaje tryb - istotne jesli tryb ma inny niz VGA PAR (pixel aspect ratio) - jesli zachowa sie aspekt z VGA to nie ma potrzeby przejmowac sie polaryzacja impulsow i mozna obraz...
Witam. Mam problem z timerem, który będzie liczył impulsy na wejściu T1 Wgrywam taki kod: [syntax=basic4gl]$regfile = "m8def.DAT" $crystal = 8000000 $baud = 9600 Config Timer1 = Counter , Edge = Rising Timer1 = 0 Do Start Timer1 Stop Timer1 Waitms 500 Print Timer1 Loop End[/syntax] Problem...
Tomaszek_ A co ma timer do tego? Zmienna A zwiększa się o 1 podczas przerwania od pinu INT0. Też nie jestem za zwalaniem winy na Bascom. Nigdy mi się nie zdarzyło żeby Bascom namieszał coś.
Pracuję nad nietypowym PWM jeśli można użyć takiego zwrotu na Atmedze 16. Problem polega tym że mam do dyspozycji 2 potencjometry. Jednym chcę regulować czas trwania logicznej 1 a drugim potencjometrem czas trwania logicznego 0. Czasy obu sygnałów regulowane w przedziale 0,05ms - 5ms. Poniżej próbny...
Fusebity nie mają tutaj nic do rzeczy. Timer1 oczywiście można skonfigurować w trybie CTC. A przykład Ci już chyba podawałem: [syntax=basic4gl]OCR1A = 65200 'Wartosc porownania TCCR1B = 0b00001001 'Tryb CTC (bit WGM12) oraz start Timera (bit CS10, czyli ustawienie preskalera na 1 co jest...
Tak, chciałem policzyć czas grupy impulsów i z tego częstotliwość. Dla przykładu: Timer0 liczy impulsy sygnału o częst. około 500 Hz, wiec 50 impulsów to około 0,1 sek, 450 impulsów to około 0,9 sek. Dlatego Timer1 miał się przeładowywać co 50 i stąd moje nieudolne próby wpisania w niego 206 :cry:...
Hmm. Niektóre zagadnienia można rozwiązać na wiele sposobów. W przypadku mojego przykładu pin INT układu PCF można podłączyć do dowolnego pinu uC. W przypadku Twojego rozwiązania trzeba się podłączyć do INT0 albo INT1 i z samego opisu wynika że takich punktów w tym uC jest tylko dwa. Co jeśli...
AVR studio (asembler) to nie Bascom... tu nie ma czegoś takiego jak komendy do obsługi sprzętowych liczników, musisz używać rozkazów uP i konfigurować odpowiednie rejestry i przede wszystkim odpowiednio używać przerwań, bo one są chyba najważniejszym elementem, którego używa się przy pracy z licznikami. Musisz...
Witam Dim Licznik As Byte Config Timer0 = Timer , Mode = 1 , Gate = Internal Enable Interrupts Enable Timer0 On Timer0 1ms Counter0 = 64535 Start Timer0 Do Loop 1ms: Counter0 = 64535 Start Timer0 Incr Licznik Return A wynika to z tad:czestotliwosc kwarcu (w tym przykladzie-najprosciej,moze...
$crystal = 12000000 $regfile = 89c2051.dat Dim Pwmcount As Byte , Count As Byte , Vals As Word , Valcount As Word , Countscale As Byte Config Timer0 = Timer , Gate = External , Mode = 0 Config Timer1 = Timer , Gate = Internal , Mode = 2 On Int1 Readint On Timer1 Pwm Load Timer1 , 250 ...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '**************************...
Witam, Problem który nie daje mi spokoju na pierwszy rzut oka wygląda banalnie. Postanowiłem użyć czasomierza Timer0 do odmierzania odcinków czasowych za pomocą przerwania od przepełnienia licznika. Program który zamieszczam poniżej powinien pracować w nastepujący sposób: 1. po wciśnięciu przycisku...
'C012a Bardzo prosty stoper 0,1-sekundowy Dim Dziesek As Byte , Sekjed As Byte , Sekdzies As Byte , Minjed As Byte Dim 100ms As Byte , Ktorywysw As Byte , Licz As Bit Config Portb = 255 : Portb = &B11111111 : Config Portd = &B1111100 : Portd = &B1111111 Config Timer0 = Timer ,...
Nie radzę sobie z przypadkowymi resetami bo zegarek chodzi w zaciszu sypialni i jedynymi przypadkowymi resetami są wyłaczenia prądu gdyż nie dorobiłem się jeszcze zasilania awaryjnego. Na początku miałem trochę problemów z podczerwienią w przerwaniu bo odbiornik łapał przypadkowe impulsy i stos się przepełniał....