Jeżeli to jest przetwornica to nie pisz UPS. To kwestia tylko zamiany przed główną pętlą Do Loop: Reset tr1 Set tr1 W kodzie tym początkowym. Pamiętaj o tych 10ms.
Przecież to jest taka sama metoda jak tutaj opisywana.
Rezonator w MHz, a w przypadku ATtiny13 zewnętrzny generator.
symulator bascoma jest bardzo dokładny i liczy co do taktu. jeżeli program opiera sie na przerwaniach timera to należy włączyć okienko "Slim Timers" , wtedy symulacja trwa trochę dłużej ale bierze pod uwagę przerwania timera. co do compare1a to jest to rejestr poruwnawczy timera1. co takt zegara jest on poruwnywany z zawartościa timera (czyli licznika)...
Po pierwsze jakie czasy chcesz obliczać i jakie przerwania po co ??? To jest bascom nie assembler, deklarujesz na wstępie programu prędkość kwarcu a kompilator troszczy się o resztę tj. dajesz deklarację $regfile = "m8def.dat" $crystal = 12000000 Po drugie, procedura obsługi wyświetlaczy LCD (mowa tu o alfanumerycznych HD44780) jest w BASCOM zaimplementowana...
Właśnie przed chwilą też uruchomiłem zegar na ATMega8 choć wykorzystujący kwarc 32kHz (tzw. zegarkowy) niezależny od generatora głównego procesora. Jeżeli chcesz pozostać przy swoim pomyśle (równie dobrym) to w BASCOM-mie po kompilacji przejdź do opcji programatora gdzie będziesz miał trzy zakładki FlashROM ,EEPROM i Lock and Fuse Bits. Więc wybierz...
Ja się tam na BASCOMie nie znam, ale ten program to wyglada mi na generator liczb pseudolosowych ;) Weź się skup i zastanów co chcesz uzyskać. Kompletnie nie rozumiem, co Ty robisz z tym T. Co to ma reprezentować? Podpowiem, że jeżeli chcesz wyświetlić liczbę X z zakresu 0..99 na swoim wyświetlaczu, to byłoby to chyba coś takiego (zakładając, że wyświetlacz...
Jeżeli nie używasz przerwań to ich nie włączasz. Wprawdzie nie włączasz głównego, ale włączasz od timera (TIMSK1), dlaczego? Wzór z dokumentacji dla CTC: F = Fclk / (2 * N * (1+OCR1A)) = 16000 / ( 2 * 8 * 2000 ) = 16000 / 32000 = 0.5Hz Sterowanie pinem OC1A dla CTC: [syntax=c]TCCR1A = 1<<COM1A0[/syntax] .
Witam. Na forum jestem nowy, ale Atmege8 gryzę już od roku:). Zakładam że czytałeś datasheet'a od Atmega8 i niestety nie udało Ci się zrozumieć.Jeżeli tak to Ci pomogę. Po pierwsze w Atmega8 masz trzy timery/countery: -Timer0 8bit -Timer1 16bit -Timer2 8bit Timer1 i Timer2 możesz wykorzystać jako PWM,gdyż mają wbudowaną taką funkcje. Wiadomo że 16bitowy...
Witam. Mam takie o to zagadnienie, potrzebuje zrobić regulowany generator 0-15hz. Na wyjściu sygnał prostokątny, albo tylko same impulsy mogą być. Wszystko było by fajnie, ale muszę do tego użyć Timera i przerwania. A nie mam w ogóle pomysłu od czego zacząć i jak to zorganizować. Potrzebuję zrealizować coś takiego aby nie zależnie od głównej pętli...
Jak jest z dokładnością zegarka RTC w Atmega8? Słyszałem plotki, że nie chodzi to zbyt idealnie. Potrzebuję zrobić zegar do zliczania tylko dni i zastanawiam się czy jest sens stosować zewnętrzny układ RTC. Układ musi mieć podtrzymanie zegara z baterii/kondensatora w przypadku zaniku zasilania. Śmiało możesz użyć np. Timer1 w trybie CTC jako generatora...
Czyli liczy 10x za wolno. A czy dobrze ustawiłeś w programatorze fusebit odpowiedzialny za to z jakiego generatora ma korzystać? Bo wygląda że korzysta z wewnętrznego 1MHz
(at)seba_x:A co to za bzdura?:> • Peripheral Features – Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode – One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and Capture Mode A co do pytania autora, nie, zliczanie umożliwiają tylko dwa pierwsze timery. Trzeciego można używać jako wewnętrznego. Nie tylko...
W uproszczeniu częstotliwość sprzętowego generatora PWM to następująca zależność: F oscylatora / Prescaler / X, i tak: dla rozdzielczości Pwm=8 bitów X=510, dla rozdzielczości Pwm=9 bitów X=1022, dla rozdzielczości Pwm=10 bitów X=2046. Przykład dla rozjaśnienia: F kwarcu = 8MHz, rozdzielczość generatora PWM=9 bitów (możliwe 8,9 i 10), Prescaler=8 (możliwe...
a ustawiłeś Fuse Bity?? Bo jeśli nie masz ustawionych to ATmega pracuje z częstotliwością 1MHz. Musisz ustawić Fusy na albo 8MHz na wewnętrznym generatorze albo ustawić Fusy na zewnętrzny kwarc. i mniej więcej kod by tak wyglądał: $regfile = "m8def.dat" $crystal = 8000000 Cursor Off Dim Czestotliwosc As Long Const Licznik = 22336 Config Timer1...
zarzuciłem do pętli głównej Stop Timer1 Waitms 5 Start Timer1 i przy tym TSOP-y nie reagują. Za długo siedzę przy tym i już głupieje od tego. Udało mi się uzyskać zasięg 50cm ale potrzebuję 100cm. :( cry
Witam ! Mam mały problem mianowicie potrzebuję za pomocą procesora Atmega8 wygenerować dwa przebiegi odwrócone w fazie (na wyjściach OC1A i OC1B) Czy jest to możliwe do realizacji programowej ? Pozdrawiam KOD (dwa generatory): Config Timer1 = Timer , Prescale = 1 , Compare A = Toggle , Compare B = Toggle , Clear Timer = 1 Compare1A=100 Compare1B=100
Na pierwszy rzut oka w kwarcu. Nie możliwe żebyś zastosował kwarc 4915.2MHz do taktowania Atmega8 ale tu nie no to chodzi bo (chyba) masz kwarc 4.9152MHz. Sprawdz wartość _freq_time. 1. Timer1 ma tylko albo aż 16 bitów. 2. Nie zna C i nie wiem czy integer może przyjmować taką wartość.
Sposobów znalazłoby się kilka, ale ja proponuję: Włączenie "generatora" [syntax=basic4gl]Config Timer1 = Timer , Prescale = 8 , Compare A = Toggle , Clear Timer = 1[/syntax] Wyłączenie "generatora", przez "odłączenie" wyjścia OC1A, od portu(pinu). [syntax=basic4gl]Config Timer1 = Timer , Prescale = 8 , Compare A = Disconnect , Clear Timer = 1 [/syntax]
A czy mogę prosić o napisanie programu w BASCOMie generatora 36kHz w przewaniu TIMER1 ?? Dodano po 23 Atmega8 10Mhz - Kwarc
Witam Wszystkich! Chciałbym się poradzić w temacie pracy PWM(timer1) w ATMega8. Robię układzik który ma sterować obrotami silnika DC i problem polega na tym ze gdy wykonuje procedurę odswierzania LCD (Bus mode - 4bit), generator na czas obsługi LCD przestaje pracować. Czy zna ktoś moze przyczyne takiego zachowania?
A może by tak dwa liczniki zaprzęgnąć do jednego zadania... Timer0 byłby generatorem PWM 8-bit z regulowanym wypełnieniem, z zewnętrznym taktowaniem z koncówki T0. Timer1 byłby generatorem o regulowanej częstotliwości (Tryb CTC) i za pomocą przerwań zmieniałby stan końcówki wyjściowej, którą to podłączysz do wejścia T0.
Dodatkowy wpływ na błąd ma niedokładność częstotliwości generatora kwarcowego. Błąd w sekundach na dobę, wyraża się wzorem: \Delta=86400*(1-\frac{fwzr}{f}) \Delta - błąd w sekundach na dobę (wartość ujemna oznacza spóźnianie się) fwzr - częstotliwość wzorcowa (czyli to co ma być np. 4000000 Hz) f - częstotliwość rzeczywista kwarcu lub generatora kwarcowego...
a jak przy pomocy assemblera wyslac np 40 bitow na pin np 0.8 ? bo wlasnie ja mam podobny problem staram sie zrobic generator stanow logicznych ... taki w ktorym moglbym sobie zmieniac co ma generowac procesorek w danym czasie ,ale jestem za slaby w programowaniu pomoze ktos ? ;/
Ostatecznie zdecydowałem się na wykorzystanie trybu ICP w liczniku TIMER1. Jest to najlepszy sposób liczenia współczynnika wypełnienia w tym mikrokontrolerza. Kod pomocniczy zaczerpnąłem z tego forum, ktoś nieżle nawet mierzył stan wysoki z generatora. Pozdrawiam. Zamykam temat.
Udało mi się! 'Przykład generowania fali prostokątnej niezależnie od CPU 'procesor AT Mega8 'zegar wewnętrzny 1 MHz 'piezo pomiędzy PB.1 a +5V 'UWAGA!!!, ATMEGA8 ma domyślnie załączonego Wachdoga!!!. Trzeba wyłączyć bezpiecznik!!! $regfile = "m8def.dat" $crystal = 1000000 Dim I As Byte Ddrb.1 = 1 'port b.1 wyjściowy '---------------------------------------...
Grala1 - Nie wiem czy ta wersja spełni oczekiwania : '$prog &HFF , &HE1 , &HD9 , &H00 ' Fusebity fabryczne !!! $sim ' dyrektywa opuszczania zwłoki (usunąć ten wiersz przy wgrywaniu w chip) $regfile = "m8def.dat" ' dyrektywa kompilatora o rodzaju procka ATMega 8 $crystal = 16000000 ' określenie kwarca 16 MHz Config Pinb.1 = Output...
Nie wiem dlaczego tak jest, ale kiedy zmieniłem jedną linijkę programu program zaczął w miarę poprawnie działać. Chodzi o zbocze wyzwalania funkcji przechwytywania w tej części programu gdzie jest inicjacja Timer1 , należy zainicjować Timer1 tak, aby reagował na zbocze opadające. TCCR1B&=~(1<<ICES1); //wyzwalanie przechwytywania zboczem opadajacym...
Witam Mam do zrobienia generator na atmedze w którym zadaję częstotliwość oraz wypełnienie sygnału prostokątnego. Udało mi się odpalić i generator i PWM z osobna ale mam problem z ich połączeniem. Chcę taktować Timer2 (na nim robię PWM) z wyjścia Timera1. Czysto teoretycznie wydaje mi się to możliwe ponieważ Timer2 może pracować w trybie asynchronicznym....
Jeśli to np. timer1 to ustawiasz to bitami w rejestrze TCCR1A (przykład dla ATmega8): http://obrazki.elektroda.pl/3181773500_1... Przykład dla kanału A pin OC1A: [syntax=c]TCCR1A |= (1<<COM1A1) | (1<<COM1B1); //lub TCCR1A |= _BV(COM1A1) | _BV(COM1B1);[/syntax]
Witaj. Zajrzałem do helpa - Timer1=Czestotliwosc jest prawidłową instrukcją. Wcześniej masz - Dim Czestotliwosc As Byte a później operujesz na 16-bitowym Timerze1. W ATtiny26 Timer1 jest 8-bitowy, ale w Mega8 już 16-bitowy. Zmień na - Dim Czestotliwosc As Word i sprawdź rezultat. teedd
Mam problem z przerwaniem od timer1, wywołuje się ok. 64x wolniej niż wynika z obliczeń. Przykładowy prosty program: [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Dim 1ms As Word 1ms = 0 Dim A As Byte A = 0 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...
potrzebny jest mi generator fali PWM o zmiennej częstotliwości i wypełnieniu. Moim licznikiem jest timer1 pracujący w trybie CTC. Nie analizowałem kodu, bo przekombinowałeś. Jak chcesz mieć zmienne wypełnienie to użyj trybu FastPWM (tryb 15 z wartością TOP w OCR1A), a nie CTC. W trybie tym częstotliwość zmieniasz za pomocą rejestru OCR1A, wypełnienie...
Uruchomiłem wszystko zgodnie z tym ale nie wskazuje wyniku gdzie jest błąd Sygnał z generatora na razie podaje na pin D7 $regfile = "m8def.dat" $crystal = 8000000 Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5 Config Lcd = 16 * 2 Dim Wynik As Long Config Timer1 = Counter , Edge...
Witam Napisałem kilka linijek kodu, który ma działać jako generator częstotliwości z częstotliwością regulowaną przez SPI przez inny procesor. Mam zadeklarowaną zmienną globalną: unsigned int tim_reg_Val=3030 i zainicjowany timer1: TIMSK=(1<<TOIE1); TCNT1=tim_reg_Val; TCCR1B=0b011; sei(); Przełączanie stanu wyjścia załatwiam w...
Co w tym dziwnego? W czasie 0,1s. generator wykona 400000 taktów. Jeśli przez ten czas pętla zwiększa zmienną o jeden i na końcu wychodzi 9300 to znaczy, że pętla wykonuje się w ok. 43 takty. (niewielki ułamek w wyniku 400000/9300 może pochodzić od Impw = 0 Timer1 = 0, które wykonują się jeden raz po uruchomieniu Timera.)
Dalsza część zmagań. Jako generator impulsów zastosowałem zwykły switch, który zwiera pin ICP1 do VCC. I teraz rodzi się pytanie. Po jednym kliknięciu zmienna "koniec_pomiaru" powinna być równa 0 i tym samym dioda nie powinna się włączać. Natomiast jest inaczej. Pierwsze kliknięcie po uruchomieniu procesora powoduje załączenie się diody. Czyli tak jakbym...
Witam joboo proszę podpowiedz mi jak pozmieniać w kodzie żródłowym mam generator kwarcowy 14.3Mhz - czy może być taki ??? Kawałek kodu: $regfile = "m8def.DAT" $crystal = 16000000 / w tym miejscu mam zmienić ?? / Dim Sekjed As Byte , Sekdzies As Byte , Minjed As Byte , Mindzies As Byte , Maxi As Byte Dim Godzjed As Byte , Godzdzies As Byte , Wyswietl...
W Atmega8 masz 3 timery z czego: - 8 bitowy timer0 ma wejście T0, ale nie ma trybu CTC ani PWM , - 16 bitowy timer1 ma tryby CTC i PWM oraz wejście T1 i dwa wyjścia OC1A i OC1B, - 8 bitowy timer 2 z trybem z CTC i PWM, ale bez wejścia T2, ale ma wyjście OC2. Dodatkowo możesz podłączyć kwarc będący potęgą liczby 2, a to pomaga bo timery mają preskalery...
Witam! Potrzebuję wykonać na Atmedze generator przebiegu prostokątnego w zakresie częstotliwości 0-10kHz do współpracy ze sterownikiem silnika krokowego. Nie jestem najlepszy w obsłudze timerów więc stąd prośba o pomoc. Chciałbym aby wybrana częstotliwość mogła być zadawana przy pomocy przycisków "góra", "dół" oraz potencjometra. Udało mi się stworzyć...
Po co stosujesz Timer1 do generowania sygnału buzera . Zastosuj buzer z generatorem a Timer1 wykorzystaj do czegoś innego. Zmień strukturę programu , dokładnie opisuj poszczególne linijki kodu , musimy zgadywać co autor miał na myśli ? Wywal wszystkie Wait'y z programu Przykład jak powinieneś układać linie kodu : If Przycisk = 0 Then 'jeśli przyciśnięty...
Układ jest budowany na atmega8 i taktowany kwarcem 8MHz. Najlepiej było by to zrealizować to bez dodatkowego układu, szczególnie że zależy i na jak najmniejszym rozmiarze całego urządzenia. Niestety nie wiedziałem że jest taka możliwość żeby uC taktować jednym kwarcem np. 8MHz a timer1 drugim kwarcem 32kHz. Nawet nie mam pojęcia jak się za to zabrać,...
Proponuję użyć dowolnego uC z dwoma licznikami, ale niekoniecznie atmega8 ;) Pierwszy pracuje w trybie pomiaru częstotliwości lub pomiaru czasu (Input Capture). Drugi pracuje jako generator przebiegu wyjściowego, pędzony np. z zegara systemowego. Wartość zmierzona przez pierwszy licznik jest argumentem funkcji modyfikującej częstotliwość i/lub wypełnienie...
Odświerzę trochę temat. Ja konkretnie muszę w miarę precyzyjnie zmierzyć prędkość obrotową w możliwie krótkim czasie. prędkość w zakresie 750-6500 obr/min. Dysponuje tarczą 25 nacięć na obrót i fotokomórką szczelinową która daje ttl na wyjściu. Puki co ttl generuje z generatora ne555 by uniknąć błędów pomiarów związanych ze stroną mechaniczną systemu....
Proszę uprzejmie oto najnowsza i aktualnie używana wersja kodu: [syntax=c] #include <avr/io.h> #include <stdlib.h> #include "HD44780.h" int main(void) { LCD_Initalize(); DDRD |= (1<<PD5); ADCSRA |= (1<<ADEN); //Inicjalizacja Timer1 (PWM) TCCR1A |= (1<<COM1A1) | (0<<COM1B1) | (1<<WGM11); //Tryb 14 (FAST PWM,...
Witam Siedzę nad generatorem do przetwornicy Proszę o sprawdzenie moich wyliczeń czy dobrze rozumuje i liczę Chcę uzyskać z procesora częstotliwość ok. 41Khz Kwarc mam 8Mhz Tak ustawiam Timer Compare1a wpisałem 3 więc 125000/3=41666 Na wyjściu spodziewam się takiej częstotliwości 41,666Khz Czy dobrze to wykombinowałem ?
Podejrzewam że problem jest z odbiorem danych z pilota. BASCOM i GETRC5 nie za bardzo sobie z tym radzi. No i czy masz na pewno pilota RC5? Dodano po 1 Zobacz to: [syntax=basic4gl] $regfile "m8def.dat" 'konfiguracja mikroprocesora $crystal = 4000000 'konfiguracja kwarcu Config Portb = &B11111111 Portb = &B11111111 Config Portc = &B1111101...
Miałem w zbiorach ten kalkulator ale zapomniałem o nim. Chyba już obczaiłem skąd mam 181 a nie 363 według niego ułożyłem sobie wzór Jeden zasadniczy blad ludzie popelniaja uzywajac Timer1 w trybie CTC do generowana fali i jednoczesnie stosuja wzory z "Fast PWM". Fakt, ze mozna w ten sposob rowniez wygenerowac fale o tychsamych paramertach, to jednak...
Witam. Jeżeli nie ten dział to przepraszam i proszę o przeniesienie do odpowiedniego działu. Napisałem program do pomiaru czasu trwania stanu niskiego. $regfile = "m8def.dat" $crystal = 16000000 Config Lcd = 16 * 2 Enable Interrupts Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.5...
Chciałem po prostu wiedzieć czy te bity konfiguracyjne dla trybu Fast PWM mam dobrze ustawione bo już dość długo nad tym siedzę i nie potrafię dojść do ładu. To zależy co chciałeś uzyskać. Jeśli chodziło Ci o tryb FAST PWM z definiowaną rozdzielczością to do tego przeznaczone są tryby 14 i 15. W trybie 15 wartość wpisana do OCR1A definiuje rozdzielczość...
Witam Mam problem z działaniem/uruchomieniem generatora PWM na ATmega8535. Kod w BASCOM'ie: Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down Dim A As Byte 'Config Pind.4 = Output 'Config Pind.5 = Output Do For A = 0 To 255 Waitms 10 Compare1a = A Compare1b = A Next A For A = 255 To 0 Step -1 Waitms 10 Compare1a =...
Witam wszystkich, jestem początkujący w AVR i potrzebuje porady. Napisałem program do zliczania czasu (timer0) oraz generacji prostokąta na 40khz (timer1- fast pwn 16bitowy) Ogólnie to atmega pracuje na 1Mhz nie daje kwarcu.. Moje pytanie czy jest możliwość zrobienia generatora na 40kHz na innym timer0 lub timer 1 (8 bitowe) bo timer 1 jest 16-bitowy...
Witam! bardzo serdecznie. Chciałem zrealizować w oparciu o mikrokontroler ATmega8 odtwarzacz dźwięku. Jest to tylko układ realizowany w celach edukacyjnych, więc chciałem dane zapisać najpierw w pamięci EEPROM (ATmega8 ma 512b). Ma być to jeden krótki dźwięk odtwarzany po włączeniu mikrokontrolera. Dźwięki chcę odtwarzać za pomocą głośnika przez PWM....
Witam. Dawno nie pisałem w BASCOM-ie a zdecydowałem się na niego bo myślałem, że tak będzie szybciej i prościej. Nic bardziej błędnego. Do napisania był dwu-trybowy program uśredniający do nieco przerobionego radiometru SOSNA. Ale nie w tym rzecz. O ile kod który zamieszczam powstał w miarę szybko o tyle błędu nie potrafię wyeliminować 3 dzień. Po krótce...program...
Nie możesz tylko używać Timera2 do innych celów, bo właśnie jest on używany przez RC5 Funkcja GETRC5 domyślnie wykorzystuje Timer0 a nie Timer2. Oczywiście można to zmienić w konfiguracji, jednak autor tego nie czyni. Zatem pozostają mi dwie opcje, albo przestać używać timera0 do odliczania 1s odcinków czasu i zaprzęgnąć do tego timer2 (co może nie...
Witam. Do kolegi Aimeiz dwa pytania jeśli można: 1. w zapodanym przez Ciebie kodzie baskomowym na atmega8 jest lina If Pind.2 = 0 Then Lcd "Rcvr" Else Lcd " " - napis Rcvr na się wyświetlac tylko w stanie niskim portu d.2 - czyli na dobrą sprawę będzie migał ? Zegar liczy i wyświetla u mnie dobrze. Jak zapodam na d.2 niski stan napis się pojawia. 2....
Wzorcowy układ : http://obrazki.elektroda.pl/6609990300_1... i program ze znanej książki : [syntax=vb]'Program sterowania jasnością dwóch diod LED za pomocą sygnału PWM 'Rozdzielczość sygnałów PWM 8 bitów 'Częstotliwość sygnału PWM ok. 15,6 kHz $regfile = "m8def.dat" 'informuje kompilator o pliku 'dyrektyw mikrokontrolera $crystal =...
Bardzo dziękuję za tą podpowiedź. Obecnie podkształcę się o tym trybie i postaram dokończyć program. Jednak po tym co wyczytałem wykorzystałem generator wewnętrzny na 8MHz '$crystal = 8000000 Ale tu pojawia się małe pytanie, czy lepiej dać generator wewnętrzny czy może kwarc zewnętrzny Wprawdzie za dużo nie udało mi się znaleźć pod BASCOM-a, a pod C,...
w petli glownej po sprawdzeniu flagi odebrania danej i odebraniu danej powinienes te flage skasowac, inaczej bedziesz caly czas informowany o czekajacej na odbior danej: while(1) { if (RC5Avail) { PORTC = RC5RxCommand; RC5Avail=FALSE; // >>tutaj<< } // display new RC5 dataPORTC = ; delay(10); }...
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ść...
potrzebuję zrobić generator na Timer 1 w ATmega 8 1kHz prostokąt. Proszę o sprawdzenie kodu czy może to działać . Siedzę nad pdf atmegi ,przeglądam konfigurację i opisy i nie bardzo rozumiem. Taktowanie wewnętrzne 1Mhz /preskaler =8/ 125 = powinno wyjść 1kHz ,pożniej jeszcze modyfikacja aby można było przełaczyc na 500 i 250 Hz. 15:44:27 ****...
Chcę uzyskać przerwanie INT0 lub timer od przerwania dokładnie 1kHz. Aktualnie medzia8 pracuje na 16MHz i ni w ząb nie idzie uzyskać precyzyjnie 1kHz wykonując jeszcze chociaż zmienna++ by odliczać czas 1 ms w owym przerwaniu (ctc lub ovf). Świadom jestem niedokładnego kwarcu zewnętrznego dlatego poszedłem w inne rozwiązanie. Wykorzystałem przebieg...
Witam Mam problem z programem odmierzającym czas. Mikrokontroler współpracuje z czujnikami ultradźwiękowymi. Ogólne założenie programu jest takie że generuje paczkę 8 impulsów prostokątnych o częstotliwości 40KHz następnie 4ms na wyciszenie układu. Generowanie paczki wykonywane jest za pomocą Timera2 w trybie CTC. Następnie za pomocą Timera1 powinien...
Cześć jestem nowy na forum więc się przedstawię jestem Kamil mam 14 lat i od niedawna zajmuję się programowaniem. problem w tym że jestem początkujący i w sumie nie rozumiem kilku rzeczy . :| Dlatego proszę o wyrozumiałość. Moje pytanie dotyczy generatora 36 khz napisałem prosty program, ale oczywiście nie działa, ponieważ sedno problemu tkwi w tym...
KaJakKrzysztof: W katalogu Bascoma w program files masz katalog Samples. Jest tam o ile się nie mylę zegarek, jakiś bardziej skomplikowany zegarek i mnóstwo innych przykładów zastosowań timerów, przerwań itd. Na pytanie - czy coś takiego będzie działać odpowiedz sobie sam, załaduj program do AVR-ka. Timer od countera różni się tym, że służy do ODLICZANIA...
Męczę się już z tym trochę i mimo prób znalezienia rozwiązania - porażka. Układ ma być niby nic specjalnego : - sterownik jakiegoś tam urządzenia, - oparty na ATMega8, - ma sterować głównie przekaźnikami, które będą coś tam załączały (niby proste dwa stany włącz/wyłącz) według schematu : http://obrazki.elektroda.net/0_124798921... - wyświetlacz...
Ok dzięki panowie już teraz rozumiem. Pobrałem sobie ze strony BTC z zaproponowanej książki przykładowe programy BASCOm i pewnie chodzi o ten właśnie kod ?? 'Program regulujący prędkość obrotową silnika DC 12 V 'Do sterowania wykorzystano sygnał PWM 'Częstotliwość przebiegu PWM ok. 254 Hz - 8 MHz/510/64 'Przycisk S1 zwiększa prędkość obrotową silnika...
Witam Od kilku lat bawię się Bascomem i jest to fajny kompilator, ale tylko do pewnego momentu. Helpa można zużyć spokojnie jako papier toaletowy. Publikacje Pana Wiązani są dobre ale tylko na początek zabawy. Ostatnio pracuję nad pilotem RTV który ma obsłużyć 4 urządzenia. No i zaczęły się schody. Pierwszy problem to sprzętowy generator nośnej ok....
Witam wszystkich. Zaprojektowałem i uruchomiłem zegarek z wyświetlaczami LED(SA10-21GWA) i układem PCF8583 współpracującym z mikroprocesorem Atmega8 oraz układami PCF8574AP na szynie TWI(i2c). http://obrazki.elektroda.net/21_12497604... http://obrazki.elektroda.net/58_12497606... http://obrazki.elektroda.net/95_12497605...
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ł...
Niestety wychodzi teraz trochę moje lenistwo, uznałem że jeśli zbyt wysoka dokładność nie jest potrzebna to nie ma co się bawić. :arrow: tmf 1. Powinienem go podłączyć tak jak w mojej płytce testowej http://www.elektroda.pl/rtvforum/topic22... . 2. Rzeczywiście z rozpędu podłączyłem AREF do VCC, na szczęście nie stwarza to w tym przypadku problemów...
Witam to mój pierwszy post na tym forum, stąd możecie mi wierzyć jak bardzo jestem zrozpaczony:) jeśli temat jest w złym miejscu to prosiłym moderatora o przeniesiegnie i z góry przepraszam:) zwykle staram się rozwiazywać wszystkie problemy sam ale tym razem mam coś czego nie jestem w stanie zrozumieć. Pracuję chwilę nad programem którego działanie...
Witam, najpierw program: .include "m88def.inc" ; procek ustawiam na prace z wewnętrznego oscylatora 8MHz ; tryb sleep ustawiam jako POWER DOWN ; PD3 (INT1) jest przyciskiem (wejscie) ; PB1 (OC1A) to wyjscie sterujace reglem ; PB5 to wyjscie sterujące MOSFETami zalaczajacymi zasilanie regla ; PD5 (OC0B) to wyjscie sterujace LEDem ; ADC6 - pomiar pradu...
Witam . Proszę was o sprawdzenie kodu dla Atmega8 . Założenia do programu . Uruchamiamy , napis powitalny . Następnie program wczytuje temperaturę przez termoparę k , przetwarza to max6675 i przekazuje na wyświetlacz . Jeśli temperatura będzie równa lub przekroczy 40 stopni , następuje załączenie silnika i możliwość regulacji od 30% do 100% . Jeżeli...
Witam czy ktoś potrafi podać przyczynę dlaczego zmienna "czas" raz przyjmuje wartość 1000 a raz 768 w tym programie? TO liczy impulsy z generatora LC, T1 natomiast odlicza odcinki 1ms. [syntax=c] #include <avr/io.h> #include "HD44780.h" #include <util/delay.h> #include "Przerwanie_INT0.h" #include <avr/interrupt.h> #include <math.h>...
ok, wybacz. Po prostu miałem otwarty jakiś help do timerów atmega8 a nie całą atmege i tam nie bylo napisane który to pin. Zatem załączam bit wywołujący przerwanie od przechwycenia i tryb przechwycenia TIMSK |= ((1<<TICIE1) | (1<<TOIE1)) Podłączam generator impulsów pod PB0(ICP1). w rejestrze TCCR1B określam prescaler i programuję ICES1...
Witam, wykorzystałem kod do obsługi video po composite ze strony [url=http://jmp.no/blog/amvtg-atmega-vid... i uruchomiłem go z atmega8 z kwarcem 16mhz (zadziałało po zmianie jednej rzeczy). Jednakże oryginalnie był pisany pod NTSC, a ja chciałbym zmienić go pod system PAL (czy raczej CCIR). Teoretycznie jestem świadomy różnic między...
http://obrazki.elektroda.pl/9589280700_1... HPS 2014 Hybrydowy laboratoryjny zasilacz sieciowy. Parametry użytkowe zasilacza w skrócie: 1. Wykorzystanie tanich i łatwo dostępnych elementów. 2. Wydajność prądowa min 3A (dla niskich napięć może dochodzić do 5A). 3. Rozdzielczość DAC 12bit. (filtrowany PWM 4.9kHz) 4. Rozdzielczość ADC...
http://obrazki.elektroda.pl/4758191500_1... Po kilku miesiącach pracy wreszcie jest! Teraz możecie pytać, która godzina! Pomysł projektu powstał, kiedy przez cztery dni autor podróżował po kraju. Kody QR są bardzo popularne z wielu powodów. Sprzedawcy uznają, że są one bardzo praktyczne i żądają umieszczania ich wszędzie, gdzie się...
atmega8 timer1 timer1 generator atmega8 przerwania timer1
naprawa telewizor philips światła mijać honda przycisk otwierania elektrozaczepu
junkers czujnik temperatury junkers czujnik
Toyota RAV4 2005 - Błąd P0506 - Niskie obroty biegu jałowego Bezpieczniki świateł w Mercedesie Sprinterze W906