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...
1. Wszystkie zmienne powinny być typu takiego, który jest w stanie pomieścić wszystkie możliwe wartości, które mogą wystąpić, czyli w tym przykładnie zmienne WYNIK i WYNIK2 powinny być typu WORD 2. Zmienne T, S, D, J są w tym przykładzie zmieniane przed wyświetleniem i przy następnym wywołaniu podprogramu wychodzą głupoty. Sprawdz coś takiego: Dim J...
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...
W C to bym ci nawet pokazał jak to zrobić, o BASCOMie nie mam pojęcia i nie chcę mieć :) Swoją drogą lepiej porzuć tą ciemną stronę mocy i przejdź na stronę światła :)
Witajcie! Dziś właśnie jest ten dzień, w którym 1 raz zasiadłem do mikrokontrolera mega8 i pod bascom próbuje coś takiego: Chciałbym zliczać liczbę wciśnieć przycisku np na porcie d.0 i wynik wysłać wyświetlacz na lcd zrobiłem tak [...] Impuls Alias Pind.0 Config Impuls = Input Dim Wartosc As Integer Dim Pom As Integer Wartosc = 0 Pom = 0 Set Pind.0...
http://obrazki.elektroda.pl/7329866000_1... Miernik częstotliwości o całkiem niezłych parametrach, bo potrafiący mierzyć częstotliwości od 1Hz do 10MHz (9,999,999Hz) z rozdzielczością 1Hz w całym zakresie. Idealny do generatorów funkcyjnych lub jako zwykły miernik. Do tego tani i prosty w wykonaniu, z ogólnodostępnych części, a małe wymiary...
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...
Witam Czy w BASCOM’ie jest jakaś komenda która zlicza liczbę impulsów na jakimś z portów?? Pozdrawiam Michał
Wypełnienie jest 50/50 a więc takie samo...impulsy idą z wiatraka
Zliczam ilość impulsów z przycisku podłączonego do masy. Dokładność sobie później poprawię, na początek nic mi nie zlicza i nie wiem w czym jest problem. Pozdrawiam Sławek
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...
zaprzyjaznij sie z datasheetem i znajdz sobie w nim rozdzial p.t. Input Capture gotowy kod mozesz napisac na podstawie tego co tam znajdziesz, powodzenia. 0x41 0x56 0x45!!
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.
Bardzo dziekuje za zainteresowanie ale to nie ma być prędkościomierz tylko licznik najprostrzy w swiecie licznik który ma czekać na impuls który zliczy .Zwarłem pinb.0 do masy zgodnie z sugestia i tez nic licznik dalej liczy (niewiadomo co). Może nie robic tego na timer-ach? .
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ą.
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).
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...
Witam ! Ustaw odpowiednio fuse bity, bo ATtiny2313 jest fabrycznie ustawiony na wewnętrzny generator 1MHz. Pozdrawiam. Stefan amator
Przepraszam za dłuższą nieobecność. Nie mając nic nowego (i mądrego) nie pisałem. Ale w międzyczasie polutowałem zestaw startowy, a ostatnio napisałem inny program, który umożliwia (w zamyśle) liczenie dokładniej częstotliwości dla "paczki" impulsów, tym razem około 500 Hz. Wiem, że to dosyć skomplikowany tok myślenia, pewnie można to zrobić prościej,...
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...
witam mam taki problemik bo wyczerpały mi się pomysły potrzebuje zrobić licznik na wejściu x który zlicza liczbe a następnie zapisuje ją sobie i licznik sie zeruje i od początku. Niedawno bawie sie w bascomie i nieumię sobie ztym poradzić za pomoc bardzo dziękuje.
Witam ! Zmień zapis na ten: Stan_enk = Encoder(pind.2 , Pind.3 , Lewo , Prawo , 0)
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 obsługuje j.w. timer 100ms. Dodatkowo na przerawniu...
Cześć. Czy ktoś wie jak obsługiwać w Bascomie Impulsator (Kliker=> nastawnik impulsowy => nastawnik obrotowy=>wszystko to to samo), element bardzo użyteczny (zastępuje tradycyjny potencjometr), a jakoś żadko stosowany. Już kiedyś pisałem post na ten temat, ale prawie nikt nie zareagował. Może ktoś budował jakiś układzik z tym elementem, może ktoś miał...
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 skoki prędkości są o kilka km np: 22, 25, 29 km/h ......
Cześć. Czy ktoś z was bawił się kiedyś obsługą impulsatora. (Takie coś jak potencjometr, tylko ze bez ograniczeń co do kręcenia i działa na innej zasadzie:podwójny stycznik). Chodzi mi o jakiś program w bascomie lub coś podobnego. Pozdrawiam Jacek
Czesc.! Mam problem chce w Bascom napisac program.ale nie wienm jak. Portc.0=input Portc.1=output Portc.2=output Na Porcie c.0 jest przycisk ,na dwuch kolejnych portach Portc.1 i Portc.2 mam wyjscia Led. teraz : Port c.0 jest aktywny jeden z portow C.1 jest tez aktywny. Na porcie wejsciowym sa liczone impulsy jezeli ich bylo np: 100 to liczenie i wyjscie...
nie wiem czemu ale w bascomie licznik co ileś impulsow dodaje mi impuls "lewy" . // pokrótce// mam czujnik indukcyjny(max 500Hz) który liczy ilość nawiniętej folii , impuls jest co 8 centymetrów - przy około 100 m/min . chodzi mi o dokładnośc nie gorszą jak 0.5% . parametry : procek 2313 kwarc 10 mega timer ,odświeżanie wyświetlacza co 0.5s przerwanie...
Witam, Mam problem z zrealizowaniem za pomocą tylko jednego przycisku funkcji: naciskam - licznik zlicza w górę puszczam - licznik zatrzymuje się naciskam - licznik zlicza w dół puszczam - licznik zatrzymuje się itd... Męczę się nad PWM - regulacją podświetlania LCD, na atmega8, problemu nie widzę ze sterowaniem dwoma przyciskami, ale rozłożyłem się...
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...
Witam. Piszę sobie sterownik temperatury w Bascom '51 i mam problem z przerwaniem. Otóż serce układu to AT89C52 do niego jest podłączony RTC DS1678. Ustawiłem RTC, aby na wyjściu INT generował co sekundę impuls. Podaję ten impuls na wejście INT0 procesora. W obsłudze przerwań dałem ustawienie zmiennej Bit na 1, na podstawie jego inicjuję w pętli głównej...
witam potrzebuje liczyc obroty silnika a dokladnie to chozi mi o sumowanie impulsów z czujnika bo potrzebuje liczyc ile obrotow silnik juz zrobił a nie prędkośc obrotową. chce to liczyc przy pomocy mikrokontrolera AVR (AT90S2313) program chce napisac pod bascom avr. juz troche kombinowałem ale jakos mi to nei wychodzi :cry: czujnik jest taki jak sa...
Witam Zawsze staram się sam rozwiązywać problemy jednak tu poległem. Chodzi mi o pomiar czasu między impulsami. W jaki sposób poradzić sobie z Timerami? Który Timer można użyć do tego i z których wejść mogą być wyzwalane? Z góry dziękuję za pomoc.
witam Jestem poczatkującym programistą w bascomie i mam problem a mianowicie jak nauczyć procesor rozpoznawania za pomocą dwóch pinów portu że ma dodawać obroty a kiedy odejmowac. Koniecznie muszą być dwa pini nie wiecej . Prosze o pomoc i z góry dziekiuje
Alez jest komentarz, ze liczby sa nieprawidlowe. Wklepalem byle co, zeby pozniej sobie dokladne wartosci obliczyc, a nie zawracac sobie glowy duperelami w tamtym czasie. Co masz na mysli piszac "chlapniesz"? Chlapanie tutaj na forum czy w swoim kodzie? :) Hm skoro widzisz jeszce jakies kwiatki, to bede wdzieczny, jesli sie nimi podzielisz ze mna. :)...
A gdzie instrukcja CONFIG TIMER1 = COUNTER?
Nie lepiej zerować przez RS'a zmienną która zlicza impulsy ?
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...
Przedstawię Ci kolego przykład zastosowania Pulsein żebyś miał jaśniej. Myślę że będzie "rzeczowiej". To przykład dla dekodowania transmisji pilotów podczerwieni. Sygnał podłaczony jest do zewnetrznego przerwania INTx i w momencie zmiany na pinie program skacze do tej procedury. Mierzy impuls i poddaje rozwadze jego długość. [syntax=basic4gl]Int_1isr:...
Mozna to zrealizować na dwa sposoby: 1. Za pomocą przerwania zewnętrznego INTx zliczać ilość impulsów. Podobny temat już jest: 2 Zliczać impulsy na wejściu ICR Podobny temat masz poniżej: http://www.elektroda.pl/rtvforum/topic18...
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]https://www.youtube.com/watch?v... Nie obyło się bez problemu , który polegał na zliczaniu bezwzględnym więcej niż 65535 impulsów . Mój wpis z innego...
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 :(
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...
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...
........ chce wykorzystać wewnętrzny kwarc 8Mhz po trzecie czytając helpa jesli dobrze rozumiem to timer1 jest 16bitowy a timer0 jest 8 bitowy emarcus - gdybym chciał wykorzystać twój pomysł to gdybym zostawil timer1 jako counter a jako timer wykorzystał timer0 ktory by zliczał czas w jakim sa zbierane impulsy - jeśli o to ci chodziło i jeśli jest...
Witam wspólnotę chciałbym zaznaczyć że z wykształcenia jestem mechanikiem, a z programowaniem nie miałem wcześniej styczności. Przeczytałem książeczkę która mowiła o programowaniu w jezyku bascom, i stworzyłem taki o to kod programu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config Timer0 = Timer , Prescale = 256 'licznik do odmierzania...
Noise canceller raczej nie pomoże. Można zbudować jakiś prosty filtr RC, albo filtr programowy, ale wtedy i zliczanie musi być programowe. Swoją drogą, po co wewnętrzny pull-up, jeśli masz zewnętrzny pull-down?
Witam, Zależy mi tylko na tym, żeby Arduino zliczał impulsy z kontraktrona do 5 - 1 impuls- świeci się dioda led 1 - 2 impuls zapala się dioda led 2 - 3 impuls zapala się dioda led 3 - 4 impuls zapala się dioda led 4 - 5 impuls zapala się dioda led 5 i dodatkowo daje sygnał ciągły HIGH na pin SILOWNIKA przez cały 5 po 6 impulsie reset i znowu: - 1...
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 wpisujesz to co ma być wykonane. 256 - prescaler 250 - dodatkowe zliczanie wyprzedził mnie bart-projects
R10 jest nie potrzebny Kolega pisze bzdury, bez rezystora przycisk dostaje spore impulsy przeciążeniowe z naładowanego kondensatora. zapewne styki switcha sie skleją od tej pojemności 100n A jeśli chodzi o zliczanie impulsów to używa sie do tego Timera.
Konfiguracja timera '51 jest inna : [syntax=basic4gl]Składnia: CONFIG TIMERx = COUNTER | TIMER , GATE = INTERNAL | EXTERNAL , MODE = 0 | 1 | 2 | 3 gdzie: x0 – TIMER0, 1 – TIMER1, Opis: TIMER0 i TIMER1 mogą pracować jako liczniki impulsów zewnętrznych gdy pierwszy parametr jest ustawiony jako COUNTER. Impulsy zliczane muszą być dostarczane...
Mnożenie można zrobić robiąc programową symulację PLL. Zwykła symulacja wymagała będzie użycia jednego Timera i dość zamotanego kodu. Ale można inaczej. Dwa Timery. Jeden Timer zlicza okres przebiegu. A drugiego ustawia sie żeby zliczał powiedzmy do 1/3 wartości zmierzonej pierwszym Timerem. Taki układ ma już w miarę dobre parametery bo powinien działać...
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 na stos używane rejestry w tym SREG. Możesz też użyc...
Dziękuję Tak to tylko liczenie ilości impulsów, jeżeli w określonym czasie jest ich np. więcej niż 100 to wykonaj coś ... Jak kolego może coś napisać prostego to bardzo dziękuję. Pozdrawiam PS Mam już pomysł, tylko może jest zbyt złożony.
Po długim analizowaniu problemu narodziło mi się coś takiego: 'pętla główna Dim I As Integer Dim Impulsy As Long Dim Sek As Integer Tccr1a = &H00 'ustawianie trybu pracy timera1 Tccr1b = &H0C Ocr1ah = &H7A 'załadowanie liczby 31250 do licznika Ocr1al = &H12 'przykładowa liczba do odmierzania (1s) Tcnt1h = &H00 ' zerowania rejestrów do zliczania...
Przepływomierz na litr podaje 648 impulsów jak napisać kod bascom żeby zliczał litry litry = impulsy / 648 Litry mają być typu single.
Ten sposób też będzie powolny a do tego niedokładny. W sumie doszedłem do wniosku że programowe zliczanie impulsów nie będzie gorsze. Zliczanie 4 impulsów trwa 10us w symulacji programowej. Zauważ że w tym pierwszym rozwiązaniu mnoży się przez 28 a więc dokładność pomiaru jest do kitu. Przy 4000rpm układ zlicza tylko 160 impulsów. Możesz dać Prescale...
ATmega8 posiada trzy liczniki/timery, z których dwa (T0 i T1) mają możliwość zliczania zewnętrznych impulsów, dołączanych do pinów 6 i 11. Wg atmelowskiego pdf'a częstotliwość zliczanych impulsów nie może być wyższa niż połowa częstotliwości zegara ATmegi. Dla bezpieczeństwa i zapewnienia prawidłowej synchronizacji podają wartość fclk/2.5 - co w Twoim...
Witam ! Zastępując fragment programu : 'If Impuls = 0 Then 'Incr Licznik 'Waitms 100 'End If Debounce Pind.5 , 0 , Licz , Sub i dopisując : Licz: Incr Licznik Return Otrzymamy program zliczający pojedyncze impulsy. Pozdrawiam. Stefan
W skrócie : ustawiasz co który impuls zegarowy ma byc zliczany, potem ładujesz do rejestru OCR2 wartosc z którą bedzie porównywał i w momencie zliczenia tylu impulsów ile jest w OCR2 następuje zmiana stanu na wyjsciu OCn... najprzyjemniejszą informacją jest to, że procesor robi to niezależnie od wykonywanego programu ;) wiec nie ma mowy o jakichkolwiek...
zlicza impuls bascom zlicza pomiar zlicza impuls
naprawa regulator model immergas wyświetlane błędy sharan galaxy
reset pieca buderus interfejs lexia
Podłączenie pinów NFR/NFL radia RNS310 do chińskiego radia z CarPlay Impedancja transformatora wyjściowego - kluczowe informacje