...Co bym nie robił... wynik zawsze jest ten sam... Nic dziwnego, bo Bascom ignoruje polecenie Load Timer2 = 178 Zmień na Load Timer2 , 178 'lub Timer2= 256 - 178 i sprawdź :-P
' Trzy przyciski kolejno .... (TSA ;) ' wersja bez przerwań i Timera czas_a as integer ' zmienna czasowa A czas_b as integer czas_c as integer we_a alias pinx.1 ' wejście A we_b alias pinx.2 we_c alias pinx.3 wy_a alias Py.1 ' wyjście A wy_b alias Py.2 wy_c alias Py.3 stan_a as bit ' stan układu monostabilnego A: 0 - czeka, 1- liczy stan_b...
http://obrazki.elektroda.pl/8267947700_1... Ponad 20 lat temu jako amator hobbysta budowałem proste układy elektroniczne. Studia i styczność z informatyką spowodowały, że porzuciłem hobby pod nazwą "składanie elektroniki" na rzecz "składanie programów komputerowych". W bieżącym roku (2011) dzięki uprzejmości kolegi Jacka.M, który okazał...
poza tym dlaczego nie używasz sprzętowych timerów jako timerów tylko do generowania przerwań? Kolego może źle mnie zrozumiałeś ale do ustawiania flagi używam Timer0 i właśnie mnie dziwi dlaczego mi się te czasy nie zgadzają Jak do wyznaczenia czasu używam tego samego timera. Tak wygląda obsługa przerwania u mnie : Timer może zliczać czas wprost i w...
http://obrazki.elektroda.pl/8305155600_1... Witam! Jest to moja pierwsza konstrukcja na forum, więc może się przedstawię. Mam na imię Sebastian, jestem uczniem 2 klasy LO w Kielcach. Projekt, który dziś prezentuję to minutnik pracujący w dwóch trybach (o tym za chwilę). Powstał z potrzeby odmierzania i sygnalizowania danego czasu na...
Witam, chciałbym przy użyciu Atmega8 i zewnętrznego kwarcu odmierzać i zliczać setne części sekund, sekundę mogę łatwo wyłapać z timera1 według przykładowych obliczeń 4000000MHz / 256 = 15625 65536 - 15625 = 49911 lub 8000000Mhz / 256 = 31250 65536 - 31250 = 34286 Nie mam jednak pomysłu jak....... Z góry dziękuję za pomocne wypowiedzi. Aby odmierzac...
Jeśli by to nie przeszkadzało to możesz podpiąć kwarc zegarkowy, wtedy na 8 bitowych licznikach na pewno zliczysz sekundę:)
Teraz myślę nad jakimś fajnym menu do ustawiania czasu. 3 przyciski, pierwszym wybieramy czy ustawiamy godziny, minuty, albo sekundy, a pozostałe 2 przyciski - w górę/dół. Jak to rozwiązać? Ponieważ jest to tylko prosty chronometr (nie stopper) należałby zastanowic się co jest priorytetem w ustawianiu i pomiarze czasu przez ten 'zegarek'. Wszak ta...
http://obrazki.elektroda.pl/8980517500_1... Witam. Dzisiaj po długiej przerwie chciałbym zaprezentować prosty układ który wykonałem już jakiś czas temu (w sumie w innym celu), ale postanowiłem go minimalnie zmodyfikować sprzętowo (dorobienie taśmy ze złączem) i w 100% programowo. Ale od początku... Od czasu przeprowadzenia się do własnego...
Na upartego dało by się z wyjść 4017 dołączać różne rezystory do 555, ale odmierzanie czasów, liczonych w minutach, na obwodzie RC, to nie jest dobry pomysł. Inny pomysł to układ z wieloma wyjściami, o stałym czasie załączenia gdzie, czas świecenia LEDa ustalało by się ilością wyjść do niego podłączonych Ale to są rozwiązania "na upartego" mają wady...
Jeśli chodzi o błędy to jeśli się usunie fragment o który się tutaj pytam to program w miarę poprawnie działa czyli aż tak "koślawy" to on nie jest... Moze troche spokojniej; Uzywasz zmiennej dla ktorej nie deklarujesz jej istnienia i wielkosci: dodaj gdzies na poczatku (w części gdzie masz konfiguracje ukladu) Dim Tim As Word oraz dopisz brakujaca...
Timer0 jest 8-bitowy czyli pomiesci liczbę z zakresu 0-255, Timer1 jest 16-bitowy czyli pomiesci liczbę z zakresu 0 - 65535. Zapewne autorowi chodziło o to aby zrobić to na timerze 8-bitowym, ale Twoje obliczenia tez są dobre tylko dla Licznika/Timera1
Zobacz tak. Napisane specjalnie bez tablic żeby było wiadomo o co chodzi. Dla każdego wyjścia/diody/czy tam lampki definiujesz bajty do jego kontroli. Jeden jest odpowiedzialny za stan, drugi za czas z jakim ma migać, jeśli ma migać i trzeci do odmierzania odcinków czasu. Te zmienne czas mogłyby być stałymi, ale pomyśl że podłączając potencjometry możesz...
Dodałbym, że Bascom odpowiedzialny jest jeszcze za koklusz i gradobicie. 1. M8 musi być ustawiony na pracę z kwarcu zegarkowego - FUSY. Powoduje to napędzanie M8 z generatora wewnętrznego RC 2. Trzeba skonfigurować Timer2, który jest zdolny do asynchronicznego taktowania z kwarcu 32768Hz - polecam helpa Config Timer2. 3. W przerwaniu od timera2 należy...
Niewiem jaki to jest uC, ale uczono mnie ze czasy odmierza sie zazwyczaj timerami.. jesli to byloby to ustrojstwo na '51 nalzezaloby przerwanie 10 ms, zrealizowac na liczniku T2, 16 bitowym w trybie przeladowania. Realizujac odmierzanie czasu na przerwaniu, zawsze masz 10ms odstepy czasu bez bez potrzeby korekcji taktow potrzebnych do kolejnego odmierzania...
A czy w BASCOMie komenda 'wait 1' przy dyrektywie $crystal=<fosc> nie załatwi wszystkiego ?? A jeśli chodzi o precyzyjne odmierzanie czasu to polecam asembler i obsługe timera w przerwaniu. To jest chyba najdokładniejszy sposób. Pozdrawiam.
Ta pętla nie jest konieczna. Dodałem ją żeby przyciski działały cały czas. Bo jak byś napisał Waitms 1000 to przez całe 1000ms przyciski by nie działały. A tak w pętli co raz masz sprawdzenie przycisków i odmierzanie czasu 10ms. Czyli łączenie te 1000ms i tak uzyskasz a przy okazji przyciski będą normalnie działały.
witam odbiornik podczerwieni mam TSOP 1736 jezeli chodzi o progamik ktory powoduje miganie diody Led to dioda miga 30 razy na 30 sekund wiec odmierzanie czasu jest ok. rezonator mam wybrany :Crystal oscillator, fast rising power (1011), na forum wyczytalem ze tak powinienem ustawic
to może wykorzystasz częsc programu która odpowiada za odmierzanie jednej sekundy np dla zwykłego zegarka pozostaje tylko przelicznie dla danego kwarcu. projektów zegarków troche jest. tak sobie mysle ze problem z pomiarem tzn że silniczki maja taką samą prekdkość może byc zbyt krótki czas pomiaru czyli jedna sekunda w czasie której np dla wartości...
Przerwań nie moge wyłaczyć gdyż w oparciu o nie realizuje odmierzanie czasu potrzebne po to by co 0,5ms zapisać liczbę zliczonych obrotów do wewnętrznej pamięci mikrrokontolera. Rozumiem że pracując w BASCOM AVR nie ma raczej alternatywnych rozwiązań(oprócz wstawek asemblerowych), które przyśpieszyły by prace tego modułu? Przy kwarcu 8MHz cykl maszynowy...
no to w czym grzebał jak nie w fusach? Odpowiedź dotyczyła reszty ustawień (Brown-Out itp). Na koniec; rezystory podciągające na liniach SCL i SDA są? Nie, w oryginalnym projekcie (ZL11AVR, ZL2AVR) również ich nie ma. ...czy aby ATMega8 nie ma domyślnie ustawionego1MHz??? Pewnie ma, bo pierwszy program nie odliczał czasu tak jak powinien. Wtedy chciałem...
Po pierwsze masz nieczytelny schemat z błędami. Jak nie zabezpieczysz tranzystorów sterujących przekaźnikami za pomocą diod to spalisz je? Wejście czujnika z stacyjki też bym zabezpieczył diodami, tak na wszelki wypadek. Żeby napisać program dobrze wiedzieć, jakim zegarem taktujesz procesor. Ja bym proponował jakiś mały, np. 4MHz, bo nie ma sensu tu...
Super dzieki, faktycznie teraz troszke lepiej :-) Dobrze rozumiem? I teraz stosując taka wersję: Poprawiłeś tylko 'syntax' , czyli sposób wpisywania wartośc początkowej do rejestu timera. Rachunek zliczania czasu masz jednak błędny !!!! Prz tym taktowaniu (4 MHz) nie masz żadnej możliwości odmierzenia 100ms przez Timer2; nawet przy zastosowaniu maxymalnego...
bez konieczności zliczania przepełnień. Podobnie, odmierzanie czasu 1 sec. stosując Timer1 również nie wymagałoby zliczania przepełnień. Gdybym chciał jednak mierzyć załóżmy do 1kHz to wymaga aby zliczać przepełnienia? Dodano po 30 w złym obliczeniu 1 sek wartość wynosiła 61630, przy prawidłowym obliczeniu wynosi 34 286 uwzględniając czas 1sek, częstotliwość...
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...
Pomocy, programik nie działa. Zrobiłem projekt sterownika do pompy przy piecu i fajnie działa (zresztą jest na forum). Ale skończyły mi się procesory z zapasów i kupiłem nowe. O tych z TME pisałem ale wczoraj byłem na giełdzie i zrobiłem zakup. Wszyscy mieli takie same jak z TME (co padały po 2-3 programowaniach) ale jeden miał tanio z demontarzu sprawne....
Na początku witam wszystkich. Mam pytanie dotyczące możliwości zaprogramowania układu logicznego np: AT89C2051 24PU Atmel. Mam pomysł na pewien projekt niestety nie mam pojęcia jak go zrealizować i tutaj proszę o pomoc. Napisałem program w języku FBD (znam tylko ten wiem ze mogę go zamienić na LD bądź STL np: w step 7) realizujący pewną funkcje logiczną....
Wysyłanie i odbieranie RC5 jest w Bascom kodowane automatycznie. Manchesterem swoje dane musisz więc zakodować sam. Poniżej masz wersję którą mam jeszcze w planie dopracować więc nie myśl o niej jak o finalnej. na pewno można coś poprawić. Po skopiowaniu ten kod powinien znajdować się w tym samym folderze co Twój kod. [syntax=basic4gl]$nocompile ' send_by_air...
Witam. Jestem w trakcie budowy wzmacniacza na el84 i z racji, ze mam nowiutkie wyświetlacze OLED 4*20 chciałem je wykorzystać do uatrakcyjnienia wzmacniacza. Planuję prosty sterownik który po włączeniu włącza żarzenie, z opóźnieniem anodowe. Gdy się włączy wyświetla czas pracy wzmacniacza. Wyłączenie polega na odłączeniu napięcia anodowego i z opóźnieniem...
Program działa i nawet licznik się zatrzymuje tylko jaką mam pewność że jest to 250ms? chodzi mi o to żeby uzyskać jak największą dokładność. Dzięki za ten przykład, spróbuję... Nie wiem dokładnie , do czego Ci to potrzebne ale przykład z przerwaniem , który podałem wcześniej działa z dokładnością do ~2 cykli zegara(500)ns.Czy to niezbyt dokładnie...
przerwanie timera wpływa na polecenia z rodziny Wait - powodują one, w zależności od częstości wydłużenie czasu oczekiwania, dlatego trzeba w takim wypadku odmierzać czas używając timera ;-)
...Proszę o jakieś podpowiedzi bądź kawałek kodu co ma być dalej, żeby generować te nieszczęsne 40kHz ... To już wszystko :) Na pinie PB1 masz przecudne 40kHz , jeśli faktycznie procek jest popędzany 8MHz. W ramach testu , możesz w pętli głównej napisać: Do Set Tccr1a.com1a0 'dołącz oc1a do pinu Wait 5 'przez 5 sekund fala 40kHz Reset Tccr1a.com1a0...
Witam Mam oto taki problem jak ww w temacie. Napisałem program na odmierzanie czasu przerwanie co 1 sekundę i ogólnie po wgraniu programu wszystko działa czas leci i jest wszystko OK. Lecz po chwili a Nie ma potrzeby az tak komplikowac tak wyjatkowo proste zadanje jak odmierzene czasu 1 sek. Po pierwsze: system ci sie blokuje juz po kilku sekundach...
Kod wydaje sie ok, przy czym moje walki z odmierzaniem czasu mowia ze trzeba brac poprawke na Bascoma /i to duuuza/. Sprawdzilem pod symulatorem (Bascom) i program dziala, w realnym procku pewnie czasy sie rozjada.
Zacznij od tego: funkcja wait i pokrewne PRZESTAŁY ISTNIEĆ. Do opóźnień i odmierzania czasu użyj timera i ogólnie poczytaj o timerach.
Ogólnie kwarce o wysokich częstotliwościach są niezbyt dokładne - zwykle +-100ppm w dobrym układzie. Na pewno jednak kwarc jest lepszy niż wewnętrzny RC. Robiłem kiedyś testy i na kwarcu 16MHz bez kalibracji udało się osiągnąć dokładność o ile pamiętam 1-2s na godzinę. Ale jak napisał Ci (może nie do końca) przedmówca (at)Milek7: Najlepiej wtedy w przypadku...
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.
Instrukcja WAIT Przeznaczenie: Przerywa działanie programu na określony czas. Składnia: WAIT il_sekund Opis: Instrukcja wstrzymuje działanie programu na podaną ilość sekund. Odmierzany czas jest wartością przybliżoną, więc nie należy stosować tej instrukcji do dokładnego odmierzania czasu. Używanie przerwań, może znacznie wydłużyć działanie instrukcji....
Tyle że kolega chciał w Bascomie :). Polecam help do bascoma. Konfigurujesz timer, uruchamiasz go i gdy zliczy pewną ilość impulsów wywołuje przerwanie.
Witam Dim Licznik As Byte Config Timer0 = Timer , Mode = 1 , Gate = Internal Enable Interrupts Enable Timer0 On Timer0 1ms Counter0 = 64535 Start Timer0 Do Loop 1ms: Counter0 = 64535 Start Timer0 Incr Licznik Return A wynika to z tad:czestotliwosc kwarcu (w tym przykladzie-najprosciej,moze byc inny)wstepnie dzielona jest pzez 12 (wynika to z budowy...
Wspominałeś o książkach, więc w książce Pana Wiązani "Programowanie mikrokontrolerów AVR w j.BASCOM" na str.159 jest przykład odmierzania 1 sekundy.
Zamiast przerwania od Timera0 odmierzaj czas Timerem1.
Tak, wiem, ale T0 zlicza impulsy drogi, a T1 odmierza czas :)
W skrócie zajrzałem do noty katalogowej i dowiedziałam się, że do MEGA 16 można podłączyć 2 kwarce. Końcówki to XTAL1 i 2 oraz TOSC1 i 2. Należy pamiętać, że z końcówek TOSC1 i 2, do których można podłączyć kwarc zegarkowy można sterować asynchroniczny timer2, który należy zatrudnić do odmierzania czasu. Do XTAL1 i 2 podłaczysz sobie kwarc o wysokiej...
Zegar na Timer0 ruszył, natomiast PWM jest zrobione na Timer1. Przyczyną nie działania Timer0 to procedura RC5(!!??) Teraz tylko pozostało wyregulować odmierzanie czasu..
Nie odpisałeś mi na wszystkie pytania??? :sm9: Ja bym zajął się teraz czujnikiem temperatury, przynajmniej główny ekran nie będzie taki pusty i kijowy. Jak ustawianie godzin chodzi to z RTC damy na razie spokój? To najtrudniejszy chyba w programowaniu układ i zostawiłbym go na koniec, lub w ogóle z niego zrezygnujemy? Bo tak na prawdę nie jest on potrzebny,...
Po dodaniu rezystorów podciągających działa już wyświetlacz i dioda:) Jednak dalej układ nie odmierza czasu
Próbuję uruchomić programowy zegar w Bascom na arduino Mega 2560 Kompiluje się bez problemu ale niestety nie działa. Jakiego 'działania ' się tu spodziewasz? -ma poruszac wskazówki, czy też wskazywac czas na dysplay leżącym w szufladzie? - a może przekładac kartki kalendarza? Nie bardzo będziesz mógł uruchomic 'Bascomowy- softwarowy' zegar na Arduino...
Witam od jakiegoś czasu próbuję w Bascom napisać zegarek (lub coś co precyzyjnie odmierza czas), ale niestety nie wychodzi mi to, mógłby mi ktoś pomoc udzielić wskazówki bo już sie powoli gubię
Co rozumiesz pod pojęciem impuls, bo może to przybliżyłoby nam, co chcesz osiągnąć ? Najprawdopodobniej będziesz potrzebował obsługiwać przerwania OnCompare1A , w których raz włączysz pin, drugi raz go wyłączysz i ustawisz inne odmierzanie czasu.
odmierzanie czasu odmierzanie czasu stm32 timer1 odmierzanie czasu
lumix instrukcja statystyka poboru prądu oświetlenie mosfet
regeneracja obudowy radia regeneracja radia
Parametry tranzystora A1860 (2SA1860) - szczegóły techniczne i zastosowania Paski na obrazie kamery: przyczyny i rozwiązania