Zainteresuj się funkcją Input Capture Unit - opis oraz przykład dla C: http://mikrokontrolery.blogspot.com/2011...
Jaki masz programator? Ściągnij sobie lepiej MkAvrCalculator. Jest to naprawdę bardzo przyjemny programik i nie ma możliwości abyś źle ustawił fusebitów i zablokował procka. W bascomie ustawianie fusebitów jest dość trudne i może przysporzyć sporo kłopotów. Pozdrawiam.
Może to pomoże: http://www.elektroda.pl/rtvforum/downloa...
Witam. Zapis (składnia) Load Timer1 jest zły. Sprawdź w pomocy Bascoma.
seja4321 Napisałem kilka linii kodu ,jest to jedno z możliwych rozwiązań twojego problemu z przyciskiem . program przetestowałem. Moja rada to testuj program na kilku kilkunastu sekundach. powodzenia. Dodano po 46 Nie rozumiem dlaczego seja4321 został skarcony przez LordBlick, przecież pisze w dziale początkujący? Co do kodu, to jest dziwny, Piszesz...
No to już jesteśmy bliżej. Bo oznacza to, że program notuje, że sekundaj różni się od poprzedna skoro pojawia się za ifem. Może jest coś z wyswietlaniem? Bo skoro wskakuje poza if to i zmienia wartośc zmiennej poprzednia.
No na modyfikację nie mam czasu. Zwłaszcza, że już dawno nic nie pisałem. W dodatku ja nie używam wait (i Tobie też odradzam) co wymaga trochę innego podejścia do pisania programu. Mogę jedynie podpowiedzieć, że najlepiej było by skorzystać z przerwań INT0 i INT1 podłączonych pod przyciski. Wtedy przerwanie aktualnego zadania było by możliwe natychmiast....
Buforuj otrzymane znaki i przetwarzaj w procedurze pętli głównej programu. Oczywiście wiąże się to z wywaleniem wszelkiej maści form kodu blokującego procesor i oparciem odliczania czasu o Timer.
Zastosować timer do odliczania czasu.
chlop[ie napisałes to tak że jak sie to czyta to nie wiadomo o co ci chodzi a jak czyta i nie wiadomo o co chodzi to kompilator napewno niezrozumie tego bełkotu 1. porty działaja na napięcie a własciwie na stan logiczny 1 lub 0 , po drugie na końcówce mmoze byc 1 lub 0 a jak ma byc 2 ??? proponuje zobacz na przyklady potem sam cos pisz bo takim bełkotem...
Zmieniłem na timer1, teraz mam krzaki na lcd :D I na nic nie reaguje. Dodano po 4 krzaków już nie ma(nie zmieniłem timera w jednym miejscu), ale dalej nie odlicza
Witam ,napisałem program który ma odmierzyć czas lotu helikoptera (do wyczerpania bateryjki) ,niestety po 2 tygodniach utknąłem na czymś takim: $regfile = "attiny2313.dat" 'wybór procesora attiny2313 $crystal = 8000000 Config Pinb.0 = Output 'dioda sygnalizująca odmierzenie czasu Config Pinb.1 = Output 'buzzer mający piknąć 3 razy po odmierzeniu...
Chciałem aby po odliczeniu od 0 do 10 licznik zatrzymał się na 10 i cały czas wyświetlał 10 aż do resetu procesora. I prawdopodobnie tak właśnie ten kod działa. Odlicza, resetuje, odlicza, resetuje itd. Swoją drogą kod fatalny - strach pomyśleć, ile linii miałby tak napisany kod, który miałby odliczać do tysiąca...
Banalne zadanie. A więc włączasz licznik(lepiej TIMER1-większa pojemność), tak, aby odliczał ci te 10sekund. Dajesz zmienną którą zwiększasz np co 1sekunde (zmienna o nazwie sekundy). W czasie odliczania do 10s w pętli głównej zliczasz impulsy przycisku i zwiększasz je w innej zmiennej (np. impulsy). Po 10 sekundach w zmiennej sekundy będzie10s a w...
A zastanowiłeś się choć przez 1 us :-P ile czasu potrzebuje uC, na wykonanie procedury przerwania :?: [syntax=basic4gl]Tim2_int: Counter2 = Counter2 + 248 'co 1us Incr L2 If L2 = 1000 Then '0,001s Incr L1 L2 = 0 End If If L1 = 1000 Then '1s Toggle Portd.1 L1 = 0 End If Return [/syntax]
Rozwiązanie padło wyżej, temat zamykam.
Przyciski - DEBOUNCE Odliczanie - CONFIG TIMER i przerwania.
Witam Mam taki kawałek kodu w bascomie Ppp: Portc.0 = 0 For A = 1 To D Wait 1 Next Portc.0 = 1 For A = 1 To E Wait 1 Next Potrzebuję wyświetlić odliczanie czasu od A do D i A do E w odstępach co 1s np od 1-10 1,2,3,4...lub 10,9,8... Niewiem jak się za to zabrać .Jakiej funkcji uzyć aby Bascom pokazał mi upływające sekundy. Dziękuje za pomoc
Brakuje tam deklaracji częstotliwości zegara np. "$crystal=8000000", program trochę dziwny, ale możesz dopisać jeszcze jakiś licznik wejść w procedurę "zwieksz" żeby wchodził tam np. co 100 taktów. Przy czym to będą BARDZO niedokładnie odliczane sekundy...
Operuj cały czas na zliczonych taktach, nie przeliczaj ich na ms. Licz takty i odliczaj takty.
Nie mam ustawiony wewnętrzny 8MHz ale docelowe w projekcie chcę użyć zewnętrznego 11.058MHz. Myślałem że instruknja: CONFIG Clock = Soft, Gosub = Sectic powoduje że obojętnie co jest ustawione to Bascom automatycznie odlicza 1s i po niej skacze do instrukcji Sectic. Dokładnie chodzi mi o przerwanie które będzie wykonane po upływie 1s. Chcę przez to...
Ale nie blokuje przerwań. Przycisk przenieś na PD2 lob PD3, ustaw zezwolenie obsługi przerwań i przerwania zewnętrznego, ustaw obsługę tego przerwania np. on INT0 ustaw_flage ustaw_flage: flaga=1 return i wpisz zamiast: "If Pinb.0 = 0 Then" "If Pinb.0 = 0 or flaga=1 Then" P.S. Ale obsługi Timerów powinieneś się tez nauczyć.
Tu nie chodzi o aż taka dokładność 20 min na 10h to w tym przypadku nic strasznego tylko o nie ruszanie programu:). na ustawieniach 2 liczy czas 2 min jako 1:38 min pierwsze ustawienia działają tylko na jednym z 5 procesorów jakie mam i jest w miarę dokładnie:) na pozostałych program nie startuje:) Wszytkie są nowe :)
Witam. Potrzebuję pomocy w napisaniu pewnego programu, dokładnie stopera, do części setnych sekundy. nie wiem jak ustawić Timer1 by odliczał mi co 1ms.
Może ten Twój jakiś dziki jest :P więc spróbuj jeszcze przenieść Sub pod pętlę główną jak ja poniżej. U mnie kompilują się wszystkie wersje wiec w załączniku masz skompilowane Hex i Bin do wyboru. Sprawdź też prywatną wiadomość ;) [syntax=vbnet]$regfile = "m8def.dat" $crystal = 1000000 $hwstack = 40 $swstack = 16 $framesize = 32 '********* TUTAJ SOBIE...
to program, zrobię Ci guziczki pod Gnd, są bardziej niezawodne i bardziej odporne na zakłucenia ;p rozumiem że chcesz odliczać od 0 do 99 czy może 0d 1 do 99?
Witam, tworzę sobie mały licznik w Bascomie, wszystko ładnie mi już odlicza, proszę tylko o małą poradę - w jaki sposób za pomocą dwóch przycisków (+ i -) regulować szybkością odliczania liczby? Teraz posługiwałem się Do For Licznik = 0 To 9 Print Licznik Waitms 500 Next Loop teraz jak wykonać regulowanie czasu przerwy - czyli prędkości odliczania?...
mam pewien problem pewnie wyda sie komus bardzo prosty do rozwiazania... ja sobie z nim poradzic nie moge mam generator 1 hz i chce nim odliczac czas w dol a jak dojde do zera to chce wystawic 1 na np p1.1 <bascom8051> impulsy chce podawac na p3.3 czy ktos moze mi pomoc ? czas odlczany chce zczytywac z portu p2 dim czas as integer dim start as...
Dzięki kolego Procesor32 mój problem z odliczaniem czasu został rozwiązany po małej modyfikacji kodu źródłowego, który otrzymałem od Ciebie.
W tym wypadku powinien być Gosub Obrot i nie trzeba go deklarować. Dodam tylko że przy timer0=10 timer będzie odliczał od 10 do 255 a komenda load timer0, 10 spowoduje odliczenie 10 ticków czyli od 245 do 255.
Szukaj raczej błedu w połączeniu, bo sam program jest OK - przed chwilą wgrałem na Atmega8 (jedynie zmieniałem deklaracje '$regfile' ) w zestawie uruchomieniowym EVBavr04 (Propox) i działa normalnie - czas jest odliczany.. Może gniazdo do obsadzenia kwarcu Ci coś nie łączy, bo jeśli uC nie ma połączenia z kwarcem zew. (zegarkowym) to właśnie "zamraża"...
Waitms + przerwania = pewne kłopoty. Zamień Waity jakimiś pustymi pętlami, albo jeśli chcesz zrobić to w bardziej elegancki sposób to dodaj zmienną zwiększającą się w przerwaniu i na podstawie zliczania tej zmiennej masz dokładne odliczanie zwłoki.
Nie wiem czy wyjdzie to jako kolejny post lub dodany po czasie :D ..., ale po pierwsze chciałbym byś nie myślał że moje uwagi są złośliwe. Po prostu zapytań o różne aspekty programowania w Bascom jest tak wiele że lepiej jest odpowiedzieć na ogólnodostępnym forum niż musieć sie powtarzać. Jest szansa że jeszcze ktoś to przeczyta :D Zamiast za każdym...
Waitus działa tylko do 255.
Ja wiem ze nie kazdy musi sie uczyc angielskiego ale moze by tak kolega przeczytal chociaz jaka jest poprwana pisownia komend w jezyku Bascom zamiast narzekac na brak pomocy ja rozumiem ze w obecnych czasach ludziom sie niechce czytac wola sie pytac od razu na forum ale zeby nie bylo ze nikt nie pomaga to ci napisze NIE MA TAKIEJ KOMENDY JAK WEIT JEST...
MADMAX1978 --> hehe ciekawy temat ;) dla grupy para-militarnej . No ale jeśli to tylko zabawa czy tam gra to żaden problem. Tak jak koledzy mówili możesz użyć dowolnego procka nawet ATmega8 jednak tak prostą rzecz spokojnie da się zrobić na jeszcze mniejszym procku - wystarczy np ATtiny2313 Niestety obawiam się, że sama wiedza jaki to procek - nie wystarczy...
Prosty program nawet w BASCOMie. Podajemy impuls z PLC na pin startujemy timer i liczymy czas. Jest impuls reset timera nie ma impulsu - reset PLC Start odliczania 60 sekund. I tak w koło. Dziesięć linijek kodu.
Zastawia mnie po co ciągle robisz warunek w warunku jak np. tu If Pinb.4 = 0 Then Waitms 1 Incr Setki If Setki = 10 Then Setki = 0 Incr Tys If Tys = 7 Then Tys = 0 End If End If End If Jak już mówiłem wcześniej, jeżeli zaprzęgnąłeś timer to wykorzystaj go do odliczania sekundy wtedy pętla główna zostaje do twojej dyspozycji i bez problemu tam umieścisz...
Witam, poszukuję łatwego algorytmu do zaaplikowania w Bascom AVR do odliczania ilości lat, miesięcy, dni, godzin, minut i sekund od zadanej daty, do chwili obecnej. Powiedzmy, ze datą startową jest 1 stycznia 2000r godzina 00:00:00. Jak obliczyć ile czasu minęło od tamtej chwili z uwzględnieniem lat przystępnych? Z góry dziękuje za pomoc. P.S. przejrzałem...
Witam, zwracam się z prośbą o pomoc. Tworzę program sterujący silnikiem DC. Program składa się z menu głównego w którym są 4 podprogramy 3 z nich działają bezbłędnie. Największy kłopot sprawia mi 4 podprogram a zarazem najważniejszy. podprogram startt ma za zadanie odmierzyć zadany przedział czasowy gdy osiągnie wartość 0 wykonać pewną procedurę i zacząć...
Tutaj ma taką sytuację, że do Timer0 jest ladowana wartosc 250, ale licznik stoi w miejscu i nic nie odlicza. Sprawdzalem na kilku wersjach Bascom oraz kilku prockach i ten sam efekt. Proszę o podpowiedz co moze byc nie tak.
marco47 - przepraszam, nie zauważyłem. marek19951 - proste if-then nie załatwi problemu. Jeżeli masz zapał, a widzę , że masz, zacznij od procedury obsługi klawiatury , która nie powoduje opóźnień poprzez martwe pętle ( czyli m.in wait, debounce, bitwait itp). Ja to zrobiłem na przerwaniu programowym z timer1, które odliczało mi okresy 10 ms w połączeniu...
akie kwiatki to tylko w sprytnej wiedzy użytkowników Bascom wyskakują... W rejestrze Watchdog-a, który jest 8-bitowy nie wpiszesz większej liczby niż 255. Można jedynie ustawić konkretne, zaprojektowane z góry przez twórców mikrokontrolera czasy licznika. A gdzie ja napisałem że wpisuję to do rejestru? 2048 to liczba którą Mark Alberts przepisuje do...
Ale po co od razu WatchDog do tego? Nie lepiej dać TimeOut funkcji Inputbin? A jeszcze lepiej dać jakiś bajt wyróżniający początek ramki i CRC na końcu ramki. Tyle że liczenie CRC musiało by być szybkie żeby procesor nadążył z liczeniem po zgubieniu synchronizacji transmisji (Wtedy musiał by przeliczać cały bufor wielokrotnie przesówając się o jedne...
Czy ma ktoś może sprawny program Timera( chodzi mi o odliczanie np od 50min w dół do 0 z uwzględnieniem cześci dziesiątych i setnych sekundy) i ma to być zrobione na wyświetlaczach segmentowych... Jeśli ktoś spotkał sie z czymś takim to proszę o wysłanie pliku.. przydałby się też zwykły stoper.. w miare możliwości. Pozdrawiam! Ah no i byłbym zapomniał...
hejo mam pytanie jak wysterowac taki wyswietlacz (7 segmentów) tzn, chodzi mi czy mógŁ by ktoŚ kawaŁek kodu podac Żeby odliczalo 9,8,7,6 moŻe by nawet od dwoch byle Żebym wiedziaŁ jak to zobi bo probowaŁem funkcjami set i reset ale lipa. :( nieiwme jak to ugryzc juŻ pomyslow brakuje (w helpie nic nie ma) Pozdrawiam
Timer będzie odliczał np. sekundy tak jak Waitms 1000, tylko dokładniej. Dobra rada: Odinstaluj BASCOM i zacznij się uczyć C dlatego: http://mikrokontrolery.blogspot.com/2011... Kurs C: http://mikrokontrolery.blogspot.com/2011... Kurs AVR w C: http://mikrokontrolery.blogspot.com/2011...
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 'Odliczanie okresu przebiegu (4 - okres = czas 4 przerwań Timera) Toggle PortD.4 Incr Licz_przerwe 'Odliczanie ilości impulsów (10/2 = 5 impuslów)...
Myślałeś w ogóle jak to zrobić bez tej pętli? Waitms to taka pętla do odliczenia. Jedyny plus jest taki, że Waitms może przerwać każde przerwanie oczywiście przedłużając wykonanie pętli odliczania, ale można to zrobić lepiej.
A żeby odliczał Ci ładnie 5 minut dobierz odpowiedni prescale i ustaw odpowiednią wartość timera na początku odliczania. Jak to wszystko policzyć znajdziesz na forum.
Witam! Jestem początkującym programistą i chciałbym zrobić sobie zegarek na LCD. Napisałem kod w BASCOM z wykorzystaniem TIMERA1 i wewnętrznego oscylatora, ale on się śpieszy. Nie mogę wcale ustawić aby dokładnie odliczał jedną sekundę. Czytałem w internecie, że do tego trzeba wykorzystać TIMER2 i zewnętrzny kwarc zegarkowy 32,768kHz, ale ja mam problem...
Chyba prościej się nie da: Do If Pinb.0 = 0 And Pind.2 = 1 Then Incr Tim Else Tim = 0 End If If Tim = 1001 Then Tim = 0 If Pind.2 = 1 And Tim = 1000 Then Goto Alarm End If If Pind.2 = 0 Then Goto Sys_off End If Loop End Tylko musisz dopasować Tim=? żebyś miał odpowiedni czas. Ustawienie $crystal wpływa na odliczanie Tim.
Witam Chcę zrobić sterowanie fazowe 8 żarówkami, lecz brakuje mi pomysłu jak to zrobić. Z jednym kanałem jest sprawa prosta. Po wykryciu zera ładuje do timera zadaną wartość i w przerwaniu Timera załączam triaka. Jak to zrealizować dla 8 kanałów ? W sensie jak odliczać 8 wartości jednym timerem? Pozdrawiam
Instrukcja Wait nie stopuje procesora. Procesor odlicza czas poprzez zmianę wartości rejestrów a więc działa. A skoro działa to powinien także odczytać informację, że nastąpiła sygnalizacja od przepełnienia Timera. Spróbuj zastosować tą instrukcję. Tylko nie wywołuj jej w obsłudze przerwania a w pętli głównej. Bo gdybyś wywołał jej obsługę w przerwaniu...
Weź sobie załaduj do jakiegoś podprogramu fragment w którym sprawdzane są przyciski, jednocześnie w tym podprogramie odliczaj opóźnienie. (np zrób pętle która będzie miała waitms 1 - ilość wykonań pętli ilość opóźnienia ale równocześnie sprawdzany port przycisku) Zamiast rozkaz waitms wywołuj ten podprogram. To tak najprościej i bez przerwań.
Kurna, ale jazda Internet mi sfiksował, godzinę szukałem tego posta, zapisałem go już do ulubionych, żeby nie szukać jak głupi. O co chodzi z tym pomógł i punktami na forum, bo nie czaję. Mam neta od niedawna, a informatyki się uczyłem w czasach, 486SX. Do odliczania czasu wcale nie trzeba układu RTC, daje to tylko tyle, że można go zasilać z osobnej...
Witam. Mam do zrobienia projekt sterowania sygnalizacją świetlną na skrzyżowaniu z użyciem kontrolera 8051 w programie BASCOM. I mam problem ze zrobieniem odliczania czasu. Licznik odlicza ale jego odliczanie ma mało wspólnego z sekundami. Proszę o jakaś wskazówkę. Poprawiłem tytuł - Regulamin.
To może tak jak ja zaczniesz od tej książki: http://obrazki.elektroda.net/39_12370566... jesli chodzi o język, myśle że bascom jest łatwy dla początkującego, a książka jest własnie oparta o tą atmege
89C2051 nie ma wewnętrznego oscylatora, więc bez kwarcu lub generatora nie ruszy. Reset - wystarczy sam kondensator. Rzecz jest na tyle mała i prosta, że warto to napisać w asemblerze. Z drugiej strony, jeśli jesteś nowicjuszem, to masz sporo do nauczenia się - potrzebny Ci będzie timer do odliczania czasu, więc musisz się z nim zaprzyjaźnić. Bascom...
No rozpisałeś się bardzo konkretnie. Uzylem m162 bo moja 128 gdzieś zaginęła na poczcie. Mam nadzieję ją dziś odzyskać. Docelowo będzie to oczywiście m128. Czyli bez kwarcu zewnetrznego nie ma co liczyć na działanie procedury clock. Szkoda że nie do czytałem tego bo bym już go sobie zamówił. Zastanawiam się jeszcze ale to merytoryczne pytanie czy do...
Problem rozwiązany, odliczanie zrobiłem za pomocą komendy "incr" , timerów i przerwań/
kolega juz napisał ze stosował klika kwarców po za tym do doliczania czasu w bascom słuzy clock a nie odlicza sie czas za pomocą timerów (duzo bardziej niedokładny pomiar)
Mam małe pytanko. Napisałem program w bascomie (prosty zegrek - RTC) z zastosowaniem komendy "config clock". Aby go wykonać musze podpiąc kwarc 32 kHz pod nózki TOSC 1 i TOSC 2 (zegarek wykonuje na atmega 8). I mam pytanie: czy częstotliwość pracy wewnętrznego RC ma wpływ na dokładność RTC? wydawało mi się że nie,ale jak symuluje to w bascomie to sekunda...
To Ci będzie sterować kolejno czterema diodami na pinach od B0 do B3. Zalecam wnikliwą analizę, zanim zalejesz mnie pytaniami :) Timery zawsze rób na odliczanie w dół do 0, w przeciwnym wypadku po wpisaniu nowej wartości w trakcie odliczania możesz mieć niezły kwas - pomyśl dlaczego :) Pozdrawiam [syntax=basic4gl]$regfile "m8def.dat" $crystal = 8000000...
Wracajac do tematu czy moglbym prosic przynajmniej o pseudo kod obslugi przykladowo drgania w przyciskach , wysterowania przekaznika np przez 2s oraz komunikacji 1wire jednym timerem (atmega8 ma az 2 timery wiec pewnie szybko skoncza sie jego mozliwosci chcac napisac kod bez zatrzymywania) Cały dowcip polega na tym że z tego 8 bitowego timera możesz...
Aby ten program, który napisałem zadziałał, trzeba urchomić dwa Timery. Timer0 do odliczania 100 milisekund a Timer1 do odliczania 1 sekundy. Czy można użyć Timera1 czy planujesz jego użycie do czegoś innego?
Witam. Najpierw wysyłasz rozkaz pomiaru temperatury, później z pomocą timera lub nawet zmiennej zwiększanej w pętli odliczasz czas pomiaru lub większy (mikroprocesor w międzyczasie normalnie wykonuje program). Po tym odczytujesz wynik pomiaru z DS1820, co nie trwa zbyt długo. Pozdrawiam. EDIT: Uzupełniłem posta
da można w pętli albo tak jak napisałem. Jeśli chcesz coś innego robić jeszcze z tym zrobić. Tworzysz flagi odpowiadające sygnałom sterującym. Przerwanie np co 50ms. Jeśli jest sygnał sterujący ustaw flagę, w kolejnym kroku jeśli flaga i odpowiedni sygnał sterujący wykonaj akcje włącz wyłącz silnik. . Inni licznik będzie odliczał czas włączenia silnika,
3. Trafo jest zasilane w szczycie ale aby to zrobić wykrywam zero i odliczam zwłoke. Z tego co jeszcze pamiętam z "maszyn elektrycznych" jest to najgorszy moment do załączenia transformatora?
Dlaczego nie można przypisać zmiennej do procedury waitus? Jeśli mam taki programik : dim a as integer a=1000 waitus a to program nie odlicza 1000 tylko jakieś gigantyczne (jak na us) watrości jeśli programik wygląda tak : waitus 1000 to wszytko działa tak jak powinno... zarówno na attiny2313 i atmega8535 dzieje sie tak samo... (oczywiscie wszytko jest...
z tego co wiem to delay to komenda to odliczania czasu w mikrosekundach, a do dokładnego odliczania czasu należy używać funkcji Timer.
tego nie wiem, ale tak długich opóźnień tą instrukcją nie stosuje się ponieważ procesor zajmuje się tylko tym. poza tym jak wspomniałem nie masz możliwości zmiany czasu. musiałbyś dokładnie trafić na zakończenie odliczania. Mówiąc krotko zła koncepcja programu.
nie wiem jak wygląda reszta programu , ale o ile to mozna czy nie lepiej wykorzystać T0, T1 i w przerwaniu odliczać czas lub incr zmienną wewn
dzieki , dyrektywe crystal=8000000 dałem, jestem na tyle poczatkujący że nie wiem jak przestawić te fuzy, no tak bascom jaK TO SIE ROBI Z POD BASCOM AVR
Witam. Mam taki oto problem.. piszę w bascomie program, którym potrzebuję dosc precyzyjnie odmierzac czas za pomoca timera, ale jak patrze na efekty to czas odliczany nijak się ma do tego co mi pokazuje zegarek.. zakladam ze moj zegarek chodzi dobrze :) (bo chodzi dobrze).. wiec raczej problem jest z mikrokontrolerem i moim pisaniem.... Podaje kod ów...
Program wyświetla to co chcesz ale w symulatorze to trwa bardzo bardzo długo. i Teraz ja licznik odlicza 100 impulsów to musisz pozmieniać obliczenia. Podczas symulacji w warunkach wpisz mniejsze wartości to się szybciej doczekasz tego wyświetlenia na lcd albo zwiększ zmienne ręcznie podczas symulacji. sygnał 125khz do generowania PWM 1,25khz. Nie rozumiem?...
Witam. W pewnym sofcie dla Atmega16 wykorzystałem już: - Timer1 (16 bit) do odliczania 0,0001s odcinków czasu - Timer2 (8 bit) jest wykorzystywany przez odbiornik podczerwieni (instrukcja getrc5) Timer 0 niby jest wolny, ale nie wiem / nie jestem pewien czy nie jest on wykorzystywany przez jakieś używane przeze mnie instrukcje (np. print dla sprzętowego...
Kurcze sami specjalisci znaku na LCD w Bascomie A czy tu padło słowo o tym czymś na b? (at)drobok Dalej czekam na kod z & lub &&, który będzie szybszy niż == dla wartości nie będących potęga 2, a i to tylko pod jednym warunkiem (ciekawe czy wiesz jakim?)
Dr_DEAD masz może jakiś przykład, bo tak średnio wiem jak to zrobić. Trochę lewy jestem w programowaniu, jadę na przykładach:) Dodano po 1 aha, no i timer 1 będzie wykorzystywany do zliczania czasu otwarcia wtryskiwacza, więc on jest zarezerwowany do odliczania stałej jednostki czasu
[syntax=basic4gl]Config Timer0 = Timer , Prescale = 1024 Enable Timer0 : On Timer0 Przerwanie0 Dim Tmp As Word Tmp = 0 Dim Ptimer1 As Word Ptimer1 = 0 Do If Klawisz = 0 Then If Ptimer1 = 0 Then Ptimer1 = 100 End If If Ptimer1 < 95 And Klawisz = 0 Then Tmp = 1 End If End If If Tmp = 1 And Ptimer1 < 85 And Ptimer1 > 70 Then If Klawisz = 1 Then...
Ok coś tam rozumiem ale mam jeszcze taki problem albo prośbę bo nie wiem jak ustawić rejestry w attiny13 Tccr0a Tccr0b Admux Adcsra Adcsrb jakbym chciał pwm 8 bitowy (attiny13) z max częstotliwością tj chyba FAST PWM na pwm0a i pwm0b czyli 9600000/256=37500Hz przy działającym ADC. Reszta ustawień zostaje tak jak jest. To już będzie wszystko. Zacznij...
Witam. Na wstępie chcę napisać że jestem początkującym, i na razie się uczę. Chcę napisać przykładowy program, co będzie wykonywał jakąś funkcję co 1 sekundę. Chcę do tego też użyć obsługi przerwań (w książkach było o przepełnieniu zegara). Mogę od was poprosić przykład jak zrobić taki timer (z komentarzami objaśniającymi)? Mój zegar ma taktowanie 16mhz,...
Spróbuj zrobić tak Co4ms: 'procedura obsługi przerwania od Timera T/C0 wykonywana co 4ms Timer0 = 6 'załaduj do Timera0, żeby zliczył 250 (=256-6) impulsów Incr Licznik If Licznik = 6 Then 'zmienna Licznik liczy do 6 aby Licznik = 0 'sprawdzanie stanu przycisku następowało If Pind.0 = 0 Then 'co ok.24ms If Pomoc = 1 Then 'jeśli zmienna Pomoc...
Program w Bascomie tak jak tutaj: http://www.elektroda.pl/rtvforum/viewtop... Oczywiście po przystosowaniu do odpowiednich wejść procka. Ogólnie program działa, to chyba raczej coś sprzętowego. A schemat: http://obrazki.elektroda.net/78_11795042...
Dzięki "emarcus" działa wyśmienicie :) teraz muszę to połączyć z moim programem JESZCZE RAZ DZIĘKI! POZDR! Dodano po 4 No i kolejna przeszkoda.... Chcę ten programik dodać do mojego głównego programu i chcę żeby dzałał on w pętli tylko wtedy gdy powiedzmy pind.0=0 niestety nie udaje mi się przerobić go tak aby odliczał czas i pokazał komunikat nie raz,...
Dziwna sprawa. Po skompilowaniu i wgraniu powyższego programu, na 40 uruchomień całego układu, 38 razy wyświetlacz się dobrze nie zainicjował i pokazywał same krzaki, 1 raz odliczało liczby tak jak miało być, bez napisu "test", 1 raz pokazał się test a potem 0 i nie odliczało. Uszkodzony procesor? Wersja 1.11.9.8 full i demo. Na obu to samo.
W helpie BASCOMA jest wyraźnie napisane, że funkcja GETRC5 korzysta z TIMERA 0, wiec odliczanie czasu zrealizuj na innym timerze, tak najprościej i najszybciej.
... niestety zadeklarowanie jakiegokolwiek rodzaju zmiennej za wyjątkiem Byte sprawia, że program się nie zatrzymuje. Nie mam pojęcia dlaczego u Ciebie się nie zatrzymuje, bo powinien. Sprawdziłem dla BYTE,INTEGER,WORD i LONG - działa. W ostatnim przypadku(LONG), odliczanie ogranicza się do 2 młodszych bajtów tej zmiennej.
O co ci chodzi z tym konwertowaniem na milisekundy czy chcesz wynik wyswietlac jako milisekundy czym moze ma byc odliczany jakis czas zalezny od zmierzonego napięcia? Napisz dokładnie co chcesz zrobić.
Jeśli piszesz w Bascom, to podstawowa obsługa RC5 już tam jest, poczytaj Helpa ...
Z tego co wiem to bascomowe procedury LCD odliczają opóźnienie potrzebne wyświetlaczowi przy pomocy tego timera. Spróbuj zmienić timer albo poszukać w helpie bascoma.
http://obrazki.elektroda.net/3_122786033... Jest to prosty zegarek zbudowany na ATmega8 i wyświetlaczu VFD , program napisałem w Bascomie , odliczaniem czasu zajmuje się PCF8583 , po zaniku zasilania pcf jest podtrzymywany z kondensatora 0.22F ( czas pracy na kondensatorku około 3 dni) . Czas ustawiam za pomocą pilota RC5 . . . . . . . . ....
Moim zdaniem koncepcja powinna być taka: 1. Obsługa przetwornika analog-cyfra. Na początek dobrze żebyś umiał dobrze zmierzyć liczbę impulsów. Nie wiem dokładnie jaka jest specyfika Twojego sygnału, jaką amplitudę mają owe szumy, skąd się biorą i czy nie warto by ich po prostu potraktować filtrem dolnoprzepustowym, a jeśli mają odpowiednio niską amplitudę...
Dokładnie nie wiem jak w tym swoim Bascom-e masz zrealizowaną procedurę obsługi pilota ale powiązane to ściśle z prędkością zegara bo program w ściśle określonych przedziałach czasowy sprawdza stan wyjścia odbiornika RC5. Więc zmiana częstotliwości taktowania bez zmiany tych zależności czasowych spowoduję błędy odczytu. Musisz sobie zmienić wartości...
Wystarczy jedno wejście I NTx , które będzie wykrywało ten impuls. Ale jeśli to będzie impuls "z ręki" jakiś klawisz to bez sensu - ze względu na drgania styków a potrzebny minimalny czas np 1ms. Jeśli to będzie impuls z jakiegoś wyjścia cyfrowego to ok. Założenia: - wykorzystamy tylko jedno wejście INTx - wykorzystamy tylko jeden Timer sprzętowy Przygotować...
Jest to timer mojego projektu na procesorze AT90S2313. Służy do odliczania po 1 sekundzie od ustawionego czasu do zera. Po skończeniu odliczania włącza się przekaźnik. Wyjęcie zwory nad przyciskiem startu powoduje że nie można zatrzymać odliczania. Projekt wykonany w Eagle. Źródło programu w Bascomie
Kiedyś robiłem coś takiego dla znajomego. Procesorek _ LCD 1x16 + dwa przyciski "góra" "dół" . Całość praktycznie wielkości wyświetlacza. Odliczał nastawione impulsy po osiągnięciu zera otwierał styki przekaźnika . Była też opcja że kilka imp. wcześniej ( przed zerem ) otwierał jeszcze jeden przekaźnik. Chodziło o to że sterował silnikiem i wtedy zmniejszał...
Ustalasz długość odbieranych danych np. 2 bajty, wstawiasz licznik odliczający do 2 :) i łapiesz jeden bajt, potem drugi, Kasujesz licznik i od nowa :) wysyłasz następne 2 bajty itd. ...
"Utul" to jest ten co ty dałeś tylko pozmieniałem porty bo ja na portb.1 i portb.2 mam wyświetlacze a na portd segmenty i oczywiście liczby w tabeli na odlicza mi od 0 do 9 później wyskakuje 11 zamiast 10 i odlicza tak 22,33,44,55,66,77,88,99 i od początku od zera
I może troche głupie pytanie ale myśle nad tym już troche czasu i nic nie moge wymyślić a dokładniej jak procerura Do 'set up a 1 sec accurate DO NOTHING loop Enable Interrupts 'wait 1 as per BASCOM-51 is not accurate For Delayword = 1 To 45440 Next Delayword Disable Interrupts dla mikrokontrolera AT89C2051 z kwarcem 24MHz odlicza dokładnie 1 sekunde?Znalazłem...
bascom odlicza odlicza minuta bascom bascom odlicza timer
podłączyć drugi dekoder ograniczenia głośności niekompatybilny wyświetlacz
szarpie skrzynia automatyczna roleta zewnętrzna krańcówki
Wymiana pokrętła wirówki w pralce Hotpoint-Ariston ATL 94 – instrukcja krok po kroku Dlaczego forum Elektroda ma niski poziom merytoryczny?