A gdzie w pętli głównej masz skok do etykiety wentylator? Nie masz, dlatego ten kawałek programu nigdy nie jest wykonywany.
Witam. Mam pewien problem żeby na tym mikrokontrolerze zrobić czasomierz. Gdy napisze w bascomie działa ok, ale jak w WinAVR to już nie. #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> SIGNAL (SIG_OVERFLOW0) { PORTD = ~PORTD; } int main(void){ DDRD=0xff; PORTD=0xff; TIMSK = _BV(TOIE0);...
Witam, potrzebuje prostego programu który zliczy ile razy na sekundę wciskany jest przycisk. Np na jednym z portów pojawi się 0 kiedy przycisk zostanie wciśnięty, program ma zliczyć ilość impulsów przez sekundę i zwrócić daną do zmiennej. Proszę o pomoc lub podpowiedź. Niestety jestem początkujący i niezbyt rozumiem Liczniki-Czasomierze Timer0 i Timer1....
Wgrałem ten najnowszy soft, ale niekiedy ma kłopoty z termometrem. Przy ustawieniu 25/5 (zegar/termometr), temperatura niekiedy nie wyświetla się wcale albo wyświetla się przez 1 sek. Nie wiem jak to jest przy innych ustawieniach bo zrobiłem ten czasomierz tylko na próbę na płytce stykowej. Mógłbyś udostępnić źródło tego ostatniego wsadu? Chciałbym...
Lecz jeśli jest to wystarczające może mierzyć kanały kolejno. Jeden po drugim. Tak, ale kolega chce uzyskać dokładność 1 obr/min , oraz jak kolega pisze mają być jednocześnie wyświetlane, mierząc kanały kolejno w danej chwili brany pod uwagę jest tylko jeden czujnik. Jeszcze taka uwaga, o jakich prędkościach mówimy? Dla małych prędkości obrotowych...
Piotr5000 , gdyby chodziło o jesden sterownik, niema problemu, moge poświęcić tydzien na kalibracje kwarcu, ale dla stu potrzebne jest inne rowiązanie. Jeśli dla 100 urządzeń.. to zależy.. jak mają ze sobą jakiś "kontakt" np. LAN, WiFi lub inne .... to może zainwestować w jeden dokładny czasomierz i zrobić NTPSerwer dla tego projektu...
Witam Buduje układ, w którym potrzebne mi są: - timer jako czasomierz - timer jako licznik - sygnał PWM Do tej pory zajmowałem się tylko ATmega8, ale ten mikrokontroler ma tylko dwa timery, wiec raczej nic z nim nie zdziałam (chyba, że jestem w błędzie). Czym zastąpić ATmega8? Jaki inny kontroler wykorzystać? Może lepszym rozwiązaniem będzie dołożenie...
Bo niestety muszę zegarek rozbierać No niestety w tym trybie nie uzyskasz stabilnej sekundy, tym bardziej, ze Bascom w obsłudze przerwania może robić zbędne bzdury i jeszcze nie raz ten zegarek będziesz rozbierał. Do konstrukcji czasomierza najbardziej się nadaje asynchroniczny licznik Timer2 w trybie CTC, taktowany specjalnym rezonatorem kwarcowym...
Po pierwsze to zajrzyj do pdf'a odbiornika IR, bo na Twoim schemacie brakuje konda i rezystora przy podłączeniu TSOP'a. http://pdf1.alldatasheet.com/datasheet-p... Ma być w programie: Wygaszacz (godzina + temperatura), - Czasomierz najprościej na programowym RTC: str. 244 w książce Wiązni, zaś temperatura - str. 293. Wszystko...
Ludzie to potrafią sobie utrudniać życie, gdy gotowe mikroprocesorowe rozwiązanie jest na wyciągnięcie ręki, i do tego często tańsze w wykonaniu niż analogowe. Sam wykonałem analogowy dwu stopniowy czasomierz do zgrzewarki i nie jestem w stanie wykonać na nim w pełni powtarzalnych zgrzewów ze względu na fakt że nie da się ustawić dokładnie czasu.
Teoretycznie masz te 250Hz, chociaż co do stabilności tej częstotliwości z użyciem WAITMS i zewnętrznego kwarcu bym polemizował... Można to było też zrobić na Toggle Portd.0 i wykorzystać jeden raz Waitms 2 tylko wtedy czas pętli dwukrotnie trzeba wydłużyć żeby 1s była. Najlepiej to skonfiguruj sobie wewnętrzny timer jako czasomierz (na elektrodzie...
Kolego Mirekk36 może i masz rację ale jeśli chodzi o bascoma to zabawka i nadaje sie jedynie do programów zabawowych i banalnych. Do pisania programów "prawdziwych nadaje sie C , asembler jest esencją programowania daje maksymalną kontrole nad programem i kod będący ułamkiem pozostałych . To co zmieści sie pisząc w asemblerze w medze 16 w przypadku...
http://obrazki.elektroda.net/3_117338723... Projekt zostal zrealizowany w lutym ubieglego roku. Jest to zegar na lampkach nixie typu Z566M (cyfry) oraz Z567M (+,-,~) produkcji RFT, pochodzacych ze starego czasomierza laboratoryjnego produkcji polskiej. Sercem ukladu jest mikrokontroler ATMega8. Wysterowuje on poprzez 2 dekodery tranzystory MPSA42...
Mikrokontroler to układ scalony zawierający w swej strukturze między innymi procesor, pamięci, liczniki-czasomierze, przetwornik analogowo-cyfrowy, komparator napięcia i porty (końcówki), którymi steruje w zależności od wyniku wykonania programu. Końcówki służą także do przyjmowania informacji z zewnatrz. Układ jest cyfrowy więc sygnały na końcówkach...
Poszukałem informacji o timerze i napisałem taki program, czy będzie działać poprawnie? #define F_CPU 1000000L #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> SIGNAL (SIG_OVERFLOW1) { PORTD = 0x08; //Włącz PD.4 _delay_ms(10); //Opóźnienie PORTD = 0x04; //Włącz PD.3 _delay_ms(10);...
Dorzucam wersję z porządnym debouncingiem. Ten z BASCOMa jest zbyt uproszczony i nie nadaje się do profesjonalnych zastosowań. Po wciśnięciu jednego przycisku naciśnięcia innych przycisków są ignorowane do czasu puszczenia tego pierwszego. Zauważ autorze, że nie ma już nigdzie w kodzie czekania na cokolwiek (brak wywołań funkcji WaitMs()). Wszystko...
Aby korzystac z rtc musisz podlaczyc kwarc 32,768 kHz do pinow PORTC 6 i 7. Ustawiasz timer2 na prace asynchroniczna i dobierajac prescaler na podzial przez 128 otrzymujesz przerwania co 1 s bez koniecznosci ladowania timera przy kazdym przerwaniu. Ponizej przedstawiam fragment kodu dla at90s8535 . Atmega8535 tez powinno dzialac. Sprawdz tylko czy nie...
Nieee- to się kompiluje. Sprawdziłem. To jest stary, klasyczny problem. Czętościomierz- czasomierz. Dokładność zależy od częstotliwości- czasu. Przy dużej częstotliwości otwieramy "okno"- bramkę i zliczamy ile tych impulsów było. Przy małej częstotliwości mierzymy czas między impulsami a bramka- pracująca teraz jako generator impulsów- zlicza czas między...
Witam szanownych elektrodowiczów. Mam mały problem z atmegą8 16PU. Mianowicie zrobiłem użądzenie do sterowania załączaniem pomp dyfuzyjnych . Urządzenie działa mniej więcej tak: 1-Ustawienie czasu załączenia się przekaźnika 2-Ustawienie czasu wyłączania się przekaźnika(przeście do głównej pętli) 3-Nieskończona Pętla -odliczenie czasu i włączenia przekaźnika...
Czy masz jakąkolwiek koncepcję tego co chcesz osiągnąć? Próbowałeś chociaż ten "program" skompilować? Może najpierw zapoznaj się z podstawami działania licznika/czasomierza na zwykłych bramkach. Co to znaczy-"dobrze skonfigurowany timer"? Zależy co chcesz osiągnąć. Bity WGM ustawiłeś na tryb "fast pwm". Nieskończona pętla w nieskończonej pętli nazywa...
Witam wszystkich, jestem w trakcie robienia Czasomierza/Okresomierza. W załączniku umieściłem schemat. Jeśli chodzi o Sharpy, to dla nich będą osobne malutkie płytki. Nauczyłem się już obsługi wyświetlacza, ale utkwiłem w samym pomiarze czasu. Używam zewnętrznego kwarcu 16Mhz. Moje pytanie(nigdy nie używałem timerów), jak badać moment kiedy stan niski...
Osobiście zdarzyło mi się popełnić kilka różnych czasomierzy na PCF'ie, zarówno we współpracy z 89xx51 jak i AVR'kami - piszę w bascomie. Uwaga co do maskowania niewykorzystanych bitów w odczytanym bajcie jest bardzo zasadna. Uwzględniając brak wiedzy na temat faktycznej zawartości rejestru z którego potrzebuję tylko połowy bitów stosuję maskowanie...
Dzień dobry, mam problem z uruchomieniem serwonapędu na ATmega8535, prosiłbym was o ustosunkowanie się do mojego kodu. Pisząc go posiłkowałem się stronami: #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <string.h> int main(void) { int p = 1500; //zmienna DDRA = 0x00; //przyciski PORTA...
Lepsza stabilnosc uzyskasz....... Bzdura. Ten uc nie ma nawet Timera2. Tak jak już wspomniał kolega korzystasz z wew. oscylatora domyślnie ustawionego na 1MHz. Niestety ten oscylator jest niedokładny ale jest na to rada. Istnieje specjalny rejestr dzięki któremu można owy oscylator skalibrować a nazywa się on OSCCAL. Wpisanie odpowiedniej wartości...
Wartości wysyłam po USARCIE na terminal, same operacje wypisywania po USARCIE działają poprawnie, tak jak wspominałem dla jednego kanału działało znakomicie w innym rozwiązaniu. Zminimalizowałem kod i ograniczyłem się do jednego kanału, przerwanie od przepełnienia również w całości wywaliłem. Pomogło również wpisanie: [syntax=c]MCUCR = 0b1000; //MCUCR...
Witam, mam pewien problem z wykonywanym kodem, mianowicie używam procesora Atmega8, do którego podłączony jest wyświetlacz LCD(w trybie 4 bit) i układ odbierający fale dcf77 firmy conrad, którego wyjście podłączone jest do przerwania int1. Część kodu odpowiadająca za wykrycie bitu synchronizacji działa dobrze, nie rozumiem tylko jaki błąd popełniam...
Witam! Mam pytania: jak w praktyce zastosowac timery? Jak one działają? W którą stronę zliczają? Jak zczytac ich stan? Do ilu mogą zliczać? chciałbym, aby ktoś wytłumaczył mi to na przykładzie Atmegi8 i języka Bascom. Wiem już że: -Timery zliczają impulsy które same generują wg. prescalera -Prescaler to taki dzielnik, który bierze jakąś część taktowania...
Na pierwszy rzut oka widać że popełniłes błąd w kolejności zapisu do rejestrów TH0 i TL0 w procedurze obsługi przerwania. Zamieniajac te instrukcje juz zmiejszasz błąd Rzeczywiście błąd zmniejszył się o ok. 2s na 12 godzin, podczas gdy bez tej modyfikacji błąd wynosi 9s. no to już jest nieźle;). Błedem jest zastosowanie tego trybu timera, jesli licznik...
Witam Poniższy program mierzy długość trwania impulsu / stanu niskiego podanego na INT1. Pomiar jest wyzwalany przerwaniem, zboczem opadającym, następnie następuje włączenie timera i przestawienie przerwania na zbocze narastające. Gdy ono nastąpi jest wyzwalane kolejne przerwanie, które zeruje zatrzymuje timer. Odczyt timera (rejestr TCNT1) następuje...
Witam! Pierwsze kroki z uC, czyli próba stworzenia zegara matki dla czasomierza podobnego do $regfile = "m8def.dat" $crystal = 2000000 Config Pind.0 = Output Config Pind.1 = Output Config Timer1 = Timer , Prescale = 64 Dim Licz_2s As Byte Dim Parz As Bit Enable Interrupts Enable Timer1 Load Timer1 , 62500 Licz_2s = 0 Parz = 0 Do Loop End Odmierz_1m:...
W uzupełnieniu dodam, że np. PIC18 Microchipa w technologi nanoWatt XLP, możesz wyłączyć do trybu w którym pobiera zaledwie 20nA . Wybudzanie poprzez zewnętrzne przerwanie. Ale jeżeli ma wewnętrzny układ RTCC (czasomierz z datą godzinami i sekundami), to masz pełną dowolność w jego wybudzaniu, a pobór prądu wynosi 700nA . Zapewne inni producenci także...
Bylo juz dosc pozno jak na mnie i nie myslalem zbyt trzezwo :P Dziekuje za odpowiedzi. Zmodernizowałem sobie kodzik ktory wyglada teraz tak: #include <avr/io.h> // dostęp do rejestrów #include <util/delay.h> // zawiera definicję _delay_loop2 int main(void) // program główny { uint8_t pwm=128; // zmienna zawiarająca wartość wypełnienia...
/* * grr.c * * Created on: 2009-08-24 * Author: kayou */ #include <avr/io.h> // dostêp do rejestrów #include <util/delay.h> // zawiera definicjê _delay_loop2 #define przerwa 5 int main(void) // program g³ówny { uint8_t pwm=180; // zmienna zawiaraj¹ca wartoœæ wype³nienia DDRD = 0x80;...
Witam Kod jak poniżej służy do zliczania czasu trwania jednego impulsu (ta funkcja działa prawidłowo) oraz do zliczania czasu (w celu zliczania ilości impulsów na jednostkę czasu). volatile unsigned char pomiar = 0; volatile uint32_t cw_impuls,impuls = 0; unsigned char sreg; float tc1; char czas[8]; void Inicjalizacja(void) { LCD_init();...
hunterhouse niestety poprawki w moim programie, które wprowadziłeś nic nie zmieniły bo dalej stan portu ''przeskakuje'' co ok. 8 sekund. Może komuś uda się znaleźć błąd. Ponieważ wersja hunterhouse'a działa bez problemów, chciałbym przejść o krok dalej i zrobić coś takiego: Włącza się czasomierz Timer1 na załóżmy 5 sekund. W ciągu tych 5 sekund zliczane...
http://obrazki.elektroda.pl/7782616400_1... Kolejny mój projekt, który chciałbym zaprezentować to użyteczne narzędzie w procesie wykonywania płytek drukowanych w oparciu o metodę fotochemiczną z zastosowaniem emulsji światłoczułej POSITIV 20. Poprzednie projekty służyły naświetlaniu pcb. Ten projekt to piecyk do wygrzewania płytek po...
Witam, po długiej przerwie, przetestowałem parę rzeczy, jednak nadal wszystko nie działa jak powinno :cry: , pomimo tego jestem bardzo wdzięczny więc klikam 'pomógł' osobom które zainteresowały się problemem. Na początek, częstotliwość PWM mam trochę ponad 32 kHz. Testowałem układ z diodą 1N4148, lecz procesor nie reagował na impulsy, tzn. występowały...
Wszyscy z jakiegoś powodu skupili się na stałych/zmiennych, a nikt nie zwrócił uwagi na niżej przedstawione "rodzynki" :D i.t.d. Tak, jeszcze wczoraj odkryłem, ze trochę źle wpisuje jedynki do rejestrów. Poprawiłem to chyba na dobrze, ale cały czas mam pewien problem. Ograniczyłem sobie kod na razie na jedno przerwanie INTO. Zmieniłem tak obsługe przerwań...
Witam, Napisalem program na atmega8 do regulatora dwukierunkowego, którego schemat można znaleść tutaj. [url=http://www.modelhobby.republika.pl/... Licznik pracuje z zegarem 8Mhz i prescalerem 64. Czyli licznik powinien zapelnić sie minimalnie po 2ms. Sygnał z odbiornika trwa od 1ms do 2ms. Najpierw zliczam czas impuslu. W zależności...
Witam prosiłbym o napisanie jak ustawić Fuse bity w mikroprocesorze Atmega8 do programu: :'Piornik02.bas 'Różnica pomiędzy 01: w czasie pisania tekstu pozostaje on cały czas w okienku wyświetlacza 'oraz buzer przepełnienia pamięci jest z własnym generatorem (buzer z Portd.7 do +). 'Program do wyświetlania ściągi. 'Pozwoli zapisać treść w postaci 94...
Witam Po namowach wielu forumowiczów postanowiłem przesiąść się z 8051 na AVR. Niestety już na samym początku napotykam różne przeszkody. Największą dla mnie przeszkodą jest to, że przykładowe programy które są w sieci nie kompilują mi się. Korzystam z Atmel Studio 6.1. Sciągnałem sobie fajny poradnik "Podstawy AVR-GCC" i chciałem z niego korzystać....
Oto reszta kodu. Jak policzyłeś dokładność? Tzn. jak uzasadnić to, że dla 4 impulsów mam 25% dokładności? Rozumiem, że 4 impulsy to w sumie 100%, ale nie rozumiem źródła tej niepewności. Gwoli wyjaśnienia - kilku zmiennych nie używam, to pozostałości po starych kodach (wiem, że powinienem je skasować :) ) a przetwornik ADC jest po to, że uruchamiam...
Czyli pomiary wykazałyby to co podejrzewałem, czyli uszkodzenie pinu. Ad 1. When the SM2..0 bits are written to 011, the SLEEP instruction makes the MCU enter Powersave mode. This mode is identical to Power-down, with one exception: If Timer/Counter2 is clocked asynchronously, i.e. the AS2 bit in ASSR is set, Timer/Counter2 will run during sleep. The...
Witam !! Napisałem program na sterowanie pilotem. Nie działa mi set Led_2. Przycisk 2 z pilota wykonuje warunek ale nie setuje portb.2 ? Co jest [syntax=c] $regfile = "m8def.dat" 'rejestry mikrokontrolera atmega8 $crystal = 8000000 'częstotliwość taktowania mikrokontrolera $baud = 9600 Config Portb = &B11111111 : Portb = &B00000000 'cały portB jako...
Ok posiedziałem ciut, poczytałem w necie jak się używa te Timery i ich przepełnienia . Powstał taki oto kod .Proszę wyświetlacz traktować jako pomoc pokazującą mi ile już wystąpiło przepełnień, zresztą bardzo fajnie to pokazuje. Ramowa zasada jest taka - programik ma zliczać przepełnienia do 2108 i się zatrzymać po osiągnięciu tej sumy(wstępnie ta wartość...
Poniżej źródło w którym mam: -pomiar ADC -pomiar szerokości impulsu PWM wysterowanie przekaźnika -USART Mikrokontroler ma spełniać funkcję sterownika do ledów jako oświetlenie samolotu z wyróżnieniem wszystkich etapów startu jak kołowanie włączenie silników itp. [syntax=c] #include <avr/io.h> #include <inttypes.h> #include <util/delay.h>...
Mam taki problem, że zrobiłem projekt Odbiornika Morsa na ATmedze8. W oryginalnym projekcie jest kwarc 10 MHz, a ja użyłem 10.240 MHz gdyż taki miałem w domu, a sklepu elektronicznego w mojej okolicy nie ma. Jak podłącze ten odbiornik do komputera i z programu morsik coś wysyłam to np. "adrian" dekoduje poprawnie, a "jarek" już nie, tylko na LCD pojawia...
Witam mam długi kod i nie mogę go skompilowac Bo ma powyżej 4kb Ktoś skompiluje? 'Piornik06.bas 'Program do wyświetlania ściągi. 'Z pełnym wykorzystaniem Eprom (512 znaków). 'W czasie pisania tekstu pozostaje on cały czas w okienku wyświetlacza. 'Pozwoli zapisać treść w postaci 512 znaków. 'Aby zapisać tekst, należy w Portc.3 ustawić 1 i nacisnąć...
http://obrazki.elektroda.net/71_11977438... Święta coraz bliżej. Często na zewnątrz wieszamy lampki choinkowe. Te albo świecą ciągle, albo mrygają niemiłosiernie. Najgorsze są te które niedość że mrygają, grają jeszcze oklepane melodyjki za pomocą blaszki pizeo. Coś efektowniejszego przeważnie kosztuje troche więcej, a sterownik przeważnie nie jest...
atmega8 czasomierz czasomierz sterowany czasomierz systemowy
wyciek freon hyosung moduł osłona obiektywu
latitude e5470 multimetr aneng
Zawieszanie i artefakty po wymianie dysku i RAM Błąd w Mercedesie Vito - diagnostyka i przyczyny