Bascom zawsze używa metody obliczeniowej, która należy do zmiennej wynikowej. Oznacza, że w tym przypadku Bascom wykonuje obliczenia na bajtach. Wartość obliczeniowa2 jest typu Word. Czyli (1) = Liczba_ok / 100 zmienna Liczba_ok traktowana jest jako byte. Jedynym sposobem na konwersję jednego typu na inny jest po prostu przypisanie go w ten...
Prototyp zrobiłem na pomiarze napięcia (ADC) na fotodiodzie - to chodziło, dopóki nie zacząłem testu na dworze.... Fotodioda łapała podczerwień z... no właśnie, skąd? Nie wiem. To oczywiste. Światło z otoczenia również zawiera podczerwień, więc pojawiają się zakłócenia. Po odłączeniu fotodiody i dotykaniu kabelkiem do + na wyświetlaczu także pokazywały...
Muszę użyć układ dwóch timerów ponieważ w docelowym układzie zakres czasowy Timera1 będzie za mały. Czy procesor zliczy na T1 impulsy generowane na OC2 ? Obawiam się sytuacji, że przy wspólnym CLK gdzieś mi się zbocza miną pomiędzy OC2 a T1 i układ nie zatrybi... Oczywiście że zbocza te mogą się minąć, ale to jest bez znaczenia. Podczas synchronizacji...
Na moje oko 4046 to najlepsze rozwiązanie. To ja podpowiem że trzeba tylko minimalnie zmodyfikować mój program. Tak żeby drugi Timer generował tylko tyle impulsów po uruchomieniu ile wynosi mnożnik. A w tym pierwszym Timerze który mierzy okres ma być inicjalizacja tego drugiego Timera i uruchamianie go. Dzięki temu częstotliwość tego drugiego będzie...
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.
No jak za każdym razem do licznika wpisujesz zero to jakim cudem ma być spełniony ten warunek timer1= A?
Ok po kolei, wywalam wszystko z programu, zostawiam tylko...... zmienna impulsy jest zwiększana o kilkanaście a nie tylko o jeden ............ Licz: If Scisk = 1 And Ok = 1 Then Incr Impulsy Elseif Scisk = 0 And Ok = 1 Then Decr Impulsy End If Return Kontaktron (Reed switch) generalnie jest stosowany jako proxy switch, czyli w ukladach statycznych....
Sygnałem wyjściowym hallotrona jest napięcie. Tak więc przez 1/2 LM358 pracująca jako komparator i zasilona napięciem takim jak procesor. Ważna jest biegunowość napięcia wejściowego.
Czy to poprawny zapis do uśredienia wyniku z 60 pomiarów kodu co wyżej podawałem (*) pytam z czystej ciekawości czy to poprawna forma To nie jest 'uśrednienie',- to jest zbyteczne rozszerzenie rachunku wydajności, które jest równoznaczne z pomiarem impulsów w czasie 60 sec. Inaczej, zamiast odczytywać zawartość Countera1 po zliczeniu 250 4-milisekundowych...
Tu jest gotowy przykład na atiny13 ale w ASM [url=http://www.avrfreaks.net/index.php?... nie mam pojęcia czy działa ale zapewne tak ;)
Po przepełnieniu licznika on się zeruje automatycznie? W większości trybów licznik zeruje się podczas przepełnienia. Wyjątkiem są niektóre tryby PWM, np. Phase Correct PWM Mode: The phase correct PWM mode is based on a dual-slope operation. The counter counts repeatedly from BOTTOM to MAX and then from MAX to BOTTOM.
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 gdzie Ci tam pasuje flaga=1 zerujesz licznik endif I tyle, oczywiście...
"Tą" liczbę masz zapisaną w zmiennej Liczba_przerwan_tim0 a nie w ośmiobitowym (czego się chyba obawiałeś) rejestrze timera0 - więc nie ma problemu.
Witam. . Myślałem także o odseparowaniu galwanicznym pomiędzy przekaźnik a procek . Obecne sterowanie poprzez ULN2803 i wpięta dioda wraz z kon. równolegle w przekaźnik. Jeszcze wymienię na ekranowane przewody i obudowy powyklejam folia aluminiową. Ostatecznie co pozostanie to filtracja 230volt . Stosując ULN do załączania przekaźnika, nie potrzebujesz...
Może spłycę :) wypowiedzi przedmówców, ale w skrócie chodzi o to. 1. Wyświetlanie wszystkich 4-ech segmentów sterowanie jest tym samym portem, w tym przypadku P1 2. Tranzystory powodują po prostu dostarczenie napięcia do odpowiedniego segmentu. 3. Wysyłając jakiś sygnał na port P1, wysyłamy ten sam sygnał do wszystkich segmentów, a sterując odpowiedni...
Tak. Tylko mniej świadomość że procek będzie odrywany od pracy wieloma nieprzydatnymi impulsami. Ewentualnie po pierwszym impulsie na INT, wyłącz przerwania na czas drgań. Jak teraz masz podłączony kontrakton ? INT podciągnięty pod +5V ? Jak INT wyzwalasz ? W docelowym projekcie koniecznie czujnik kontraktonowy zamień na jakiś halotron albo transoptor...
Liczniki są osobnymi blokami uC, więc jeśli sygnał wejściowy jest poprawny, to impulsy powinny być zliczone poprawnie. Podany wyżej program to program użyty w moim mierniku częstotliwości okrojony z niepotrzebnych ci rzeczy, które mogłyby zaciemnić jego sens. Działa przy częstotliwości kilku MHz.
Napisz program w Bascom dla Atmega8, który będzie liczył pojedyncze impulsy w ciągu 24 godzin z zapamiętaniem najkrótszego odstępu między tymi impulsami, wynik wyświetlał na wyświetlaczu 2x16 opartym na HD44780. Oczywiście, chętnie pomogę Ci napisać ten program. Poniżej znajduje się kod, który powinien zrealizować to, co opisujesz. Wprowadziłem kilka...
Impulsy pobieram przy liczniku z kabelka który wg "Sam naprawiam ..." pochodzi od czujnika drogi umieszczonego przy skrzyni. Do zliczania impulsów wykorzystałem timer0 (oczywiście znalazłem przykład), który liczył i podbijał mi zmienną. Zrobiłem 10 km i sprawdziłem wynik. Było 5150 więc podzieliłem aby zamienić na m i wyszło 5,15 Nic mi się nie zgadza...
na symulatorze nie masz co patrzeć. One są do niczego. Ok sprawdzę zaraz. Dodano po 18 ok sprawdziłem. Działa bez problemu. Sprawdzałem na płycie testowej a sygnał brałem z Timera2 skonfigurowanego jako PWM. Zmieniałem różnie Prescaler od 1 do 1024 i działało bez problemu.
Obstawiam, że się BASCOM nie wyrabia z obsługa przerwań co 13us. Ale na BASCOM-mie się nie znam. 4.3ms daje przerwanie co ca. 16us, co by się zgadzało z obserwowaną czestotliwością ok. 30kHz.
A gdzie instrukcja CONFIG TIMER1 = COUNTER?
Witam. Program według mnie jest przejrzysty. Po wejściu do podprogramu pierwsze If... sprawdzi jeszcze raz czy jest wciśnięty przycisk K1 wygeneruje impuls i wejdzie w pętlę Do... Loop o ile w dalszym ciągu jest wciśnięty przycisk. Jeżeli nie to wygeneruje jescze raz impuls jeszcze raz i wyjdzie z podprogramu. Ja również tego nie sprawdzałem, ale powinno...
chce to liczyc przy pomocy mikrokontrolera AVR (AT90S2313) Strona "domowa" Bascom'a: aplikacja AN115 ;-)
Funkcja WAITMS nie jest odporna na przerwania. Jeśli masz jakieś to każde wystąpienie przerwania w trakcie WAITMS rozjedzie go. Niezależnie od stabilności tej funkcji, a nie ma powodu, żeby nie była powtarzalna jeśli nie jest przerywane wykonanie przerwaniami, to i tak lepsza praktyką będzie wykorzystanie timera.
Witam. Spróbuj nie czyścić ekranu starego wyniku poprzez CLS, ale zrób np. tak: ..... If Generator = 10 Then Wynik = Generator - Czujnik Generator = 0 Czujnik = 0 Locate 1,1 Lcd "WYNICZEK= ";" " 'tu jest 6 spacji między 2 i 3 cydzysłowiem Locate 1,11 Lcd Wynik End If Loop ..... Na dobrą sprawę ciąg "WYNICZEK= " jest stały i nie ma sensu go cały czas...
jeden impuls nigdy nie ustawi serva w zadanej pozycji MirekCz dobra rada
Nie mam noty przed sobą, ale o ile mnie pamięc nie myli to timery 0 i 2 mają możliwość zrobienia przerwania typu Compare w trybie CTC. Sprawdź to.
Należy: - zadeklarować zmienną globalną np. LICZNIK i nadać jej wartość zera, - włączyć przerwania od przepełnienia Timer0, - w funkcji przerwania należy zwiększać wartość zmiennej LICZNIK o jeden Aby poznać liczbę impulsów wystarczy pomnożyć LICZNIK*256 i dodać do niego aktualną wartość rejestru licznika timera, czyli jak sądzę counter0 (nie znam BASCOM).
Zajrzałem do Helpa. Waitus nie przyjmuje parametrów w postaci zmiennych. Muszą być stałe.
Co zrealizować? Programowe zliczanie impulsów? Ustawiasz timer tak, żeby generował przerwanie co 100 us, sprawdzasz stan portu, robisz xor z poprzednim stanem i testujesz, które bity są ustawione - ustawiony, znaczy zaszła zmiana stanu, czyli inkrementujesz odpowiednią zmienną.
Możesz użyć timera aby odliczyć sobie konkretny odcinek czasu.
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...
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.
A co to za kwiatek: Lcd Wynik2 = Wynik + Wynik1 Powinno być: Wynik2 = Wynik + Wynik1 Lcd Wynik2 A jeszcze zmienna Wynik2 jest niepotrzebna i może być: Wynik = Wynik + Wynik1 Lcd Wynik
Witam Zgadzam się z przedmówcą. W zmiennej "Impw" zliczane są impulsy wtryskiwacza w czasie trwania jego cyklu. Wartość 15067 to nastawa timera zależna od częstotliwości taktowania uK (zastosowanego kwarcu): 1/4000000 = 0,25us 0,25us * 15067 = 0,00376675ms Wartość ta (jak widać z programu) odpowiada w przybliżeniu stałej wtryskiwacza: 'stała wtrysku:...
Witam Patrz DEBOUNCE pin_portu , stan , etykieta w Help
Witam Problem rozwiązany. $regfile = "M16def.DAT" $crystal = 8000000 $baud = 57600 Dim Czestotliwosc As Long Config Timer0 = Counter , Edge = Rising Tccr0 = 7 Print "Licznik" Ddrb.0 = 0 Print Pinb.0 Enable Interrupts Enable Timer0 Do Start Timer0 Tccr0 = 7 Wait 1 Stop Timer0 Czestotliwosc = Counter0 Print "Freq: " ; Czestotliwosc Print Tccr0 Counter0...
No a jak myslisz? W przerwaniu od jakiegoś Timera.
Czy na 100% masz układy PCF8574 bez literki A na końcu? Ja bym jeszcze sprawdził czy układ odpowiada impulsem ACK po podaniu adresu.
Witam ! Ustaw odpowiednio fuse bity, bo ATtiny2313 jest fabrycznie ustawiony na wewnętrzny generator 1MHz. Pozdrawiam. Stefan amator
Ponieważ tzw. casting w BASCOMie jest nieco zbyt prosto zrobiony to proponuję zrezygnować z: Dim Xl As Word Dim Xh As Word A w przerwaniu pobierać zawartość z rejestru ICR za pomocą specjalnie generowanej dla tego celu zmiennej typu Word: Capture1 . Pętlę Do..Loop zamieniłbm na sprzętowe porównywanie i kasowanie licznika przez CTC. Niech takimi rzeczami...
Można, oczywiście z rezystorem i pojemnością kondensatora dobraną do maksymalnej spodziewanej częstotliwości impulsów.
Uruchom przerwanie od Countera (najlepiej od porównania wartości zliczonej z ustawioną) i zmień stan portu w podprogramie obsługi przerwania lub prościej, ale mało elegancko zmień [syntax=basic4gl]If Counter1 = 100 Then ...[/syntax] na [syntax=basic4gl]If Counter1 >= 100 Then ...[/syntax] Nie tak jest to, że w chwili zliczenia setki nasz if może się...
6000 * 360 = 2 160 000 czyli 460ns na impuls. więc co najwyżej 9 cykli zegara ATMEGI na impuls :(
Szybko zajrzałem do noty PCF8583 i tam jest napisane, ze kiedy nie używasz funkcji alarmu to stan na pinie INT zmienia się na przeciwny co 500ms. Tak wiec impuls jest na tyle długi ze spokojnie można go traktować jak zwykły przycisk naciskany co sekundę. [syntax=vbnet]$regfile = "m32def.dat" $Crystal=8000000 $hwstack = 64 $swstack=32 $framesize = 128...
A co to za problem... programujesz procesorek i po problemie, choćby 89C1051 sobie z tym poradzi, a program skrobniesz nawet w Bascomie. Chyba, że potrzebujesz precyzyjnej regulacji wypełnienia tych impulsów.
Tobie chyba chodzi o "debouncing". Poczytaj to: http://www.bioinspired.com/users/ajg112/... I zrobisz to pewnie i w bascomie. Nie przejmuj się. Sam zdecydujesz, kiedy przejść na inny język programowania.
Dlaczego nowy temat . Ja nie napisalem jeszcze nic zwiazanego z tym programem nie wiem jak sie za to zabrac. Ja mam wiecej do czynienia z budowa maszyn spawalniczycz a nie z programowaniem dlatego prosze o pomoc a tu same madrosci. PS:dodaje obrazek.
No ale przecież nikt nie każe stosować do tego komend BASCOMa. Wszyscy BASCOMowcy sobie sami narzucili takie dziwne podejście i potem są pretensje jak ktoś im podsuwa przykładowy kod w C (prosty ale operujący na rejestrach). A to przecież najnormalniejsza rzecz (operowanie na rejestrach).
no gdybym umiał coś zdziałać tym bełkotem to nie zadałbym pytania. Przedstawiłem jak by to wyglądało w teorii i poprosiłem o pomoc speców z tego forum polegająca na podpowiedzi jak to skubaństwo napisać, że wszystko było o.k.
Nie mogę się doszukać w helpie jak skonfigurować i używać PWM dla Tiny2313 w Bascom AVR a wyszukiwarka na forum nie działa, ktoś może mi pomóc? Ponieważ nie za bardzo ufam Bascomowi przy konfiguracji automatycznej( Config Timerx) , to wolę poustawiać rejestry ręcznie , korzystając z dokumentacji :D $regfile = "attiny2313.dat" $crystal = 1000000...
Najpierw to zastanów się nad swoim warunkiem if portd.0=1 then bo to ci nic nie da - musisz zastosować if pind.0=1 then żeby odczytywać stan pinu, który jest wejściem A w Bascomie nie ma czarodziejskich poleceń, które zadziałają na dowolnie wymyślone przez ciebie pomysły ;) Chciałbyś np aby były polecenia tego typu? MrugajDiodaLED_100razy Daj10Impulsow...
Witam ! Zmień zapis na ten: Stan_enk = Encoder(pind.2 , Pind.3 , Lewo , Prawo , 0)
zapoznaj się z tym projektem http://www.edw.com.pl/pdf/k10/55_06.pdf cała idea sterowania zawarta jest w podprogramie Foursteps i Ddelay jest to wprawdzie dla 8051 ale to kwestia tylko zmiany nazwy portów oraz podstawowa sprawa typ silnika i jego parametry
Spójrz do noty. Sprawdź sobie jak się nazywa rejestr Timera0 i czytaj z niego.
Akurat ważniejszy jest mały spadek napięcia, żeby stan niski pozostawał niskim również za diodą. Zrobiłem szkic pokazujący o co chodzi w tym różniczkowaniu i ANDowaniu: http://obrazki.elektroda.pl/7732349900_1... Przy zwykłym różniczkowaniu widać, że brakuje szpilki wskazującej początek impulsu pierwszego kanału. Można ją odtworzyć...
Mozna rowniez przy malych atmelkach dorobic zewnetrzny generator impulsu. Impuls pojawia sie np: co 30s i w jego takt sa pobierane wyniki timerow (liczacych impulsy) i wyswietlane na wyswietlaczu. Taki generator mozna wykombinowac np z koscia 4060 i jakims kwarcem.
Wielkie dzięki Teedd. O coś takiego chodziło ;-) Pozdrawiam
Po pierwsze pochwal się jakimś listingiem z tego co napisałeś i nie działa , gdzieś mi się już przewinął przed oczami taki projekt na elektrodzie i jak pamiętam autor również próbował wymusić napisanie programu . Między szukaniem pomocy a wyręczaniem się innymi jest cienka granica . Tym bardziej zastanawia mnie to ,że cały układ można przetestować na...
Prawie wszystko jest nie tak - oczekiwanie w przerwaniu, brak eliminacji drgań. To nie tak się robi - potrzebujesz przerwania timera zgłaszanego ze stałą częstotliwością, np. 100 Hz, i w nim robisz wszystko - sprawdzasz stan przycisku i odmierzasz czasy impulsów.
Powiedz coś więcej, jak podajesz te impulsy - przyciskiem?
Witam. Chcę napisać program do obsługi enkodera, problem polega na tym że podczas widzenia się diody nadawczej z odbiorczą program zlicza spora ilość impulsów a chcę aby do zmiennej dodawało tylko +1. Proszę o pomoc. Enkoder podłączony jest bezpośrednio do atmegi i działa, błąd jest w programie. Pozdrawiam http://obrazki.elektroda.pl/2316951800_1...
Skąd bierzesz impulsy, na którym pinie?
Brakuje oczekiwania na puszczenie przycisku wyzwalania. W takim przypadku będziesz musiał uważać aby przycisk trzymać krócej niż 300ms, inaczej wygeneruje są kolejny impuls
bedzie dzialac ;)
Tylko mikrokontroler... bierzesz jakiś AVR... BASCOM + programator za grosze + 2 dni posiedzisz i sam to zrobisz... Prostsza plytka, tańsze, same korzyści... Pozdrowienia
Witam czy ktoś mi zmodernizuje ten program tak aby liczył mi same impulsy i je aktualizował na bieżąco a po przekroczeniu liczby 999 się resetował i liczył od nowa $crystal = 4000000 $regfile "attiny2313.dat" Dim Wynik As Long Config Timer1 = Counter , Edge = Rising Cls : Lcd "Obrotomierz" : Wait 1 Do Timer1 = 0 Start Timer1...
A nie masz przypadkiem podpiętego kwarcu 8MHz pod ten procek z tym programem?
Witam W załączniku masz cały program stopera z dokładnością 0,1s Wytniesz z niego co trzeba Pozdrawiam PIOTR
może banalny przykład w bascomie
Przeniosłem Temat był raportowany!
Kwarc dajesz np. 12 MHz Robisz sobie pętelkę pomiarową wywoływaną z Timera np. co 200 µs sprawdzającą dane wejście pomiarowe. Jeżeli wejście jest =0 to nie zliczasz jeżeli = 1 to zwiększasz zmienną WYNIK o 1 (zmienna 16 bitowa) zakres będzie do jakichś 6.4 sekundy. W pętli sprawdzasz także czy zmienna nie przekroczyła 25000 (5 sekund). Jeżeli...
A masz tyle?:>
Witam. W przerwaniu wpisałeś : Timer1 = 131 do zliczenia zostało 65536 - 131 = 65405 Przy wpisaniu do Timer0 tej samej wartości do zliczenia pozostaje : 256 - 131 = 125 impulsów. Myślę, że dobrze zrozumiałem Twój post.
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 mikrokontrolera $crystal = 8000000 'informuje kompilator 'o częstotliwości oscylatora 'taktującego...
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ę na niski.Problem jest tylko z tym , że Charly chce...
No to coś napisałem na AVRStudio 4.05.0.181 (na kolanie) :) . Co prawda na ATmega8 , ale przeportowanie to pestka(niektóre wektory przerwań do skasowania/zmiany nazwy i "2313def.inc" zamiast "m8def.inc" , prędkość kwarcu Xtal też do poprawki...), raczej tu chyba nie ma rozkazów niezaimplementowanych w AT90S2313 . ;included in next file - line ".device...
zastanawiam się czy przypadkiem nie mam problemu z zasilaniem( obok falownik i napęd silnika prądu stałego ) a zasilacz prosty -trafo +7805 +po 100nano +100 mikro. W takim otoczeniu niewykluczone że jest to problem zakłóceń spróbuj podbić pojemności zasilacza (np. po 220uF) i zblokować sygnał reset jakąś większą pojemnością. Jeśli to zmniejszy błędy...
Potrzebuję napisać licznik impulsów w Bascom 89cx051 o następujących parametrach: Wprowadzam ilość impulsów za pomocą trzech klawiszy (pierwszy klawisz ustawia pozycję nad liczba która będzie zmieniana, drugi i trzeci służą do zmiany góra-dół), po ustawieniu odpowiedniej liczby (maksymalnie 7 cyfr), wciskam czwarty klawisz (start) w tym monecie na wyjściu...
I pilotach LG niektórych. Dokładnie: one 657 1605 zero 657 469 Takimi (średnio) długościami impulsów (w us) kodowane są zera i jedynki.
Nie możesz wykorzystać timera do zliczania impulsów?
Ten kod można zapisać na co najmniej n sposobów, podam tylko najlepszy (wg mnie): ISR(INT0_vect) { unsigned char pintemp = PIND & (_BV(7)|_BV(2)); if (pintemp == 0 || pintemp == (_BV(7)|_BV(2))&... PORTC++; else PORTC--; }
Zauważ, że przy zliczaniu impulsów w cyklu pomiarowym np. 1s można zliczyć max 15000/60 = 250 impulsów z enkodera. Czas pomiędzy dwoma impulsami to min. 4ms, a więc przy kwarcu 1MHz timer odmierzy minimum 4000 taktów. Błąd pomiaru w każdym przypadku to średnio 1/2 impulsu - w przypadku 1) mamy przy maksymalnej prędkości błąd względny 0,2%, który rośnie...
lepiej licz czas między impulsami będzie dokładniej przy słabych wiatrach lub zamiast 20 imp./obr. daj >200
czyli inaczej częstotliwość impulsów - działający jak prescale obecnie mam około 4 impulsów na sekundę, a tą ilość chcę zmieniać do np 1 na 2 sekundy wiem ze jak zmienia kwarc na 1 MHz to uzyskam ale inne sprawy przestają działać poprawnie
dzięki o to mi chodziło a zeby powrócił on potem do stanu czuwania tzn do początku programu i czekal na nastepny impuls?
Zacznijmy od tego Skopiowałem program do zliczania impulsów w języku Baskom $regfile = "m8def.dat" $crystal = 8000000 Dim Count As Integer Config Lcd = 16 * 2 Config Lcdbus = 4 Config Lcdmode = Port Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 On Int0 Int0_int Do Enable Interrupts...
Poczytaj w helpie bascoma o funkcji Encoder. Prościej się już nie da.
Witam. Mam pytanie takie czy ktoś kiedyś składał - robił dzielnik na np attiny2313 który to będzie dzielił impulsy wejściowe przez 8 -8,5 -9 do wybrania. Nie mam pomysłu jak rozwiązać ten problem bo moja wiedza jest w fazie rozwoju Myślałem, o liczniku na jednym z wejść liczącym do 8 bądź 9 i dającym wtedy impuls na jedno z wyjść ale to nie rozwiązuje...
Config Timer0 = Timer , Prescale = 32 Enable Interrupts Enable Int0 On Int0 Przerwanie1 Nosave Cls 'tutaj wysyłasz impuls pierwszy start timer0 Do : Loop Przerwanie1: stop timer0 'tutaj co ci sie podoba lcd "odleglosc:" ; wynik 'co tam jeszcze chcesz 'wysyłasz impuls start timer0 return End
Książki do nauki już kupiłem tj. Piotr Górecki Mikrokontrolery dla początkujących oraz Marcin Wiązania Programowanie mikrokontrolerów w języku Bascom, do tego wydrukowałem cały Help. Dodatkowo kupiłem moduł uruchomieniowy AVT 3500 oraz moduł uruchomieniowy dla Atmega16. Zmami opanuję ten cały materiał, chciałbym wykonać na procesorze Atmega16 sterownik...
Przeznaczenie: Zatrzymuje działanie programu lub określone urządzenie. Składnia: STOP STOP urządzenie gdzie: urządzenienazwa symboliczna uruchamianego urządzenia. Opis: Pierwszy format instrukcji powoduje zatrzymanie działania programu. W tym celu jest wykonywana pusta pętla, podobnie jak w instrukcji END. Jednak przy instrukcji STOP nie są wyłączane...
Witaj. Tak na pierwszy rzut oka, to podejrzewałbym sposób ładowania wartości Czestotliwosc do Timera1. Nie na darmo robiłem to inaczej w moim przykładzie. Ponieważ nie mogę tego sprawdzić w tej chwili, a Bascomem zajmuję się od czasu do czasu (a i skleroza swoje robi :) ), więc radzę Ci to sprawdzić. Pozdrowienia - teedd
1. Najważniejsze jest modulowanie świecenia diody IR. Od strony programowanej sprawa jest dość prosta. Trzeba wygenerować impulsy o częstotliwości kilku lub kilkudziesięciu kHz i przy ich pomocy włączać diodę IR. 2. Jeśli elementy jakimi dysponujesz to fototranzystory to możesz zbudować taki odbiornik: https://obrazki.elektroda.pl/8607391600_...
W moich układach do sterowania serwami korzystam z funkcji PULSEOUT (opis w Helpie), która wydaje mi się o wiele wygodniejsza od "servos". Trzeba tylko zadbać o to, żeby impuls na wyjściach pojawiał się co ok. 20ms.
Musisz zliczoną ilość impulsów podzielić przez 100 :>
Witam Pisalem kiedys program do sterowania robotem (manipulatorem ) w bascomie. Zliczal on miedzy innymi impulsy z 3 enkoderow. i wszystko ladnie chodzilo: Fragment kody ktory zlicza impulsy z 3 enkoderow: //enkoder 1 Enk1_a Alias Pinb.0 Enk1_b Alias Pinb.1 //enkoder 2 Enk2_a Alias Pinb.2 Enk2_b Alias Pinb.3 //enkoder 3 Enk3_a Alias Pinb.4 Enk3_b Alias...
Co można z tego zrobić: Zegarek, wyświetlacz jakichś liczb, minutnik, licznik impulsów, prędkościomierz do roweru, obrotomierz... Jak: Poszukaj o programowaniu procesorów AVR (przez ISP), dokumentacja ATTiny2313, języki C, BASCOM
Halogeny też będą zabronione ?? a co do projektu, właśnie zakończyłem projekt na uczelnie gdzie wykorzystuję sterowanie halogenem. jest to zrealizowane w ten sposób, że mam 100 poziomów jasności (0-100%). Sterowanie fazowe oczywiście i triak załączany impulsem. Logicznie, program działa tak: 1) system detekcji zera (transoptor) wykrywa moment w którym...
impuls bascom bascom liczenie impuls bascom timer impuls
zmienić język drukarka polska livebox przekazanie myjka ciśnieniowy naprawa
demontaż wymiennika ciepła vaillant demontaż wymiennika ciepła vaillant
Wybór sprzęgła do Opla Vectry C 2.2 Direct (Z22YH) Schemat podłączeń ISO dla Honda Pioneer DEH-6727ZH