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...
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...
Witam Można też wyjść poza stare AVRy i użyć nowszych, XMEGA Potrzebuję mały tani uC, który wybudzi się dokona pomiaru na ADC, wyśle pomiar i znów się uśpi. XMEGA to przypuszczalnie strzelanie z armaty do muchy. Czy ja wiem czy taka armata, obejrzyj rodzinę Xmega D4 w TQFP44, wcale nie taka droga (w TME ~10zł), a ma wszystko co potrzebujesz (RTC odlicza...
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?...
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ę...
Siemanko. Nie jestem, koledzy zagorzałym fanem Bascom, tylko go po prostu trochę znam. Zaopatrzony w lekturę zgłębiam teraz C i pomyślałem, że to będzie fajne ćwiczenie :D Napisałem to sobie w Bascom ekspresem i wygląda to tak https://filmy.elektroda.pl/65_1422227481... Nie chciałem takiego dużego okna tu wstawiać, ale zastosuje się do polecenia :P...
Zainteresuj się funkcją Input Capture Unit - opis oraz przykład dla C: http://mikrokontrolery.blogspot.com/2011...
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...
Niestety nic to nie dało, problem następuje na samym początku, zaraz po wykonaniu pierwszych procedur, czeka jakies 2 minuty a potem odlicza prawidłowo. Najciekawsze jest to ze ja ten program już kiedyś napisałem, tyle że był on na płytce stykowej a teraz jak przeniosłem to na płytkę drukowaną, musiałem pozamieniać porty i wszystko się popsuło. Muszę...
Witam. Zapis (składnia) Load Timer1 jest zły. Sprawdź w pomocy Bascoma.
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...
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
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)
"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
Witam mam taki mały problem z tym kodem... Nie wiem za bardzo jak do tego podejść. Działanie: 1. Przytrzymaj kilka sekund Przycisk - Wtedy uruchamia się procedura rozjaśniania. 2. Gdy puścimy przycisk i znowu naciśniemy, bądź przytrzymamy procedura rozpoczyna się od nowa czyli przyciemnianie i rozjaśnianie ... A powinno być tak: 1. Aby po przytrzymaniu...
Na pinie 3 mam dokładnie 3,28 (bateryjka pastylka CR2032). Obyło się bez kondensatorka. I się okazało ,że zamiast na linię sda dać opornik to ten opornik dałem na linię sqw . Teraz już śliczne odlicza czas. Dzięki za pomoc. Tematu jeszcze nie zamykam , bo niewątpliwie będę miał jeszcze jakieś pytania odnośnie ds'a lub czegoś innego .:)
Witajcie. Chcialbym ulozyc sobie kilka spraw i prosze o sprawdzenie moich przemyslen. Rzecz dotyczy ukladow RTC DS1307, ATmega8 i Bascom. 1. Swiezy uklad trzeba zainicjowac ustawiajac 0 bitu 7 z rejestru 00H. 2. Jezeli chce zeby uklad odliczal czas w trybie 24 godzinnym musze ustawic bit 6 rejestru 02H na 0. 3. Po zaniku napiecia zasilajacego uklad...
1. Nie mam pojęcia skąd wytrząsnąłeś instrukcje Rotate, może się podzielisz. 2. For sam robi inkrementacje więc I = I + 1 nie potrzebujesz 3. W związku z powyższym nie potrzebujesz tego Do Loop 4. Przy pętli For I = 7 To 0 potrzebujesz dodać Step -1 inaczej nie wykona żadnego kroku 5. Nie musisz drugą pętle kręcić odwrotnie przecież tylko odlicza ilość...
Witam mam taki programik w bascom który odlicza mi od 0 do 99 chciałbym zrobić to na trzy cyfry a nawet więcej oto on $regfile = "attiny2313.dat" 'najpierw określamy typ proca $crystal = 1000000 'definiujemy z jakim taktowaniem będzie pracował 'definiujemy z jakim taktowaniem będzie pracował Dim Jedn As Byte , Dzies As Byte Dim Ktorywys As...
wader kod od ciebie nie działa , od macka działa po mojej modyfikacji działa pięknie :D (cały czas testuje i chodzi ok) Teraz chce zrobić sterować przekaźnikami czasowymi też tym samym przyciskiem jak by ktoś pomógł byłbym bardzo wdzięczny ma działać tak : -naciśnięcie przycisku chwyta 1 i 2 przekaźnik i 1 odlicza czas od 0-20 sek następnie rusza silnik...
udało mi się zrobić że po włączeniu są same zerowa a problem tkwił w tym że nie dodałem rezystorów podciągających CDA i SCL, ale w schematach które posiadałem nie było takich. Teraz problem tkwi w tym że zegar nie odlicza czasu, jest już taki post, ale nie ma rozwiązania tego problemu, wiesz może czemu tak się dzieje? Próbowałem już prawie wszystkiego,...
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....
Mam pytanie do kolegow po zaprogramowaniu proca programem zamieszczonym wyzej jest wszystko ok tylko zakres mierzonej temp. konczy sie na +32 st potem odlicza w dol ze znakiem - ja sobie poradzilem ale musialem wykopac cale obliczenia T1 i T zostalo tylko T= T*5 temperatura = T/10 i dziala w pelnym zakresie temperatur od -35 do 100 tyle udalo mi sie...
Wykonałem prosty "odmierzacz" 2 minut do opiekacza kanapek w obudowie minutnika mechanicznego ( 8 zł z hakiem ). Układ włączany jest przyciskiem chwilowym. Fakt odliczania czasu sygnalizuje pulsująca dioda LED. Po 2 minutach następuje wyłączenie przekaźnika i włączenie buzerka na 5s, a urządzenie przechodzi w stan czuwania. Łatwo dostosować go do Twoich...
Dziękuję za odpowiedź, ale racji tego, że nie podałem wartości rezonatora to zrobiłeś to od końca i nadal nie wiem skąd wzięły się poszczególne liczby. Muszę to w końcu zrozumieć bo inaczej nic z tego a wszelkie książki wcale mi tego nie ułatwiają. Zacznijmy od początku te obliczenia. Będę zadawał pytania na poszczególnych etapach - ok? 1. Timer0 potrafi...
ok czyli taki programik powinien działać? $regfile = "m8def.dat" $crystal = 4000000 Config portd = input Config Portb = Output 'lcd display Const Timer1reload = 62500 ' tyle tikow zegara potrzeba dla 1 sec. Config Timer1 = Timer , Prescale = 64 Dim Czas As Byte load timer1 , Timer1Reload on ovf1 Timer1_isr enable timer1 start timer1 Enable...
A nie wystarczy tylko mieć program dla AVR 2 wyjścia tranzystorowe ? jeden trzyma migawkę w trybie BULB a drugi odlicza czas pomiędzy kolejnym wciśnięciem. Wyjścia te na optoizolacji. i Wyświetlacz LCD by było wiadomo co sie nastawia... Na pewno pomniejszymy gabaryty do minimum. Co wy na to ? Myśle o wykorzystaniu układu oraz obudowy Alkomatu http://peugeot.sh4dow.pl/alkomat.jpg...
Witam kolegów serdecznie tuż przed świętami. Piszę program realizujący pomiar temperatury i zapisujący uzyskane dane do pliku zlokalizowanego na karcie SD. Powoli wtrącam timery zamiast wait(). Mam w sumie trzy problemy. 1) Formatuje uzyskane dane przez zapisem do pliku. Niestety nie wiem jak w stringu zamienić kropkę na przecinek i dopiero taki format...
Witam Zmowu timery :) Zrobilem sobie timerek, ktory ma odlicza czas do 24h i testuje go. W czasie testow zauwazylwem ze puzni sie kilka (ok.5) sekund na minute. Przejzalem posty na elektrodzie i nie moge nic wymyslic. zaladowana do timera wartosc dotyczy kwarcu 11.0592, ale probowalem wyliczyc dla innych kwarcow i wzzkazania byly jeszcze mniej dokladne....
Kolego nowynom Twój poprawiony kod również nie zawiera etykiet :) aczkolwiek wygląda można powiedzieć wzorowo :) A tak nawiasem, czy nie łaska sprawdzić na symulatorze ? Napisałem tego posta w akcie desperacji po lekturze helpa, innych postów i wygooglowaniu wszystkiego co możliwe. Mam podpięty układ pod kompa i przelewam moje wypociny na bieżąco do...
Czy można słów kilka o konstrukcji karmnika widocznego na zdjęciach? Jak Obsługujesz ds18b20? Sprawdzasz CRC? Jak reaguje sterownik po odpięciu poszczególnych pinów czujnika? Kolego karmnik to tak naprawdę to urządzenie http://obrazki.elektroda.pl/3445746800_1... modyfikacje z mojej strony to: zmniejszenie obudowy i wyrzucenie przycisków....
Racja. Do tego typu obliczeń są potrzebne większe procki. Wracając do tematu licznika. Stworzyłem już kod, który odlicza czas i zlicza naciśnięcia(maksymalne wychylenia). Nie mogę dojść do sposobu jakim mam obliczyć resztę. Nadal ufam,że jeszcze na ATtiny uda mi się to zrobić :) Wzór G = k * l/T^2 gdzie k tam stały współczynnik 39,44 l - długość, zakładam...
Zaprogramowalem procek. Oto spostrzezenia. Zegar odlicza poprawnie czas, ustawienia godziny dzialaja poprawnie. Wystapil natomiast problem z miganiem kropki oddzielajacej jednostki godizn od dziesiatek minut. Powinna ona zapalac sie na sekunde, a potem gasnac na sekunde. Jednak okazuje sie, ze w trakcie sekundy, w ktorej powinna sie swiecic, ona migocze....
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...
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.
Atmega 8 wystarczy. Jeśli chcesz kolego liznąć tematu mikrokontrolerów w sposób bezbolesny, polecam książkę Marcina Wiązani o tytule bodajże "Programowanie mikrokontrolerów w języku Bascom" - jest tam m.in. opisana obsługa wyświetlaczy 7dmio segmentowych z multipleksowaniem i nie. Jeśli zrobisz kilka przykładowych układów z tej książki, to z tematem...
Witam, Poniżej zamieszczam kod - przedstawia on sterowanie multipleksowe 7-seg wyświetlaczem LED - jest to lekko przerobiony kod z popularnej i znanej każdemu książki. To nie jest tak, że to ma być stoper - po prostu chciałem fragment tego kodu wykorzystać do innych celów, ale jest pewien problem. Otóż poniższy kod sprawia, że po uruchomieniu na wyświetlaczu...
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...
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]
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...
Przyciski - DEBOUNCE Odliczanie - CONFIG TIMER i przerwania.
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...
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. ...
Rozwiązanie padło wyżej, temat zamykam.
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ąć...
Tak, ale przecież w pętlach zmienia się zmienna A od 1 do D lub E. Pętla For A=1 to D jest rosnąca, jeśli chcesz żeby A malało to musisz użyć "For A=1 downto D" lub "For A=1 to D step -1". A może np. tak: Ppp: If Portc.0 = 0 Then Incr A If Portc.0 = 1 then Decr A Lcd "pokaż";A Wait 1 Return
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ć.
Na początek powiedzmy że podłączysz jeden taki wyświetlacz bezpośrednio do portu P1 przez rezystory a wspólny do plusa. dim odliczacz as byte odliczacz=9 do p1=lookup(dane_wyswietlacza,odliczac... wait 1 if odliczacz>0 then decr odliczacz loop end dane_wyswietlacza: data 121,128,254.....itd w polu data trzeba podać liczby (0..255) odpowiedzialne...
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 :)
odlicza minuta bascom bascom odlicza timer bascom odlicza impuls
canon drukować raport płyta grzewcza ariston ściągacz łożysko odkurzacz
suszarka elektrolux suszarka elektrolux
Mercedes Sprinter 412 - Kod usterki 5249 - ABS, ESP, DPF Mercedes Sprinter 412 - Kod błędu 5249 - Diagnostyka