Witam. Kolego źle wpisałeś dane to znaczy odwrotnie. A ma być tak: Load Timer0,144 (7372800 / 256) = 28800 28800 / 144 = 200Hz = 5ms 5ms * 200 = 1sek [syntax=basic4gl]Odmierz_1s: Load Timer0 , 144 Incr Licz_5ms If Licz_5ms = 200 Then Licz_5ms = 0 end if[/syntax]
1) tak 2) tak 3) nie wiem o co chodzi ;) 4) Wszystko jest w datasheecie ladnie opisane, mozesz tez sciagnac sobie program avrcalc jak nie chce ci sie samemu liczyc ;)
tmf ->No tak, ale to wymaga (dla tej częstotliwości próbkowania) 8000 tys razy w ciągu sekundy ustawienia bitu w rejestrze. Ale liniowość pomiaru za to będzie lepsza.
Spojrzałem w ten kod i niestety jest tam o wiele więcej problemów. Typowy kod początkującego, ale OK - każdy kiedyś zaczynał i pisał takie potworki ;-) Co można naprawić? Już Ci to mówili w innym wątku: przede wszystkim wywalić czasochłonne operacje z przerwania. W ISR ustawiasz tylko flagę, a w pętli głównej sprawdzasz jej stan i, jeśli zachodzi warunek,...
Witam 10 bitów to 1024 kombinacji - chcąc mieć dokładność 0.1 stopnia daje to rozpiętość 102.4 stopnia w idealnym przypadku dopasowania napięć a skoro chcesz zakres od -35 stopni celcjusza zobacz jaką wtedy pt1000 będzie miał rezystancję - daj ją w szereg z czujnikiem (niekoniecznie przy nim ale tak żeby przepływał przez nie ten sam prąd co przez czujnik)...
Żeby nie zapomnieć na końcu to już tutaj napiszę, że liczy się to w programach bo one się rzadziej mylą, ale zrozumienie tematu jest oczywiście ważne. Jest kilka, a w pełni darmowych, kalkulatorów do tego. Timer jest urządzeniem sprzętowym wbudowanym w mikrokontroler. Najczęsciej taktowany jest w taki sposób, że sygnał zegarowy taktujący mikrokontroler...
witam , przy kwarcu #define F_CPU 4000000UL timerze0 i preskalerze 1 mam przepelnienie po 256 krokach po czasie 0,000064 s. zliczajac 15625 przerwan powinienem miec sekunde. jednak wystepuja u mnie 5 sekund opoznien z kazda kolejna minuta. zliczajac w ten sposob popelniam blad ?
Cześć Ten kod mi nie działa.Czy moglibyście rzucić na niego okiem. Ten kod poprostu ma za zadanie nadawać w standardzie space.Ladnie pokazuje adres ale nie działa komenda pokazuje same zera. [syntax=c_mac] //Załączanie plików nagłówkowych #include<avr/io.h> #include<util/delay.h> //Czasy dla nagłówka #define first_header 9460 #define second_header...
http://obrazki.elektroda.pl/2288772000_1... Witam, W końcu jest, po długich bojach wynikających z ciągłego braku czasu, praktycznie skończony zegar tekstowy made by Mitsubishit W zegarze się zakochałem jak tylko go ujrzałem w wersji oryginalnej na niemieckiej stronie producenta. Emocje ostudziła cena - jedyne 996Euro. Ale od tego czasu...
http://obrazki.elektroda.pl/3368298900_1... Rejestrator temperatury. Zbudowany dość dawno temu (nie pamiętam dokładnie kiedy). Zrobiłem go bo zawsze chciałem mieć coś takiego. Każdego dnia tworzony jest nowy plik w którym zapisywane są temperatury z czujnika. Aby nie bawić się w przyciski (chciałem wszystko zmieścić pod wyświetlaczem)...
https://obrazki.elektroda.pl/3403235600_... Witam wszystkich Chciałem się podzielić projektem, który wykonałem dla swojego znajomego w ramach wspólnej zabawy w elektronikę i informatykę ;) Założenia: -Zasilanie DC 12-48V -Komunikacja przez Ethernet -Możliwość obsługi kilku przycisków -Możliwość sterowania kilku przekaźników -Możliwość...
Sprawdzę to juto rano. Wyłączę przerwania przed inicjalizacją. Na dwie sekundy mam ustawiony w atmega32 odpalam wotchdoga identycznie i działa bez problemu.
Witam Mam problem polegający na tym, że potrzebuje napisać program, który po odczytaniu stanu niskiego na pinie np. pinb.0 utrzyma ten stan przez ok. 2 sekundy. Wygląda to tak: Mam diodę nadawczą i fototranzystor podlączony do pinu procesora. Gdy sygnał z diody nadawczej dociera do fototranzystora to procesor odczytuje stan wysoki. Gdy coś przerwie...
Witam Jestem początkujący w technice mikroprocesorków i w programowaniu w c. Aktualnie męczę się z wpisaniem czasu do PCF. Przy próbie zapisu w momencie kiedy sekundy równe są 5 wyświetlanie czasu zamiera. Reszta układu działa, ale czas na wyświetlaczu pozostaje w formacie 00:00:05 Wzorowałem się na : http://www.elektroda.pl/rtvforum/topic13...
Witam. Mam problem z zegarem na wyświetlaczach 7-segmentowych. Minuty po 09 wyświetla 16 zamiast 10, sekundy tak samo. Zawsze tak się dzieje, więc musi to być błąd w programie, ale ja już się poddałem, co może być nie tak. Config PortA = Output PortA = &HFF Config Portd = Output Portd = &Hff Config Portb = Output config portc.0 = output config...
1Hz to raz na sekundę. 8MHz to osiem milionów razy na sekundę. Sekunda jest tu kluczowa. W ciągu sekundy procesor taktowany 8MHz przetworzy około 8mln instrukcji (pomijam te które wymagają dwóch taktow) no a jak podłączysz do procesora taktowanie 16MHz to odwali dwa razy tyle roboty w ciągu sekundy . Zerknąłem na twoje kody i mam kilka rad. W Bascom...
Tryby CTC w ATMega32 są dwa. Ustawiasz WGM12 w rejestrze TCCR1B i wpisujesz wartość końcową do OCR1. Albo wpisujesz WGM12 i WGM13 do TCCR1B i wpisujesz wartość końcową do ICR.
Jeśli mam być szczery to potrafię korzystać z google i zależało mi na szybkim i prostym wytłumaczeniu, jakie timery jak zdefiniować odpowiednio czasy i jak obsłużyć te przerwania. W C robiłem głównie aplikacje konsolowe i znam konstrukcje pętli, umiem korzystać z instrukcji warunkowych i ogólne podstawy. Niestety przy uC zabija mnie tempo prowadzonych...
Po kilku dniach pracy urządzania stwierdziłem że jednak przydało by się żeby serwerek dodatkowo wysyłał dane do "https://thingspeak.com/" chociaż z termometru domowego. Próbowałem na rożne sposoby ale nie mam pojęcia jak to zrobić. Może ktoś z Was jest w stanie zmodyfikować kod ? Może kolega (at)bart-projects czyta ten temat? ;) (to ten sam kod co w...
teraz jak widać 2 sekundy - manipuluję wartością przepełnień zmiennej Licznik_sd - pomiędzy 58000 a 60000 Załadowanie wartości 6 do Timer2 powinno się odbyć tylko na początku ? Config Timer2 = Timer , Prescale = 64 ' 1 sekunda = 500 Timer2 = 6 On Timer2 Czas '250 x 8us = 2 ms , 256 - 250 = 6 Enable Interrupts Enable Timer2 Z Atmega32 nie miałem takich...
Witam Mam taki mały problem zbudowałem uradzenie składające się z 2 mikroelektronik ale, mam problem i nie mam pojęcia co może być przyczyną. Atmega8 wysyła impulsy PWM do ATmegi32, Atmega32 ma za zadanie w ciągu 1 sekundy zliczać impulsy z 8, wartość PWM jest regulowana i gdy 8 jest zasilana z całkowicie innego źródła np programator, wszystko jest...
Witam. Ja mam pytanie dotyczące wyświetlania czasu na lcd. Chodzi mi konkretnie o to czy wyświetlając jednocześnie czas i zmiany temperatury sekundy wyświetlają Ci się płynnie na lcd ? Ja w moim projekcie mam z nimi problem. Bo gdy wrzucę do procka obsługę tylko zegara to czas leci płynnie, gdy natomiast wrzucę obsługę czasu i temp. wtedy sekundy lecą...
Po całym dniu walki słabo opisałem mój problem bo już po prostu nie miałem siły :D Wyjaśniam... Zrobiłem sobie mikro serwerek LANowy na Atmedze32 i układzie ENC28J60. Z doświadczenia z tym układem i Atmegą wiem że znacznie stabilniej wszystko pracuje gdy mikroporocesor (Atmega) jest taktowana zegarem 25MHz z gotowego modułu ENC a nie własnym kwarcem....
Myślę że to powinno być tak: Po wciśnięciu przycisku program nie robi nic, tylko odlicza 3 sekundy, po czym przechodzi w tryb przyciemniania/rozjaśniania. Jeśli przycisk zostanie puszczony wcześniej niż 3 sekundy to program zauważa puszczony przycisk i automatycznie ustawia stan 0 lub 255.
Jak napisac funkcje w AVR dla ATMEGA32 w jezyku C, aby mozliwe było przechwycenie przerwania spowodowanego impulsem zewnetrznym w liczniku TIMER0?? Gdyż dla TIMER 1 ustawia sie bit TICIE1 w rejestrze TIMSK, a dla TIMER0 nie ma tam żadnego takiego bitu?? Jak to zrobić?? A drugie pytanko, czy jest mozliwość uzyskania 1 sekundy na TIMER0??? Dzieki za pomoc!!
Dzięki będą o tym niedługo myślał. Narazie jednak moją uwagę zabrał mój "stoper". Napisałem takie prosty kod: [syntax=c]void stoper_init(void) { //Ustawienia TIMER1 TCCR1B |= (1<<WGM12);// Ustawiam tryb timera na CTC - przerwanie gdy zgadza się porownanie z jakas liczba TCCR1B |= (1<<CS12);// preskaler =256 OCR1A=31250; //podzial przez 31250...
3 sekundy to za dużo. Odświeżanie wyniku co 3 sekundy nie będzie za bardzo wyglądało. Już lepiej co 1,2s i mnożyć x50. Otrzymamy rozdzielczość 50 i wynik w obr/min.
Witam, można to zrobić np tak: podpinasz kwarc zegarkowy, ustawiasz odpowiednio timer, który zlicza ci sekundy (albo milisekundy, to zależy jak skonfigurujesz timer) i w pętli wyświetlasz to na LCD, proste :D
Oto screeen z mkAVR z konfiguracją dla mojej atmegi: http://obrazki.elektroda.pl/7229968500_1... Tylko wydaje mi się jakby procesor nie pracował z częstotliwością 16mhz. Bo gdy napisałem program, który powinien gasić i zapalać diode co 1s (waitms 1000, toggle PortD.0) to dioda zapalała się i gasiła co 2 sekundy zamiast pożądanej jednej. Dlaczego?
Witam wiem post troszkę się zakopał ale muszę go troszkę odkopać. Mam problem z samym chyba kodzie, problem polega na tym że między 20 a 30 sekundą zegar nagle przyspiesz losowo. Oczywiście zaraz po upływie 59 sekundy wszystko wraca do normy, ale sam zegar został zrobiony w tym celu by bardzo dokładnie odmierzał czas i te sekundy są bardzo ważne. Ma...
Robię pewien projekt a dokładnie stacje lutownicza na regulacji fazowej i enkoderze i regulator PID. Regulacje zrobiłem enkoder działa regulator PID też. Chciałem dodać też pomiar prądu, ale wpadłem też na pomysł zeby zrobić odliczanie czasu działania urządzenia. Dodałem ten kod programu, przerwanie co 1ms z atrybutem NO_BLOCK. W sumie teraz wykorzystuje...
Co ten procek ma tu niby do roboty jak układ max7219 ma własne, wewnętrzne multipleksowanie i nawet jak chcesz żeby wyświetlał sekundy to co jedną sekundę wystarczy mu zapodać nowe dane. W ciągu tej sekundy masz 8 milionów taktów zegara do wykorzystania. Z tego maksymalnie, jak widać, 6 milisekund zajmie wysyłka danych do WTV. Zostaje ~994ms na inne...
Począwszy od AVRDUDE które najzwyczajniej na świecie nie działa w win 8.1 a przynajmniej tym moim (pojawia się ekran i po pół sekundy znika) A czego się spodziewasz po aplikacji konsolowej... pokaże co ma pokazać (czyli pewnie helpa) i zniknie. Chcesz używać avrdude to albo odpalasz z linii poleceń (cmd.exe) albo wykorzystujesz zewn. program (np. burn-o-mat...
Nie czytałem dokładnie tematu, ale przedstawię jak ja kiedyś sobie poradziłem z podobnym przypadkiem. Problem: spieszy o 0,5 sek/h Policzmy jaką masz odchyłkę na 1 godzinę w taktach zegara: 0,5 sek * 14.745.600taktów / 1h = 7.372.800 taktów/h A ponieważ robisz w tym czasie 3600 przerwań, a każde odlicza 256 taktów to oznacza, że na każde przerwanie...
Siema! Postaram się możliwie najkrócej opisać problem który spotkał mnie pierwszy raz, a od kilku dobrych dni nie mogę dojść o co chodzi... ;) Zaprojektowałem zestaw uruchomieniowy na Atmega32 wraz z 3 opcjami zasilania : - zasilacz zewnętrzny (LM2576) - VCC_LM2576 , - zasilanie z USB (przy wykorzystaniu układu ft232rl) - VCC_USB , - zasilanie ze złącza...
Funkcje delay tez maja swoje ogrniczenia(max czas opoznienia), dlatego i te trzeba potem dawac do petli, wg mnie w ogole mija sie z celem odmierzanie sekundy w sposob inny niz licznik;) No ale jak kolega tak bardzo sie upiera to i na nopach mozna zrobic:)
Witam Mam problem z multipleksowaniem wyświetlaczy LED. Mam gotową płytkę bazową http://obrazki.elektroda.pl/3311050900_1... oraz płytkę wyświetlaczy http://obrazki.elektroda.pl/5528051300_1... najpierw próbowałem ustalić, które segmenty mają się zapalać, aby poprawnie wyświetlać cyfrę. No i zaczyna się problem, bo chociaż...
Mój problem polega na tym, że po dołączeniu wyświetlacza LED Dzieje się tak dlatego, że w tym przypadku następują po sobie bardzo szybko dwie instrukcje PORTB = [syntax=c] if(i>0){ PORTA=tab[i]; PORTB=LED[0]; //ta jako pierwsza //_delay_ms(5); } PORTA=tab[j]; PORTB=LED[1]; //i kilka taktów po pierwszej, ta jako druga[/syntax] Efekt jest taki, że na...
Witam. Wlaśnie otrzymałem programator JTAG(pewnie wiekszość ma taki sam, ale dla pewności zdjęcia poniżej) http://photos04.allegroimg.pl/photos/ory... http://www.sibit.pl/allegro/usbice/foto/... Jakie kroki powinienem wykonać, aby moc pragramowac uklad(Atmega32 + kwarc 16MHz => ZL3AVR), co trzeba ustawic w AVR Studio? Aby debugować...
Ja to widzę tak: 1.Przykładowo ustawiasz taktowanie przetwornika na 1MHz co da około 76ksps(1MHz/13) i jest to maksymalna ilość sampli jaką możesz uzyskać. Czas pojedynczej konwersu wynosi 1/76000=~13,15us. Tryb free run. 2. Uruchamiasz timer, który w przerwaniu będzie odczytywał wartość konwersji. Przerwanie musi wywoływać się w odstępach dłuższych...
Witam kod wyglądana następującą: [syntax=basic4gl] $regfile = "m32def.dat" $crystal = 8000000 $lib "mcsbyte.lbx" $lib "ds1307clock.lib" Config Lcd = 16 * 2 Config Lcdpin = Pin , Db7 = Pa.0 , Db6 = Pa.1 , Db5 = Pa.2 , Db4 = Pa.3 , E = Pa.4 , Rs = Pa.5 Config Sda = Portd.3 Config Scl = Portd.0 Do I2cstart I2cwbyte 208 I2cwbyte 0 I2cstart I2cwbyte 209...
Witam, zbudowałem klasyczny zegar, tak jak w temacie napisałem na ATmega32, Chińskim module z układem DS1307 i z jakąś pamięcią na I2C której nie używam, czas pokazywany jest na wyświetlaczu LED. Wcześniej testowałem sobie to wszystko z wyświetlaczem LCD 2x16 HD44780 wszystko śmigało mi super. Po dodaniu LCD i multipleksowania zegar po kilku, kilkunastu...
Witam Przedstaw kod programu, który już masz. Jeżeli prawidłowo odczytujesz dane z PCF, to sprawa będzie już prosta. Rozdzielasz wtedy Godziny, minuty i sekundy na części dziesiętne i jedności, np tak: [syntax=c] uint8_t godzina10 = PCF_godzina/10; uint8_t godzina1 = PCF_godzina%10; uint8_t minuta10 = PCF_minuta/10; uint8_t minuta1 = PCF_minuta%10;...
Tak, zmieniają dokładnie co 2 sekundy ... Udało się rozwiązać problem, ale sam nie wiem co pomogło. Otóż wczoraj wieczorem już próbowałem zmieniac na taktowanie wew. i wypinać kwarc, nie pomogło. Również po włożeniu ponownie i ustawieniu na takt. zew. Dzisiaj zrobiłem to samo, z tym, że na wew. pobawiłem sie tzn. ustawiałem mu 1 mhz 2 mhz... wszystkie...
Witam, mam problem z dokładnością licznika czasu. Licznik ma mierzyć czas pomiędzy pojawieniem się napięcia większego od 512 na pinie PA7 a pojawieniem się zbocza narastającego na INT0. Licznik zlicza setne sekundy i sekundy. Późni się około 10 sekund na minutę. Korzystam z Atmegi32 o taktowaniu 8MHz. Wynik wyświetlam na wyświetlaczu. Napiecię na pin...
Witam, 1. Panowie, wiem, że ATmega32 w obudowie DIP nie gwarantuje prawidłowych co? odczytów napięcia? prawidłowego działania przy różnicowym pomiarze napięć czy w ogóle to w DIP'ie nie działa? - sprawdzał to ktoś może i ma jakieś informacje ??? Ja spróbowałem sobie zrobić pomiar napięcia na rezystorze 0,1R gdzie ADC0 jest podpięte do GND natomiast...
Dziekuje za odpowiedź.Problem w tym że obudzić umniem ,tylko że nie zawsze przy uśpieniu 'przycisk wy' on usypia.nieraz Wchodzi w jakiś stan w którym jest jeszcze większy pobór prądu - nie wiem czym to jest spowodowane?, $regfile = "m8def.dat" $crystal = 1000000 Dim I As Byte Dim E As Byte Config Pinb.1 = Output Config Pind.2 = Input Config Pind.1 =...
(...)to ma być jakość telefoniczna(...) Skoro tak to zupełnie nie widzę powodu używania dodatkowych zewnętrznych układów - ani pamięci, ani przetworników. W latach 80. mój znajomy zbudował syntezator/odtwarzacz mowy, w którym, dzięki kompresji, na zapamiętanie 1 sekundy próbek głosu zużywał ok. 2KB pamięci. Jakość dźwięku była całkiem niezła. No chyba...
Witam Rozpocząłem budowe swojego pierwszego quada i wciąż jestem zielony. Natrafiłem na pierwszy problem. Mam silniczki Emax GT 2215/12 a do nich regulatorki emaxa 25A. Sterować planuje przy pomocy tabletu z androidem, więc regulatorki podpinam pod atmege 32. Problem pojawia się że regulatorki po podłączeniu wydają króciutkie sygnały około ćwierć sekundy...
Zobacz jak u siebie to zrobiłem... http://obrazki.elektroda.pl/8283710200_1... Na PB4 jest wykrywanie zaniku napięcia. Kondensator 470u spokojnie wystarcza żeby zapisać kilka bajtów do eeprom, gdzie kod najpierw czeka jeszcze około sekundy na powrót zasilania i dopiero potem zapisuje gdy te nie wróci. Zauważ że na wyjściu przetwornicy...
jak ustawic timer by odliczal sekundy lub czas?? obecnie mam w programie uruchomione trzy - czy ktorys z nich sie nada?? Config Timer0 = Counter , Edge = Rising Config Timer1 = Timer , Prescale = 64 Config Timer2 = Timer , Prescale = 1 uklad ma tez zegar czasu pcf8583 - moze sie jakos do tego przyda?? moze jeszcze napisze do czego mi to jest wogole...
To raczej nie jest prosty problem ze źle ustawionym zegarem... Opisuje co zrobiłem po kolei: Mam własną płytkę PCB z ATMega32A i chciałem nią programować przez Arduino IDE (pierwszy raz, zawsze pisałem w C...) 1) Znalazłem poradnik jak dodać mega32 do A. IDE i napisałem prostego blinka i działało. 2) Jednak dioda zamiast sekundy migała znacznie wolniej,...
setne sekundy timer sekundy ds18b20 sekundy
przeciągać kabel peszlu obsada pierścień spolszczenie windows vista
domofony cyfrowe reason instrukcja
Mercedes W220 4.0 CDI - Stały błąd P2033 Chwilowy zanik prądu - przyczyny i rozwiązania