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...
aby wszystko było jasne , układ zasilasz napięciem stałym z pewnością na początek zastosujesz prostą sekwencję sterowania : 1000 0100 0010 0001 pomiędzy zmianą każdej sekwencją występuje przerwa czasowa tak wiec silnik zasilasz przebiegiem zmiennym w czasie dlatego była mowa o napięciu zmiennym w układzie i odpowiednich wzorach na obliczenie prądu
OPIS FUNKCJI LOAD Action Load specified TIMER with a reload value. . . . It will do the calculation. (256-value) So LOAD TIMER0, 10 will load the TIMER0 with a value of 246 so that it will overflow after 10 ticks. TIMER1 is a 16 bit counter so it will be loaded with the value of 65536-value. Czyli u ciebie ładuje 65536 - 65436 = 100 Przepełnienie właśnie...
Czy w trakcie programowania nie nastąpiła jakaś przerwa , zły kontakt przy wtyczce itp. Bo to wygląda na zablokowanie procka przez błędy w programowaniu . Program nie widzi procka z powodu złego ustawienia bitów konfiguracyjnych . Rozwiązanie - programator równoległy HV . Jeżeli dajesz nowy procek i dalej nie jest widziany przez program to sprawdź połączenia...
Możesz mi napisać kawałek kodu z tym MOD jak to powinno wyglądać? Tylko użyj proszę nazw zmiennych jakich ja używam, OK? Ze 100x robiłam liczniki liczące setki, czy tysiące i nigdy nie było problemu. Dłuższa przerwa z BASCOM i wywalanie z komputera niepotrzebnych programów się właśnie zemściło...
http://obrazki.elektroda.pl/3089511800_1... Witam, dziś prezentuje swój bezprzewodowy termometr pracujący na częstotliwości 433 MHz. Urządzenie składa się z nadajnika i odbiornika. Nadajnik odczytuje temperaturę pieca C.O. i wysyła ją do odbiornika. W odbiorniku mamy możliwość ustalenia górnego i dolnego progu załączenia alarmu, który...
Klasyczny banał ! Aż wstyd się przyznać :( Zupełnie niewidoczna przerwa ścieżki. Poza tym wszystko gra :)
Witam serdecznie. Mam taki problem, otóż: Zaprojektowałem sterownik do pieca c.o. i kolektorów. Do pomiaru temperatury zastosowałem 3 x DS18B20 na magistrali 1Wire. Program napisany w języku BASCOM. Jeżeli jest taki przypadek, że nastąpi przerwa w torze transmisji jednego z czujników np.DS1 (nóżka Data) to mikroprocesor nadpisuje wartość temperatury...
Ciekawe jak to wygląda w bascom jak długo trawa ta przerwa w czasie rzeczywistym? Ogólnie czy ma wpływ na wykrycie ruchu?
dlaczego nie działa pod bascom avr????? $crystal = 16000000 Config Timer0 = Timer , Prescale = 8 Load Timer0 5 On Ovf0 Przerwa Dim G As Integer Enable Timer0 Enable Interrupts Start Timer0 G = 0 Do Loop Przerwa: Load Timer0 5 Incr G Print "przerwa" Print G Return
Zrobiłem jeszcze raz pomiar i wyszło tak jak napisałem w 1 poście impuls 0,4us = 400ns przerwa 3,3us = 3300ns Czy AVR i ten program napisany powyżej w Bascomie wyrobi w 400ns żeby odczytać zawartość pinuD i zapisac do tablicy dane? Bo coś mi to nie wychodzi? Ten uC ma na pewno możliwości, aby obsłużyć te przerwania (zakładam ok. 33kHz). 270kHz W assemblerze...
Sygnał o którym napisałeś można generować nie tylko korzystając z timera . Można również zrobić to programowo. Z tego co napisałeś jest to sygnał sterujący do serwomechanizmów modelarskich Od 1 do 2 ms i przerwa 20 ms . Bascom z tego co pamiętam ma coś gotowego w stylu config servo ... Jeśli chcesz zrobić to za pomocą timera lepszym rozwiązaniem jest...
Ok. tylko nie bardzo wiem jak wygenerować taki impuls ;/ ile ma trwać i jaka ma być przerwa miedzy nimi. Nota nic mi nie mówi, jestem nowicjuszem. Wesołych Świąt ;)
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 z C miałem tyle wspólnego co krowa z hiszpańską inkwizycją....
MarasK -> ale przecież opóźnienia tzn to migotanie nie powstaje z powodu samej transmisji pomiędzy DS'ami tylko z tego powodu, że większość ludzi po wysłaniu polecenia pomiaru temperatury do czujników stosuje w tym miejscu pętlę opóźniającą 750ms aby po nie odczytać te temperatury i to tu jest pies pogrzebany. Bo obojętnie gdzie czy w przerwaniu, zy...
Jako że płytka byla robiona termotransferem a jest malutka była przerwa od ukladu max232 do gniazda db9, naprawione, działa temat zamykam z podziękowaniami dla mirka36 oraz piotrka Pozdrawiam
Aby wykryć, czy potencjometr jest podpięty, niestety trzeba ograniczyć zakres działania. Inaczej mówiąc, bez potencjometru będziemy mieć pomiar > 4V a z potencjometrem np. 0-4V. Jakakolwiek przerwa będzie wykryta poprzez pojawienie się napięcia większego od 4V. Oczywiście trzeba zastosować rezystor podciągając np. 100kOhm.
Nie mogę teraz znaleźć rezystora 10kOhm i stąd moje kolejne pytanie. Jak wpłynęłaby przerwa w obwodzie w miejscu tego rezystora? Wiem tylko tyle, że jakby go tam nie było to układ by się cały czas resetował. I jeszcze jedno czemu mi może Bascom avr nie wykrywać procesora? Gdy chce zidentyfikować procesor wyskakuje mi Error: program enable: no answer.1
Kod już w porządku [syntax=vbnet] Declare Sub Powiedz_czas Declare Sub Powiedz_plik 'gdy program będzie coś robił może bya zbędne Reset Data_ Set Clk Wait 1 Godziny = 11 Minuty = 28 Do '********************** godzina Clk = 0 Waitms 2 Godziny_plik = Lookup(godziny , Godziny_mow) Adres_pliku = &H00 + Godziny_plik Print Adres_pliku Shiftout Data_ , Clk...
Problem dotyczy atmegi 128 zaznaczyłem tylko że na 32 wszystko ładnie działało, a na 128 z tym wsadem który dałem program wisi, mruganie podświetleniem działa jedynie jak dam dataport = portD doszedłem do tego doświadczalnie. Problem rozwiązany, jedna z nóżek wisiała w powietrzu mierząc miernikiem połączenie dociskałem końcówka miernika i przejście...
Witam wszystkich :D Zanim zalozylem ten temat b. duzo szukalem tego co potrzebuje i wiem ze bylo juz pisane na ten temat ale nie znalazlem nic konkretnego wiec pisze . A chodzi mi o to ze potrzebuje napisac program w bascom do attiny 2313 ktory mial by utrzymywac procka w trybie uspienia a gdy wcisne jeden z 2 guzikow to ma sie obudzic wyslac dany...
Witam, a jak wygląda sprawa w sterowaniu przetwornicą typu flyback lub przerywaczami? Czy używając programowego PWM na Atmedze moża zorobic taką przetwornice? Dodano po 3 Czy dobrze mi się wydaje że np. gdyby uzyskać na atemedze częstotliwośc PWM dla flybacka równą 1k Hz to układ działał by poprawnie tylko że transformator gromadzący energie w polu...
Mozemy pomoc w pisaniu, ale z helpem Bascoma powienienes dac rade, obslyga lcd ->gotwa funkcja -klawisze dasz rade, zmieniasz jedynie zmienne - odmierzanie czasu sporbuj na timer1 co np sekunde bedzie zwiekszal Ci zmienna Czas, w petli gl musisz kontrolowac by wartosc nie przekroczyla zakresu - prostym if'em sprawdzasz wartosc tej zmiennej Czas z czasem...
Ok, ale ja chcę wyciągać tylko pojedyńcze znaki. Tzn nie chcę wyciągać z tekstu "ABCDEFG" kilku znaków np ABCDE tylko po kolei i pojedynczo "A" , "B" , "C", "D" i "E". Czyli w moim przykładzie: Dim Tekst As String * 100 , Znak As String * 1 Funkcją LEFT tego więc nie załatwię - ale MID chyba już tak :) Do Tekst = "Jakis tam tekst" For I =...
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 , Czas As Single , Zmiana As Bit , Napis As String * 9 Config Timer1...
Hmm... napisałem coś takiego do włączania i wyłącznia wzmacniacza mocy i załączania głośników. Włączenie:sieć przerwa 3 s głośniki, wyłączenie: głośniki przerwa 3 s siec. Napisałem i kicha - czy po skompilowaniu bascomem działa Ci Waitms ?? $regfile = "at12def.dat" $crystal = 8000000 $tiny $noramclear Config Portb.3 = Output Config Portb.2 = Output...
No właśnie, odnośnie tak małej ilości cykli na przerwanie to dlatego zapytałem co będzie jeżeli przerwanie nie zdąży się wykonać i wygeneruje się nowe. Takie coś mogłoby chyba działać, jeżeli przerwanie polegałoby jedynie na zmianie stanu bitu, a tu jeszcze musi być ta przerwa po paczce impulsów. Dobrze, to czyli czas na podłączenie kwarcu, postaram...
36000000 zależy od preskalera timera i ilosci impulsow na obrót. preskaler 8 więc częst. timera 1Mzh - impuls co 1us. 1500rpm = 25 obr/sec. - int co 40ms. wiec przy 1500rpm i jednym impulsie na zapłon masz 40000 impulsow z timera. po przeilczeniu równania obrmin = x/wynikczas masz x= 60 000 000. Pomylilem sie z tym 36000000. teraz tylko ilość zapłonów...
Nikt nie jest w stanie pomoc? Nikt nie wie, dlaczego kompilator zglasza blad w ponizszym fragmencie? If((dcf_in = 0) And(dcf_failure = 0) And(synchronized = 1)) Then 'wykryto poczatek przerwy miedzy impulsami If(timer_val > 50ms And Timer_val < 150ms) Then 'odebrano bit 0 Dcf_array(1).bits_rcvd =...
Co to znaczy że ci się rozsypią? Czas obsługi procedury przerwania wydłuży ci się o tych kilka - kilkanaście taktów, ale bez przesady to nie zrobi wielkiej różnicy. To w zasadzie tylko jeden if + else na każdy kanał. Jeśli masz obawy to pogoń procesor szybszym kwarcem i po sprawie.
Odnośnie konfiguracji LPT w menedżerze urządzeń w zakładce zasoby, typ zasobu- Zakres we/wy mam ustawione 0378 - 037F. W bascomie w LPT adress mam wpisane 378. Prawidłowo? Tak, masz wszystko prawidlowo.. i powinno programowac; chyba ze gdzies jest kiepski kontakt lub przerwa w polaczeniu (slaby wtyk, zimny lut, itp). Nie wyglada abys musial stosowac...
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 Ppm 1 - 2 ms: Sygnał Ppm Serwo1 - Port Pb0 - Pin 5...
Mam następujący problem: posiadam tablice diodową 126 na 15 LED i trzeba napisać drugi generator znaków (jeden już mam trochę o nim jest w poście Bascom i cuda które się dzieją jeśli admin uzna że oba posty powinny zostać scalone to proszę scalić zakładam nowy z powodu iż tamten był defakto o problemach z kompilatorem nie o samej tablicy) Sprawa wygląda...
Ruszy bez problemu tylko napisz to porządnie. Kamyczkowi nawet się nie chciało zajrzeć do tego kodu a wydaje jakieś nonsensowne opinie tylko dlatego że mu nie wychodziło. Zobacz, nie możesz skoczyć do gadającego Sub`a na taką wieczność jaką jest gadanie i podwójne czekanie na zakończenie gadania. [syntax=vbnet]Sub Powiedz_czas: '**********************...
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 napisałem program zliczający impulsy w czasie, również...
Witam Mam płytkę sterującą dwoma kanałami PWM - przez ULN oraz MOSFETY. Płytka ma dwa wejścia oraz wejście czujnika PIR - INT1. Ma przede wszystkim sterować włączaniem taśmy LED 12V z czujnika PIR ( oprócz tego z drugiego wejścia ). LED włączona przez PIR ma docelowo świecić określoną ilość czasu ( zależną od natężenia światła ) i się wyłączyć. Żeby...
Muszę wprowadzić zmiany w programie aby zamiast wyświetlaczy segmentowych użyć lcd. Czy jest z tym dużo pracy? [syntax=basic4gl]'************* Konfiguracja uC ***************** '***************************************... $regfile = "m8def.dat" $crystal = 8000000 Config Portb = &B00000000 : Portb = &B11111111 Config Portc = &B11111111...
może sie przyda - program właśnie na czujnik 18s20 ' BASCOM College ' (EdW 2001.01 str. 20) ' Temat : "Termometr z Dallas DS1820" ' wersja 1.1 (20.03.2001) ' Compiler : BASCOM 8051 LIBRARY V 2.06 ' Used ROM : &H7A3 1955 (dec) > Ok ' Poprawki do ver. 1.0: ' - poprawiony błšd odczytu temp > 41,5...
witam, mam problem z obsluga czujnika temp. ds1820, polaczony jest przez 1Wire na plytce testowej AVT2500. Przykladowy program do obslugi pobralem ze srtrony http://as.rumia.edu.pl/artur/a/bascom/Te... Kompilacja programu przebiega bez zadnych problemow. W momecie uruchomienia uProca uzyskuje staly odczyt "- 0.5 C". z gory dzieki za pomoc. <--TERMO.BAS-->...
Chciałbym na pojedynczym wyświetlaczu matrycowym wyświetlać sobie tekst który będzie przewijał się od prawej do lewej strony. Mam już gotowy program który wyświetla mi pojedyncze znaki na cały wyświetlacz. Znaki wyświetlają się przez żądany czas. Tekst wyświetlany jest w pętli. Poniżej listing. Czy mógłby ktoś przerobić mi poniższy kod lub ewentualnie...
Ano to właśnie co pisze kolega powyżej. A spowodowane tym, że w podprogramie obsługi przerwania są takie cztery śliczne "Waitms = 4 " razem 16 ms = kosmicznie długo.
[syntax=vbnet]Automatycznie2: Locate 1 , 1 Lcd " Tryb Automat. " Locate 2 , 1 Lcd "Aktualnie: PR:2" Prog1 = 0 Prog2 = 1 Prog3 = 0 Prog4 = 0 Prog5 = 0 If Cofn = 0 Then Goto Wybor Else Dim Odlicz As Byte Odlicz = 120 Do Wait 1 Decr Odlicz If Cofn = 0 Then Goto Wybor Loop Until Odlicz = 0 Goto Automatycznie3 End If[/syntax] Możesz nawet zwiększyć czułość...
Przerwanie przerwie wykonanie instrukcji Wait. Po wykonaniu podprogramu obsługi przerwania uC dokończy wykonanie instrukcji Wait. Wniosek - instrukcja Wait nie wstrzymuje działania uC.
Witam... Ja bym nie bawil sie w komparator i ... tylko wzioł cfrowy termometr 1-wire np DS1822, DS1821(swoją drogą da sie go zaprogramować jako termostat) no ale można zrobić to w rózny sposób, wracam do tematu postu... Przerwanie od komparatora w BASCOM Config Aci = On , Compare = Off , Trigger = Toggle On Aci Przerw Enable Interrupts Enable Aci coś...
Zapalasz: „Set Led” Gasisz: „Reset Led” Cała linia odnośnie przerywania i PWM też jest nie potrzebna (Config Timer1 = Pwm , Pwm = 8 , Prescale = 1 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down). Złap jakąś książkę z BASCOM-em naprawdę się przydaje, albo przynajmniej jakiś porządny kurs będziesz łykał co do czego ;)...
No cóż, Hex widzę ma ponad 2 kB, więc to może być źródło Twoich problemów, gdyż darmowa wersja ma ograniczenie do 2 kB. Możesz albo odchudzić kod, albo zainwestować w pełną wersję, lub ewentualnie skorzystać z pomocy kogoś, kto ma taką wersję i pomoże zapisać chip. Ewentualnie napisz na priv, to coś wymyślimy.
Kuniarz , Jeszcze tylko spytam - czemu w obsłudze przerwania włączasz przerwanie timera i zaraz potem znów je wyłączasz? Nie lepiej wyłączyć na samym początku i włączyć na samym końcu?
- czy praca równoległych timerów nie będzie jakoś na siebie wpływać (program przerywa pracę na skutek działania timera1 by precyzyjnie wyznaczyć czas, a tu w tym samym momencie dochodzi kolejne przerwanie od innego timera, i co wtedy) Timery działają niezależnie, ponieważ realizowane są sprzętowo. Nie będą na siebie wpływać. Program niestety (w tym...
Jeżeli już tak to ustaw przerwanie na każdą zmianę i sprawdzaj stan pinu int0. będzie szybsze bo nie będzie procedur ustawiania falling/rising: config int0=change ... przerwanie_int0: if pind.2=0 then 'opadajace zbocze else 'narastajace end if ... return Z analizy kodu asm bascoma wynika ze szybciej zadziała oddzielny warunek: if pind.2=0 end if...
Do drasmen: jeżeli chcesz aby układ zadziałał musisz przestawić fuse bity na wew. generator np. 8MHz a do pinów gdzie podłączasz kwarc musisz wpiąć kwarc zegarkowy 32.768kHz. Program dla autora tematu: 'Program wykorzystujący przerwanie od timera0(8 bitowego) generowane co 8ms 'jeżeli przerwanie zostanie wywołane 125 razy, otrzymamy 1 sekundę...
timer przerwa bascom przerwa bascom przycisk bascom przerwa timer
zamek bagażnik renault megane wizja fonia pompa pelletu
LG DA-5630: Zasilacz impulsowy i kino domowe Liczba zwojów cewki wiertarki PRCB 10 Celma