Mam napisać program : -po naciśnięciu klawisza klawiatury matrycowej dioda będzie migała co sekunde ale mam co zrobić wykorzystując przerwania timera sory mistrzu ale sam napisałeś że chcesz taki program więc nie mniej teraz do nikogo pretensji że coś innego sobie teraz wymyśliłeś
1. Pierwsze pytanie: Jak za pomoca timera w atmedze8 odmierzyc jedna sekunde przy kwarcu 7,3728Mhz? 2. Drugie pytanie: Jak najlepiej zrobic multipleksowanie na 4 wyswietlaczach 7 segmentowym ?. Chcialbym zeby ich czestotliwosc wynosila kolo 50Hz dla jednego czyli 200Hz dla wszystkich. Czy ma ktos gdzies jakies przykladowe funckje do obslugi wyswietlaczy...
Przetestuj ten. Tak go poopisywałem, że aż mi się nie podoba :D [syntax=basic4gl]$regfile = "m8def.dat" $crystal = 8000000 $hwstack = 40 $swstack = 16 $framesize = 32 '# wyświetlacz Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Cls '# timer ' 8000000Hz(8MHz)/256(Prescaler)=...
Troche siedziałem nad tym i nie moge sobie poradzić z napisaniem tego programu. Włączam timer na sekunde i nie wiem w jaki sposób to ma liczyc ( w przerwaniach?) a jezeli podczas wysylania danych do wyświetlacza nastąpi przerwanie? prosze o jakiś przykład w C.
Możesz użyć timera z przerwaniem co 1 sekunde i w evencie sprawdzać czy coś przyszło. http://www.dotnetperls.com/timer
Jesli dasz prescaler 64 to okolo 2 razy przepelni ci sie timer czyli 2 razy na sekunde wywali ci przerwanie.... dlasz szybszego oliczania wrzucam programik.
ok, dzięki za wyjaśnienie. Tym razem spróbowałem to samo z CTC. I jak zwykle coś schrzaniłem... [syntax=c]#include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> ISR (TIMER1_COMPA_vect) { PORTC ^= 0x0F; //zmiana stanu 4 młodszych diod co sekundę } void ini(void); int main(void) { while(1) { PORTC ^= 0xF0; //zmiana stanu...
chcesz gotowców czy sam coś zbudować. jak gotowców to polecam google na początek. jak robisz to sam to zacznij od dobrania kwarcu w taki spoób aby była możliwość dobrania tak preskalrów aby szło uzyskać przerwanie timera idealnie co sekunde. reszt ato już pikuś.
najlepiej zaprzęgnać procesor napisać soft wykożystujacy timer generujacy przrwanie np co sekunde i zrobić licznik liczacy te sekundy od tyłu np od 99:99:99 (gg:mm:ss) i już masz Pozdro
To co zamieściłem powstało w oparciu o tą stronę. Więc nadal nic to mi nie daje. Nadal nie wiem jak skonfigurować timer aby zliczał impulsy na sekunde a potem zerował wartość. może chociaż ktoś mi powie czy to co napisałem ma jakikolwiek sens.
Witam Musze w czasie jednej sekundy (ewentualnie 0,5s) zliczyc ilosc impulsow podawanych na dwa porty UC. Zastanawiialem sie nad uzyciem do tego Timera_1 tylko nie wiem czy mozna go wykorzystac podobnie jak do pracy w trybie PWM (dwukanalowym). Ewentualnie moze jest jakas inna mozliwosc. Spodziewane paczki impulsow w granicyi od 1 do 1000 na sekunde.
Chciałbym wykonać coś nie zbyt skomplikowanego na Arduino , dla domu macie może jakieś propozycje? Może być coś z led Potrzebujesz gotowy program, czy brakuje ci konceptu?.... Jeżeli to jest początek nauki programowania, to zamiast projektów praktycznych dla domu, raczej ogranicz się do prowizorycznych/nie trwałych 'projektów' czyli zwyczanych cwiczeń....
Wydaje mi sie, ze jeśli masz kwarc 16MHz i chcesz odmierzać 1 sekunde na timerze 8bit, to nie dasz rady tak łatwo. Lepiej jest odmierzać wtedy powiedzmy 1000Hz, co daje preskaler 64 i 250 cykli dla trybu CTC, a potem w przerwaniu dla TIMER0_COMPA inkrementować jakąś zmienną co 1 az do 1000. Wtedy uzyskasz 1 sekunde. Ewentualnie preskaler 256, 250 cykli...
if(liczba++==118) bo wynik dzielenia nie jest przeciz bez reszty dlatego nie jest to dokladne. Powinno byc: 8000000/256/250/125 = 1 sek oczywiscie dzielenie jak leci i tu nie ma reszty co powinno dac ci dokladnie 1 sekunde.
To właśnie zostało uruchomione - musi działać. Pisane pod WinAVR [syntax=c] #define SET(port, bit) port|=(1<<bit) #define RESET(port, bit) port&=~(1<<bit) #define NOT(port, bit) port^=(1<<bit) //Przerwanie wywolywane 100 razy na sekunde ISR(TIMER1_COMPA_vect)// == SIG_OUTPUT_COMPARE1A { NOT(PORTD,PD6); } int main (void) { SET(DDRD,PD6);...
nie wiem co u ciebie jest nie tak, ale u mnie w mode 1 w symulacji jest wszystko w pozadku tzn. widac jak sie zmieniaja TL1 iTH1. Nie moge tylko obliczyc jaka wartosc zaladowac do timera, aby wyliczal mi 1 sekunde. Doswiadczalnie zauwazylem ze moj program puzni sie 3 sekundy na minute! Co zrobilem nie tak. Pozdrawiam
Myślę, że najlepiej usyawić TIMER tak, aby co sekunde wywoływał podprogam zmieniający zawartość wyświetlacza. Chociaż, jak tak teraz myślę, to zły pomysł :D, bo możesz nie trafić i sekundy zmienią się co np. dwie. Może przerwanie INT które wywoła program przy zmianie na wejściu, np. z PCF.
Ewentualnie daj goldpiny krawedziowe od spodu ;-) No i elegancko juz mam swoj zegarek skalibrowany :] Powinien byc baaardzo dokladny. Gdyby kogos interesowalo liczenie tego czegos: Podlaczony kwarc ma 3.2768MHz, PIC dziala z czestotliwoscia 4x mniejsza niz podlaczony do niego rezonator, czyli wykonuje: 4 / 3.2748MHZ = 819200 operacji / sekunde Prescaler...
No wiec sygnal 40khz spokojnie mozna odbierzyc za pomoca timera;) ale tylko piszac w asm, w C procedura obslugi przerwania jest zbyt dluga, no a sekunde(a jednak:):) ) chyba zdecydowanie na timerze najlepiej odnierzyc:)
Bez problemu mozna zrobic obsluge klawiatury matrycowej, LCD, RS, ADC na jednym timerze + petla glowna a efekt sekwencyjnego wywolywania kodu jest i tak niewidoczny dla uzytkownika. Jak chcesz migac 3 diodami, np. 1 co sekunde, 2 co dwie sekundy, 3 co trzy sekundy to bez problemu zrobisz to na timerze wywolywanym co sekunde. A i tak jest to przerost...
proponuje zrobić to w przerwaniu. w pętli głownej wstawić tylko Call pilot() a w przerwaniu timera Call komunikacja() i Call kontrola() do tego jedno mozna dać w if co 30 wywołan przerwania. przerwanie należało by ustawić co sekunde. na temat przerwania timera było juz sporo na forum, poszukaj.
Chcialem uzyskac przerwanie co 1 sekunde aby zwiekszyc tylko zmienna sekundy do odmierzania czasu. Ale mikrokontroler jak sie okazalo resetuje mi sie co sekunde gdy tylko nastapi przerwanie. blad w programie? pomóżcie prosze. z gory dziekuje! #include "hd44780.h" #include <interrupt.h> // funkcje sei(), cli() #include <avr/io.h> // dostęp...
? nie wiem co to za koslawy kod. Po 1, nie uzywa sie goto. 2, Ja na twoim miejscu bym uzyl timera 2 w trybie asynchronicznym, z zegarkowym oscylatorem. Ustawil przerwanie z timera na 1 sekunde. Pozniej w przerwaniu dodal bym zliczanie do 30 sekund. Gdy nie ma 30 Sekund osiagnietych flaga=0, gdy jest powyzej 30 flaga=1. Przycisk 1 by startowal odliczanie...
Jak w temacie. Podłączyłem do atmegi kwarce 32768Hz, Ustawiony jest tylko fus CKOPT (dołącza wewnętrzne kondensatory do kwarcu), CKSEL nie ruszane (powinny być 1001 ale takie ich ustawienie zawiesza procka, jest więc wartość domyślna 0001 czyli wewnętrzny RC 1MHz). Program działa ale nie moge wyregulować timera tak żeby odmierzał sekunde. Postanowiłem...
na bascomie sie za dobrze nie znam, timery mam juz wykorzystane w programie tak: Config Timer0 = Counter , Edge = Rising Config Timer1 = Timer , Prescale = 64 Config Timer2 = Timer , Prescale = 1 napisales by ustawic timer tak by odliczal sekunde ale nie wiem jak to zrobic(?) i dlatego nadal szukalem prostszego rozwiazania... moze da sie cos wykompinowac...
Użyj kwarca zegarkowego do napędzania i bateryjek dwóch albo może nawet jednej:) Sprawdż jak to będzie działać, jak rozumiem to ma tylko co kilka godzin coś zrobić... usypiasz na sekunde budzi go timer, sprawdzasz czas, wszystko na kwarcu 32768Hz, i przerwaniach na zasilaniu około 2V itd... powinno długo działać:)
usiadz chwilke i pomysl! wyobraz sobie ze procesor to TY, masz na rence zegarek(DS1307), na codzien chodzisz do szkoly jesz, biegasz, grasz w pilke piszesz "glupoty" na elektrodzie ;) i teraz powiem ci tak. 1. Zeby wiedziec ktora godzina to mozesz ciagle patrzyc na zegarek i nic w zyciu innego nie robic :)(program glowny to tylko czytanie i wyswietlanie...
Na pojedynczym uC robil bym tak: przez sekunde liczyl impulsy - bez przerwan, na wejsciu timer/countera. Po sekundzie prepisywal wynik do zmiennej, wylaczal licznik i wyswietlal zmienna na LCD. Potem wlaczal i resetowal counter i znow mierzyl przez sekunde i tak w kolko...
To jest proste jak świński ogon :D ahahahaha, ale napisz kawałek kodu. Czy masz tam jakiś LCD czy nie, czy masz tam jakiś Timer ustawiony do odmierzania sekundy czy Wait`ujesz :D Czy w dokumentacji czujnika pisze, że nadaje tez na końcu niewidoczne w terminalu znaki 13 lub 10? EDIT: aaa masz tu taki prosty. Napisałem przy śniadaniu więc błąd mógł się...
mozesz sprzetowo liczyc impulsy zewnetrzne i co sekunde je "parametryzowac" i zaczynac od nowa... mozesz tez generowac przerwanie INT i w nim inkrementowac zmienna, dodatkowo zrobic timer ktory bedzie co sekunde odczytywal zawartosc zmiennej i ja zerowal.... 1. ustawic np. timer0 na TIMER jednosekundowy: -prescaler 1024, kwarc 16MHz. -timer0 = 157...
Nie wychodzi :( Niby liczy ale sekunda to to nie jest. Kwarc ma częstotliwość 11,059 Mhz To w takim razie ile trwa ta "sekunda"?? jak to sprawdzasz?? ja jak wpisałem częsc tego programu odpowiedzialną za odmierzenie czasu to sekunda trwała sekunde... Napewno dobrze skonfigurowałeś timery??
Ok. Kupię i sprobuje. Dziękuję za pomoc. Dodano po 3 Tylko bedzie chyba problem ,bo on odlicza co 1 min. A potrzeba 10 -30 sek. Dodano po 4 Chyba znalazłem co sekunde. Alliexpres. D dzięki
oto jak ja to rozumiem: rezonator podlaczony do mikrokontrolera ma 16MHz wiec 16 milionow razy tyka na sekunde wiec jedno tykniece trwa 1/(16000000) sekundy at89s52 na kazda operacje (czyli podniesienie timera o jedne) zzera 12 tykniec wiec efektywna czestotliwosc = freq/12 = 1.(3) MHz = 4/3 MHz wiec musi tyknac TIMER (nie kwarc) 1.3 miliona razy zeby...
No wlasnie, tylko czemu zmiana na wyswietlaczu nastepuje co 1 sekunde?. Jak nie ustawiam load timer to czas miedzy zmianami jest ten sam. Rozumiem ze timer1 jest 16bitowy zlicza do 65536. Ile nie ustawie load timer1 = 250 czy 65100 to zmiany nastepuja w podobnych odstepach czasu. A ja potrzebuje uzyskac rowno 100ms na przerwaniu
Witam Mam problem. Pracuje na visual c++ 2006. Utworzyłem zdarzenie timer ID_TIMER i uruchamiam go opcja SetTimer(ID_TIMER , 1000 , NULL) w funkcji OnInitDialog(). Do timera dołożyłem funkcje OnTimer(idEvent) w ktorej wywołuje progressbar. Problem polega na tym ze timer nie pracuje mi w tle co sekunde tzn. progrescbar nie zmienia sie. Po uruchomieniu...
Chodzi o pisk nadawany przez radio :) Konkretnie to ma być coś w stylu lokalizatora, Będzie odbiornik z anteną kierunkową i jak będę słyszał sygnał to znaczy że mam iść szukać w danym kierunku. Tak sobie myślę, że to chyba dałoby się zrobić powiedzmy na timerze ne555, żeby np. co sekunde załączał nadajnik.
Dopiero uczę się pisać w bscomie, a o tym ponownym ładowaniu timera pisało w pomocy. Timer przeładowuje się 125 razy na sekundę. Dodaje przeładowania timera i kiedy mam 125 dodaje 1 sekunde. To że wewnętrzny oscylator jest niedokładny wiem, ale aż takie przekłamania chyba nie powinny wystąpić.
tzn że jak licznik się "przerwie" to załaduje w siebie zero i napewno nie będzie to chodziło jak ma tj co 1 sekunde. ZbeeGin napisał o czym zapomniałeś.
Wlasnie wyjałem baterie podtrzymujaca czas i chyba ds1307 zdechl Czy wyzerowałeś bit CH? Program się nie zmienial wcale. Baterie mialem wlozona jak uruchamialem plytke tzn ja zaczynalem oprogramowywac i raz zle napisalem program, ktory w petli while non stop odpytywal DSa (pewnie kilka tysiecy razy na sekunde) i z tego co wyczytalem, to to, ze DS mogl...
Witam! Chciałbym napisać program na mikrokontroler dsm51 w którym to sterowanie diodą test odbywać się będzie za pośrednictwem timerów. Mianowicie program ma wyglądać w ten sposób że po uruchomieniu go dioda świeci się przez sekunde i sekunde sie nie świeci potem 2s sieci i 2s nie potem 3s swieci i 3s nie i tak analogicznie do 255 i zapętlić to aby...
Witam Do tego celu można dojść za pomocą timra i przerwań. Po prostu w momencie wciśniecia przycisku , puszczasz w ruch timer. Jeśli zliczy powiedzmy sekunde to zapala Ci jedną diode, jeśli doliczy do 5 sekund , to zapalasz inną. Oczywiście musi być to tak zrobione żeby procek nie czakał az naciśniesz przycisk. Po prostu po wykryciu zmiany przycisku...
Witam, .......... Czy arduino uno posiada może wbudowany licznik który działa niezależnie od programu? Tak aby przerwaniem co sekunde mógłbym sprawdzać jaka jest wartość w liczniku który liczyłby impulsy? TAK! Arduino posiada ich trzy, funkcjonujące totalnie niezalenie od wykonywanego programu, z pewnymi jednak warunkami lub ograniczeniami. Są to :...
mozna to rozwiazac na kilka sposobow... jeden z nich: to zalezy jak odmierzasz sekunde, jesli masz timer ustawiony np na 0,2 sekundy i w przerwaniu timera zliczasz liczbe przerwan, to mozesz skanowanie klawiatury wrzucic w obsługe przerwania, wtedy na kazdym przerwaniu bedzie to odczytywane jako jedno wcisniecie klawisz, wiec jesli masz timer na 0,2...
piotrva rozumiem, że mówisz o obsłudze w timerze? Zliczać ilość przerwań, tak samo jak w liczniku powyżej? Jak duża ma być ta liczba, o której mówisz? Cykli timera jest 150 na sekunde. Czas drgania styku(wg. deklaracji producenta) to około 20us. Toż to najgorsza możliwa rzecz - opóźnienie w przerwaniu! To zbrodnia dla programu! Wiem, że tak się nie...
Wlasnie dlatego stosuje sie przerwania, jak procek ma cos innego do roboty to one i tak wystapia. Jesli ma wystapic pozniej przy pracy synchronicznej, to przy asynchronicznej tez wystapi pozniej. A co do kwarcu zegarkowego, przy zegarze 1MHz tez da sie odmierzyc dokladnie jedna sekunde :)
Nie, chodzi tylko o zwyczajne zapalanie diody co sekunde, ale musze wykorzystac przerwania timerow.
Znalazlem jakis stary programik.... odczyt 2 kanalów ADC z częstościa 100 razy na sekunde... Analize pozostawiam Tobie...(podpowiem że Help wszystko wyjaśni) Pozdrawiam $regfile = "m8def.dat" $crystal = 11059200 $baud = 19200 Config Adc = Single , Prescaler = Auto , Reference = Off Config Timer1 = Timer , Prescale = 256 On Timer1 Pomiar Enable...
Koledzy mam potrzebuje program opuznienia czasowego na timerach. dioda ma 5x mrugnąc co sekunde potem buzer co sekunde tez 4x a potem 3x dioda co sekunde. Prosze o pomoc bo nie wiem o co w tych timerach chodzi dzięki wielkie z góry ljmp start org 0bh ljmp intt0 org 100h start: mov r0,#7fh zeruj: mov (at)r0,#0 djnz r0,zeruj clr p1.7 mov r4,#5...
To teraz pytanie: jak przy pomocy 8-bitowego timera z zewnętrznym kwarcem otrzymać 100ms? Bo jeśli chodzi o pełną sekunde to sprawa jest oczywista: 32768 / 128 * 256. Oglądam typoszeregi kwarców i jakoś w tym excelu nie mogę dopasować wartości preskaler * częstotliwość aby wyszła pożądana wartość.
A teraz jeszcze jedno pytanie do kolegow jak zrobic budzenie, co sekunde za pomoca timer'a 2. Z tego co zauważyłem, ... Config Clock = Soft , Gosub = Sectic ... to masz podpięty do swojej M32, kwarc "zegarkowy". Do usypiania M32 pracującej jako zegarek, producent przewidział tryb Power-save , więc wykorzystaj ten tryb. Szukalem ale nigdzie nie moge...
zacznijmy od tego, ze kod umieszczamy w klamrach Dodano po 10 to jest kod na jedna sekunde $regfile = "m8def.dat" $crystal = 8000000 Config Pind.7 = Output Portd.7 = 0 Przekaznik Alias Portd.7 Config Timer1 = Timer , Prescale = 256 On Timer1 Sekunda Enable Interrupts Enable Timer1 Load Timer1 = 31250 Do Loop End Sekunda: Load Timer1 =...
no ok wszytsko pięknie zumek wielkie dzieki, tylko mały problemik mam pytanie jak wywoływać tą funkcje by w momęcie jej wywołania dopiero odliczał czas a nie zgłaszała przerwanie co sekunde?? i nierozumiem dlaczego c ma być równe 123??
aha. czyli wystarczy ze po wykryciu braku zasilania odpowiednio ustawie ten bit (bodajrze w PSW?). mówisz że każde przerwanie? mój timer zgłasza 30 razy na sekunde przerwania. i procek bedzie sie cały cza sbudził i usypial. wiesz może jaka jest różnica w poborze pradu podczas pracy i uśpienia?. ja ososbiscie myśłałem żeby dać jakaś małą pętle, która...
robisz tak $regfile = "m8def.dat" $crystal = 8000000 Config Timer2 = Timer , Prescale = 256 , Async = On On Timer2 Odmierz_1s Enable Interrupts Enable Timer2 Counter1 = 128 Do Loop End Sub Wysw End Sub Wart_bcd = Makebcd(godziny) Wartosc = Bcd(wart_bcd) Wart_bcd = Makebcd(minuty) Wartosc = Bcd(wart_bcd) Wart_bcd...
Witam, tworzę pewien projekt i spotykam się z tak zwaną rozbieżnością między teorią a praktyką. Używam 2 timerów, z których jeden generuje sekundę a drugi chcę aby generował coś najbliższe 24kHz Timer generujący sekunde to 16bitowy timer1 z preskalerem 1024, kwarc 16MHz, z wartością początkową wyliczoną przeze mnie 0xc2f6, którego sprawdzałem z zegarkiem...
Ale teraz jak mam funkcje do migania diodą co sekundę to znowu miga jak powalona :/ jak sobie tą funkcje umieszcze w while i tam mam ze ma zmieniac co sekunde stan. No to porównaj, to co dołożyłem, z tym co było i dorzuć w swoim programie tak samo odpowiedni plik nagłówkowy na początku oraz <wdt_reset();> na początku pętli głównej, albo wyłącz...
ELEKTRONICY ŁĄCZCIE SIE I POMUZCIE POTRZEBUJE SHEMAT TIMERA 20 POZIOMOWEGO ODLICZAJĄCEGO OD 99,60 DO ZERA PRZESKOK CO SEKUNDE 1XLCD 4LICZBY 20 x PRZEŁĄCZNIKÓW to ma słuzycz do odliczania dla 20 stanowisk od 99 h do 0 z tym z ma byc 1 lcd i 20 przelonczników do zmiany wyswietlanego czasu + klawiaturka do zaprogramowania czasu od kturego ma odliczać...
Ty to jesteś krejzolka Aldoro wiesz hahahahaha Podłączył byś wyjście transoptora do wejścia INTx albo ustawił Timer jako Counter a wyzwalanie jako, na przykład Falling, Co sekundę sprawdzał byś ile impulsów nabiło przez sekundę. I to wszystko. Bez obsługi przepelnienia Timera osmiobitowego zmieścił byś 255 impulsów na sekunde. Miłego dnia. Mogłeś wcześniej...
Witam :) Czy ktos programuje moze w asemblerze i moze podpowiedziec w jaki sposob obslugiwac przerwania od TMR0. Probowalem zrobic prosty timer (po zalaczeniu zasilania liczy sekundy) z wyswietlaczem LCD korzystajac z przerwan od timera. Niestety nigdy nie udalo mi sie osiagnac takiego efektu, ktory sobie zalozylem. Zmiana wartosci poczatkowych dla...
(at)Davvvi W przemysłowych długoczasowych przekaźnikach i zegarach spotkałem i akumulatory, nawet CdNi, ale i superkondensatory. Mój zegar do oświetlenia zewnętrznego przerobiłem z takiej bateryjki, właśnie na kondensator takiego typu. Powszechnie nie są używane w takich tanich timerach, właśnie ze względu na cenę. https://obrazki.elektroda.pl/3419199400_...
Ale Ty potrzebujesz tylko on/off? Jeżeli tak to użyj przerwania od jakiegos timera i zmiennej licznikowej. Jeżeli np x=1 oznacza 1 sekunde, a chcesz żeby wyświetlanie gasło po 20 sekundach to robisz tak że w funkcji obsługi przycisku zerujesz zmienna x, a w przerwaniu inkrementujesz ją, w pętli głównej sprawdzasz jej stan, jeżeli mniejsze od 20, włącz...
Wielkie dzięki. Problem już rozwiązany. Moje rozwiązanie: #include "c51_drv.h" #include "config.h" char code tablica[10] = {0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8... int a,i; void opo(void) interrupt IRQ_T0 { TL0 = 0xB6; TH0 = 0x3A; a++; if (a == 33) {P1 = tablica[i]; ++i; a = 0; if (i == 10) i = 0; } } main() { a=0; i=0; EA = 1; ET0 = 1;...
Witam, mam w ukladzie ATmega8 + MAX232 do komunikacji z komputerem. ATmega jest taktowana z zewnetrznego kwarcu 16MHz. Wydaje sie, ze fuse bity sa dobrze ustawione, bo do obliczenia parametru predkosci USART (wpisywanego w UBRR) musze wykorzystywac wlasnie 16000000. Mam jednak problem z timerami. Zarowno _delay_ms(), jak i _delay_loop_2() dzialaja tak,...
Witam! Jak moge odliczyc 1us poprzez timer przy kwarcu 16 MHz ?? Posiadam procesor AT89S8252 jest to wogole mozliwe ?? jedną sekunde odliczam w ten sposób: $regfile = "89s8252.dat" $crystal = 16000000 $large Config Lcdpin = Pin , Db4 = P0.4 , Db5 = P0.5 , Db6 = P0.6 , Db7 = P0.7 , E = P3.5 , Rs = P3.6 Config Lcd = 16 * 2 Cursor Off Cls Dim...
Witam, szukałem w archiwum, w fack'u i w paru innych miejscach, ale wciąż nie moge dojść jak działa Timer. Napisałem krótki program ktory miał mi generować jedną sekunde - wstępnie o to mi chodzi. '$sim $crystal = 18432000 '18432000/12=1536000 'Konfiguracja wyświetlacza Config Lcdbus = 4 Config Lcdpin = Pin , Db4 = P1.4 , Db5 = P1.5 , Db6 = P1.6 , Db7...
Witam wszystkch. Mam wątpliwości co do odmierzania czasu w Bascom za pomocą Timerów. Sprawa dotyczy procków 51. Proszę o poprawienie mnie jeśli się myle. 1. Timer zlicza w górę od wpisanej wartości do 65535(16bit), Tryb 1. Zadaną wartość ładujemy komendą load timerx, yyyyy 2. Tak więc aby odliczyć 1 sekundę należy np.: 20 razy odliczyć po 50ms więc...
A na której to uczelni robicie układy w proteusie? Widać ze sprzętem na bogato:-D A no jest taka jedna uczelnia. Ale nie róbmy autoreklamy :D ;P Ok już znalazłem problem, jak się okazał enkoder generował za dużo impulsów na sekunde. Dokładnie dwa razy więcej. Po prostu źle ustawiłem enkoder. Teraz zrobiłem całość tylko na jednym procku a dokładnie...
Witam. Potrzebuję napisać funkcję która zainicjalizuje Timer w Atmega32 (asynchroniczny) tak, by działał z zewnętrznym kwarcem 32,768kHz podłączonym pod TOSC1/TOSC2. Timer ma zgłaszać przerwanie co 1 sekunde. W przerwaniu powinien zmieniać stan diody na pinie PD0 na przeciwny. Proszę o pomoc w napisaniu kodu . Przepisz dokładnie to samo co napisałeś...
Witam, Posiadam następującą komunikacje obustronną PC(delphi)<-->RS232<-->stero... PLC FATEK. W programie mam timer, ktory co 500ms odpytuje sterownik. Porblem polega na tym ze 2x na sekunde okno mi zamarza gdy chce np je przesunac. Ponoc jest jakas fukcja, ktora odciaza bufor...ktos mial podobny problem??
Maszyny samo programujące juz tak próbowalem. Zeby procek sam sobie pisal kod. ALE WYCHODZILY BZDURY Ale brakuje mu tego czego jak sądze teraz ma deep learning, mnóstwo danych z internetu. To uczy sie jak ludzie postepują w określonych sytuacjach, mld ludzi. W końcu zatrybi i już nie bedzie potrzebowało ludzi w każdym razie 7,6mld . Zdominuje nas w...
Witajcie mam pytania i tak mam 90s8515 z kwarcem 8M są dwa timery chciałbym żeby ich wartości zmieniały się co 1 sekunde i jak zrobic żeby timer0 liczył większe wartości niż 255 dlaczego timer0 liczy z inną prędkością niż timer1? $regfile = "8515def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portb.1 , Db5 = Portb.2 , Db6 = Portb.3 , Db7 = Portb.4...
Witam, w moim programie na atmegę 32 wykorzystałem timer0 oparty na zegarze procesora (8MHz) aby uruchamiać pewną funkcję ok. 100 razy na sekundę. Do programu postanowiłem dodać obsługę zewnętrznego kwarcu zegarkowego 32768Hz aby móc mierzyć w miarę dokładnie czas przy użyciu timera timer2. Po dopisaniu komend do obsługi kwarcu żaden timer nie działa....
Nie wiem dlaczego ale nie potrafie poprawnie uruchomic Timer w Bascomie. W efekcie mojej konfiguracji Timer uruchamia sie z jakąś losową ( wg mnie ) częstotliowścią i nie potrafie go zmienić na np 1HZ Kwarc 3.6864 MHz Czy ktoś mógłby podesłać lub umieścić gotowy plik bascoma 8051 z uruchomionym timerem ( obojętnie którym ) w trybie autoreload który...
teraz musze jescze przerobić układ aby odliczał mi sekundę Config Timer0 = Timer , Prescale = 64 On Timer0 Sekunda Sekunda: Load Timer0 = 250 Incr Jednostki_czasu If Jednostki_czasu = 250 Then 'mam sekunde Jednostki_czasu = 0 End If tak chyba będzie dobrze?
Mam pytanie czy to zadziała? gdy ustawie zegar powiedzmy ACLK na 32kHz, którym będę taktował timer_A i ustawie wartość w CCR0 na 32765 czy daje mi to 1 sekunde ?!
Moze lepiej uzyc przerwania od przepelnienia Timera. Ustawic tam taka wartosc poczatkową, żeby przepelnial sie co 5 sekund, a jak sie nie da tak duzo, to co 1 sekunde i zwiekszać jakiś licznik. Jak licznik osiagnie wartość 5 to wywołać podpogram Dim Licznik As Integer On Timer1 Co_sekunde Enable Interrupts ' Wlaczenie przerwan Enable Timer1 ' Aktywowanie...
Witam. Chcę aby program sprawdzał PORTB pin2 dwa razy w odstępie ok.1s. Mianowicie gdy na PB2 pojawi się stan niski uruchomić ma się timer i przez ok. sekunde będzie sprawdzał PB2 i jeżeli w tym czasie pojawi się stan niski program wraca do LOOP. Jeżeli po odmierzeniu owej sekundy nie pojawi się stan niski na PB2 to program ma odmierzyć czas ok. 1s....
Witam. Chciałbym prosić o sprawdzenie kodu. Chciałem uzyskać dwie rzeczy mianowicie: 1. Ustawić tak timer by 100 razy na sekunde wystąpiło przerwanie. 2. Ustawić przerwanie zewnętrzne od zbocza opadającego na którymś pinie (np. PE0). Skonfigurowałem tak peryferia: stm32f10x_it.c : [syntax=c]void EXTI0_IRQHandler(void) { static unsigned int i=0; //.....//...
Witam. Pare dni temu zaczalem zabawe z tym prockiem (moim pierwszym uC) i wlasnie magluje timery. Napisalem programik wykorzystujacy T1_overflow i on ladnie mi co 1 sekunde zmienia stan portu. (10*10^6/256=~39063). Nastepnie postanowilem zobaczyc jak dziala T1_compare_match i tu zaczely sie problemy: Mam kwart 10MHz -> 10 000 000 operacji na sekunde......
Witam, mam problem z napisanym przez mnie kodem. Założenie jest takie, że przy puszczonym przycisku Timer1 skonfigurowany jako Fast PWM ma mi powoli rozjaśniać listwę RGB. W momencie przyciśnięcia swicha Timer0 ma odliczyć 5 sekund i PWM ma mi ściemnić listwę. Ma to działać dla 4-ech niezależnych od siebie kanałów. Póki co zacząłem zrobić Fast PWM i...
Witam, Postanowiłem tutaj napisać, ponieważ mam problem z timerem1. Napisałem program zgodny z algorytmem, który umieściłem poniżej (układ ma zliczać impulsy na wejściu, następnie je uśredniać, a wynik wyświetlać). Póki co testuje go na ISISie i jedyne co pojawia mi się na wirtualnym wyświetlaczu to wynik -1. Tak jak wspomniałem w pierwszym zdaniu,...
Dzień dobry. Chce zrobić program który odczytuje ustawienie potencjometru z ADC i w zależności od jego wartości za pomocą timera TIM2 generuje przebieg o zmiennej częstotliwości. Załączam plik main.c. Kiedy wykomentuje linijkę TIM2->ARR = val; (linia 107) wszystko działa ok. Mryganie co sekunde. W innym wypadku (program jak w listingu, bez komentarza)...
Z 51 mialem stycznosc dwa lata temu, teraz nie pamietam wszystkich rejestrow funkcyjnych i za co one odpowiadaja, ale za etykieta START masz ustawienie przerwania od timera, wpisywana jest wartosc poczatkowa i pewnie ustawiane priorytety przerwan i ich maskowanie. a za mruganie diody co sekunde odpowiedzialny jest rozkaz CPL, ktory zmienia wartosc wyjsc...
Config Timer1 = Timer , Prescale=1 Enable Ovf1 On Ovf1 Sprawdz_Klawisze Start Timer1 Enable Interrupts Tyle trzeba dodac do Twojego programu i usunac Do Loop z tego kawalka co sprawdza klawisze, natomiast doadac etykiete Sprawdz_Klawisze: i na koncu tego bloku co sprawdza klawisze zamiast loop dac Return nie wiem jaki masz kwarc ale jezeli to jest 1MHz...
Zastanów się najpierw co to znaczy "w czasie rzeczywistym"? Czy info 20 razy na sekundę to już wystarczy? Drugie pytanie to jak sobie wyobrażasz(musisz już mieć jakiś fajny pomysł) tą komunikację? Czy to ma być na bieżąco transmitowana prędkość w formie "1950RPM"? czy może jakaś zaszyfrowana(0..255). Czy transmisja ma odbywać się na życzenie czy może...
Nawet jak nie masz kwarcu zegarkowego, to zawsze można zastosować np 4MHz :] ustawiasz timer z prescalerem = 1 , czyli timer zwiększany będzie co 0,2500 us jeżeli ustawisz przerwanie od przepełnienia timera (timer 8bitowy np 0 lub 2) to przerwanie będziesz miał co 0,0640 ms, wystarczy w przerwaniu zliczać zmienną 16bitową, i gdy zliczy do 15625 wtedy...
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ę...
Witam W zasadzie już zbliżam się ku koncowi stacji meteorologicznej z wykorzystaniem atmegi8 i PC. Z uwagi na funkcje jakie musze wykorzystać a wiec timer i USART wystapił problem. Wykorzystując timer1 generuje przerwanie co sekunde i licze czas aktualny. Podczas połączenia z komputera wysyłam na zasadzie: 1 znak z PC, a w odpowiedzi z Atmegi string...
Dziękuję za odpowiedzi. Realia są takie że mam już ukończony remont i zostałem z jednym kablem, który przypuszczalnie jest poprowadzony bezpośrednio od światła. Wcześniej funkcjonowało to bezproblemowo i przypuszczam że mając wentylator bez timera byłoby znowu wszystko idealnie. Mając na uwadze że nie dokonam żadnych zmian w instalacji jakie mam opcje...
Witam, Za nic w świecie nie mogę dojść do tego, więc skorzystam z wiedzy Szanowny Kolegów z forum. Otóż mam pewną zabaweczkę zrealizowaną na mega32 (projekt jak ukończę to udostępnię na forum) Ustawione mam przerwanie od Timera0, który ładnie odmierza mi 1 sekundę przy zastosowanym kwarcu 8Mhz. Wszystko pięknie ładnie, ale chciałbym zastosować "kwarc...
Ok, generalnie przeplywomierz posiada wbudowana funkcje skalowania sygnalow. I tak sygnal wchodzacy do PLC ma wynosic od 0 do 100Hz dla przeplywu od 0 do 450l/min. Sterownik to MODICON M340 z modulem wejsciowym typu DI 3202K, Schneider powiedzial ze ich moduly wejsciowe maja zintegrowana funkcje HSC i nie potrzebne sa zadne dodatkowe czy dedykowane...
Witam Potrzebuje jakis układ precyzyjnie odliczajacy czas ma to wygladac tak ze jest 60 diod i np co 1s kolejno nastepna sie zapala a wczesniejsza gasnie puzniej jest nastepnych 60 diod i analogicznie co minute kolejno jedna gasnie druga odpala no i 12 diod ktore sa co godzine czy ktos ma jakis pomysl na wykonanie tego? moze jakis uklad na bramkach...
Skoro nie widzisz potrzeby stosowania wskaznikow to ich po prostu nie stosuj. Jak sie potrzeba pojawi to zrozumiesz po co sa :) Jeden z przykladow: masz funkcje, ktora sortuje lancuchy. Ale np. raz chcesz posortowac od najmniejszego do najwiekszego, innym razem odwrotnie, jeszcze innym uwzgledniajac strone kodowa. Zamiast pisac 3 oddzielne funkcje sortujace,...
Czyli jak rozumiem zadnej filtracji nie uzywasz, tylko wrzucasz pod proste wzorki fizyczne? A co do czasu, nie wiem w jakim jezyku napisales program, ale jezeli to jest pod windowsa to uzywaj funkcji QueryPerformace.... (tak sie nazywa przynajmniej w C) Po padzie hd nie mam przykladowego kodu, ale tam jest funkcja QueryPerformaceFrequenzy i... drugiej...
Witam ja powiem ze sie da i to bardzo dokłądnie to wykoanć Potrzeba ci jeden Timerek generujacy przerwanie co sekunde. i drugi timerek to wyświetlania w multplesie. Choć faktycznie te dwa timery moga zaburzyć nieco prace tego całego układu. podłacz sobie jeden ls247 i 4 ledy w MPXie zajmie ci to jeden port. 4 linie to BCD i 4 to załącznie pokoleji LEDów....
mogę pomóc, ale w C, w BASCOMie sobie już sam pokminisz, bo algorytm działania jest wszędzie taki sam :) na początek wpychamy zewnętrzny kwarc 11.059200 MHZ + 2 kondensatory x 22pF, w nagłówkach należy dodać: #include <avr/interrupt.h> przed int main'em należy dodać: #define HI PORTC=0xFF; SIGNAL (SIG_OVERFLOW0)// funkcja obsługi Timer'a0...
Witam. Robię sobie komputerek spalania do samochodu. Wszystko ładnie wychodzi poza czasem wtrysku a co za tym idzie - spalaniem. Występują jakieś zakłócenia i nie wiem dlaczego. Może ktoś pomoże....:) Kod: $regfile = "m168def.dat" $crystal = 16000000 ''''''''''''''''''''''''''konfiguracja portów'''''''''''''''''''''''''''''''''' Config Portd...
Witam, Mam problem z zmuszeniem do pracy jako PWM Licznika "Timer0" Timer jeden działa mi jako przerwanie co jedna sekunde wiec nie moge go użyć do tego. Próbowałem zrobić to tak jak w tym temacie, ale wyświetlacz wtedy wariuje. http://www.elektroda.pl/rtvforum/topic28... Gdy wykasuje z kodu linijke: 'Config Timer0 = Pwm , Prescale = 64 , Compare...
czas trwania impulsu dodatniego częstotliwość tych impulsów to od 0 do 400 na sekunde a opis tej instrukcj to zerowanie bitu w rejestrze a jeśli załaduje rejestr roboczy funkcyjnym to wskazywany bit do zerowanie będzie pod nazwą bitu z rejestru funkcyjnego (a niejest tak???) to jesili nie to czemu wcześniejsze instrukcje działają np.ustawiają i zerują...
Po pierwsze przydałoby się więcej szczegółów takich jak częstotliwość taktowania i w czym to ma być zrobione, domyślam się że w asemblerze ale równie dobrze może to być bascom lub c++. Załączam program w asemblerze, który generuje sygnał o częstotliwości 0.5Hz i wypełnieniu 0.5 czyli mówiąc prościej zmienia stan na przeciwny co sekunde dla kwarcu 12MHz...
sekunde bascom impulsy sekunde klatek sekunde
podłączyć remote radiu radio santa instrukcja amator stereo
pioneer zdalne sterowanie ustawienia sterownika pieca gazowego
Technics RS-TR232 – brak dźwięku, typowe usterki, diagnostyka, AN7351K, paski, muting Denon AVR-X1000 – jak wgrać firmware, aktualizacja przez LAN, brak plików USB