Gdzie Start Timer0
Witam Porwałem się na robienie własnego sterownika co i stanąłem w martwym punkcie. Mianowicie sterownik składa się z 2 płytek na których są Atmegi 16 taktowane zewnętrznym kwarcem 11.059200 + kwarc zegarkowy jeden układ odpowiedzialny za odczyt temperatur regulację fazową wentylatora oraz sterowanie...
Witam, Chciałbym napisać jakiś najprostszy program w VB do obierania wartości zmiennej wysyłanej przez Atmegę, wysyłana jest zmienna Lngfreq Program wgrany na atmęgę poniżej [syntax=basic4gl] 'Filename Encoder_100.bas 'Version 1.00 'Date 2012-03-19 'Purpose Test of ALPS STEC11B13...
Witam forumowiczów. Mam mały problem z przerobieniem programu do mierzenia temperatury wzmacniacza 2x200W, problem polega na tym że mam program pod kostkę AT89C2051 a obecnie dysponuje tylko atmegą 16. Oryginalny program jest użytkownika "lechoo". Byłbym bardzo wdzięczny gdybyście pomogli mi przy tym...
Przygotowałem specjalnie do testu [syntax=vbnet] $regfile = "m1284pdef.dat" $crystal = 8000000 $hwstack = 128 ' rozmiar stosu sprzętowego $swstack = 128 ' rozmiar stosu programowego $framesize = 128 $baud...
na każdym który napiszę jest tak samo, w nowym temacie powyżej podałem ustawienia fuse bitów, zaraz wkleję kawałek na którym teraz się bawię Dodano po 4 to kod na którym teraz się bawie '**************************...
Witam Piszę program w Bascomie na Atmega32 do sterowania ogrzewaniem w warsztacie i mam problem. Jest zegar RTC, zewnętrzny Ram, Timer, Menu i to wszystko działa bez zarzutu - dokładnie tak jak bym chciał. Chciałem dołożyć czujnik temperatury i wykorzystać do tego celu wejście ADC. Problem pojawia się...
Zerknij na to [syntax=c]/* * Timer0_fast_pwm_adc_irq_1.c * * Program uruchamia licznik Timer0 w trybie modulacji szerokości impulsu, tzw. Fast PWM. * Wyjście modulatora PWM na końcówce (OC0) PORTB.3. * Zostaje uruchomiony przetwornika ADC, pomiar z kanału 0, pomiar 10-bitowy, wyz. ADC z...
Witam wspólnotę chciałbym zaznaczyć że z wykształcenia jestem mechanikiem, a z programowaniem nie miałem wcześniej styczności. Przeczytałem książeczkę która mowiła o programowaniu w jezyku bascom, i stworzyłem taki o to kod programu. [syntax=basic4gl] $regfile = "m8def.dat" $crystal = 8000000 Config...
Witam Udało mi sie uzyskać w miarę płynną regulacje na podanym przezemnie wyżej schemacie PC817 zastoswałem gdyż był pod ręką a PC814 jeszcze nie dotarł Ale docelowo chciał bym zastosować ten drugi zmieniłem też program teraz procedura przerwania i timera wygląda następująco [syntax=vbnet] $regfile...
Z tym Bascomem nie może byś aż tak źle - znalazłem w sieci opis pojazdu typu segway na silnikach BLDC i wszystko w Bascomie. [syntax=vbnet]'25 04 2017 'poprawiny blad z wartoscia w przypadku braku potencjometru '21 04 2015 ...
Czesc, No niestety nie hula... probowałem tego. Myśle ze atmega jest zryta jakos... Mimo tego, ze mam obsługe przerwań i tak, wiem ze to musi działać bo skopiowałem to z mojego poprzedniego projektu, to mi się restartuje atmega. Zwrać na płytce nie ma. [syntax=c] #include <avr/io.h> ...
Sygnał mierzony na Pind.4. Mega na kwarcu zewnętrznym. $regfile = "M8def.DAT" $crystal = 11059200 Config Lcd = 16 * 2 Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.4 , Db6 = Portb.3 , Db7 = Portb.2 , E = Portb.6 , Rs = Portb.7 Cursor Off Dim Czestotliwosc As Long Const Licznik =...
Witajcie ! Wiem, że temat był wałkowany na Elektrodzie wielokrotnie, czytałem chyba wszystkie, nie znalazłem jednak rozwiązania mojego problemu. Może na początek schemat : (tablica ma faktycznie 5 rejestrów i 40 kolumn, nie chciało mi sie jednak całości rysować.) teraz banalny kod :...
Witam. Jestem w trakcie wykonywania projektu. Sterowanie PWM-owe ogniwem peltiera załączanym mostkiem typu H, z sprzężeniem zwrotnym na czujniku PT100 odczytywanym z ADC. Pierwsze kroki to budowa układu, z odczytem ADC, kalibracjom i skalowaniem. Zrealizowałem, i działa. Gdy zacząłem pisać kod z...
Witam Moja Atmega 16 wiesza się w pętlach Uszczenianie i Paletyzacja poniższego programu: 'Listing programu obsługującego symulator procesów. Program został napisany ' i skompilowan w programie BASCOM-AVR 1.11.9.8. $regfile = "m16def.dat" 'określenie...
Witam, W dokumentacji dowolnego mikrokontrolera ATmega z łatwością można odnaleźć tablicę z wektorami przerwań, np. taką: 1 $0000 RESET 2 $0002 INT0 External Interrupt Request 0 3 $0004 INT1 External Interrupt Request 1 4 $0006 INT2 External Interrupt Request 2 5 $0008 INT3 External Interrupt...
Użyj jakiegoś timera i przerwania, powiedzmy TIMER0. Policzmy trochę. Zakładam zegar 8Mhz. Jezeli uzyjemy preskalera 256 to czas co jaki zostanie wywołane to przerwanie to 256*256/8000000=0,008. Ilość taktów co jakie zostanie wywołane przerwanie to 256*256=65536 (pierwsze 256 wynika z tego, ze licznik...
Witam! Próbuje zbudować zegar na wyświetlaczu led 4x7 segmentów. Na wyświetlaczu widać dziwne wskazania tak jakby cyfry nakładały sie na siebie i w żaden sposób nie mogę tego zlikwidować :cry: . Widać ze na wyświetlaczu cos sie zmienia tylko nie wiadomo co. Oto kod z bascoma: $regfile = "m8def.dat" $crystal...
Witam Ja osobiście zrobił bym to porządnie czyli z urzyciem przerwań, bez żadnych podprogramow, korzystając z etykiet. Ponizej przedstawiam przykladowy kod. Mogą być w nim literowki gdyż pisałem prosto z palca bez kompilacji: '************* Konfiguracja uC ***************** '********************...
Wymyśliłem coś na próbę nim zacznę kombinować bo nie wiem czy do końca to ma tak wyglądać jak przedstawiam bo to teoria książkowa na której opieram swoje założenia. $crystal = 8000000 $regfile = "m8def.dat" ... .. Config Timer0 = Timer , Prescale = 64 .. On Timer0 Timer0_int Enable...
Witam wszystkich forumowiczów. Ostatnio złożyłem sobie układ sterownika domowego z pewnej strony internetowej. Wszystko złożyłem z jak największą starannością. Zaprogramowałem uc ale wydaje mi się że układ nie działa tak jak powinien. Próbowałem znaleźć przyczynę problemów ale niestety do dzisiaj mi...
Czy taki programik napisany w bascomie wystarczy, by wysłać dane z ADC Atmegi8L bluetoohem podłączonym po Rx i Tx? Wydaje mi się, że powinno być ok skoro transmisja jest szeregowa. $regfile = "m8def.dat" $crystal = 3686400 $baud = 19200 Config Adc = Single , Prescaler = Auto , Reference = Avcc Config...
Witam, od jakiegoś czasu próbuję stworzyć sobie zegarek z termometrem + napięcie akumulatora do auta. Wszystkie programy osobno działają bez zarzutu. Problem zaczął się z chęcią wprowadzenia przełączalnych ekranów i wprowadzeniu przerwań. Doczytałem że przerwania skutecznie psują komunikację z DS'ami...
Witam Coś tam podziałałem i udało mi się uzyskać coś co przypomina sinusoidę :) Kod: [syntax=basic4gl]$regfile = "m32def.dat" $crystal = 8000000 $hwstack = 80 $swstack = 32 $framesize = 64 Config Pind.4 = Output 'oc1b Config Pind.5 = Output ...
Witam, Potrzebuje podłączyć 8 diod LED 3mm dwukolorowych i buzzer z generatorem pod uC ATmega16/32 i nie bardzo wiem jak to zrobić :( Problem polega na tym, że nie mam pomysłu jak to zrobić i to, że mam tylko wolne dwa piny w uC. LEDy jakie chcę wykorzystać mają parametry: Red - kąt 30º;...
Witam! Jakiś rok temu zainteresowałem się elektroniką. Zrobiłem kilka układów. Obecnie interesuję się programowaniem mikrokontrolerów. Zakupiłem na allegro zestaw uruchomieniowy EvB 4.3 ( wystarzczy, że wpiszecie w wyszukiwarce i będziecie wiedzieli o co chodzi) - inaczej po prostu płytka uniwersalna....
Może to co napiszę jest trochę prymitywne ale działa, sprawdziłem :-) No więc można też tak: Start Timer0 Do Loop Until We=1 Timer0=0 Do Loop Until We=0 Wynik=Timer0 We to dowolny pin. Prescaler timera trzeba ustawić tak żeby mierzony impuls zmieścił się w zakresie 0 - Tmax (zależy ile...
Na początku programu ustaw timer: [config timer0=timer,prescale 64'(na przykład) enable interrupts'(odblokuj przerwania) on timer0 obsluga_syreny'(nazwa podprogramu gdzie ma skoczyc w przerwanie) enable timer0 counter0=6'(wartość początkowa licznika,na przykład) -----------------------------...
hmm, no rzeczywiście (doczytałem w książce)... Dodano po 3 W dalszym ciągu ucina mi napisy ;/ przy wpisaniu tekstu: "DIODA ELEKTRODA 0123456789ABCDEF elektroda" ucina mi na cyfrze 6...dalej nic nie ma przez chwilę tak jakby tablica BUFOR była pusta. poniżej przedstawiam kod programu: $regfile...
Witam chcę zrobić lampke rgb sterowaną na pilota rc5, jednak napotykam pewien problem: kod programu $regfile = "m16def.dat" $crystal = 8000000 Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Up , Prescale = 1 Config Timer2 = Pwm , Async = Off , Pwm...
Nie mam przez weekend dostępu do programatora itp. aby sprawdzić mój program. Czy poniższy kod zadziała jak programowe pwm na pd.2 oraz czy pb.3 będzie sobie mrugał? Wiem że nie powinienem pytać, tylko to sprawdzić ale zależy mi na waszej opinii :D $crystal = 1000000 $regfile = "m16def.dat" Config...
Przeznaczenie: Zatrzymuje działanie programu lub określone urządzenie. Składnia: STOP STOP urządzenie gdzie: urządzenie nazwa symboliczna uruchamianego urządzenia. Opis: Pierwszy format instrukcji powoduje zatrzymanie działania programu. W tym celu jest wykonywana pusta pętla,...
Witam! Od niedawna męczę się z odebraniem kodu Rc5 w tle działania innego programu. W moim wypadku jest to zegar z budzikiem na LCD który działa bez problemu lecz jak tylko dorzucę do programu procedurę odbierania Ir to wtedy przestaje mi liczyć czas mój zegar. Niżej zamieszczam przykładowy program...
connfig timer0 = timer , prescale = 64 dim i as byte,j as byte dim s1 as bit on timer0 czas enable interupts enable timer0 do //tu wstawiasz obsługe przycisków //iustawienie s1 w zależności czy drzwi sa otwarte s1 = 1 czy zamknięte s1=0 loop end 'program czas: //ten...
Witam, sytuacja wygląda następująco: chce zrobić PWM'a w przerwaniu TOV1, który sterowany jest z ADC. Problem polega na tym, że kod, który jest w tym przerwaniu nie powoduje żadnej zmiany na wyjściu PWM, jeżeli przenoszę kod do pętli nieskończonej wszystko chodzi jak należy i nie wiem dlaczego to w...
Nie. Robię to mniej więcej tak: czekam na przejście przez zero i w czasie półokresu włączam i wyłączam na określony czas dmuchawę. Jestem pewien, że można to zrobić łatwiej, ale musiałem całość szybko uruchomić, a że ten sposób działał to już tak zostało. Póki co dmuchawa się nie popsuła przez takie...
Zaraz wrzucę to do programu, ale czy to normalne że ds18b20 zaniża mi temeraturę o 2-2,5 stopnia? Kupiłem nowy za 10zł i to samo. Wrzucę cały program do wglądu. Wiem, że może być coś nie tak napisane, ale działa tak jak chciałem ;) Dodano po 3 Edit: Jest jeszcze jeden problem. Co jakiś czas...
Witam. Mam problem. Zrobiłem generator jak na rysunku poniżej: Potrzebuje mierzyć w czasie rzeczywistym częstotliwość jego pracy. Chcę zrobić na Atmedze8 którą posiadam. Podłączyłem do niej wyświetlacze siedmiosegmentowe i napisałem w C ich sterowanie. Moja pierwsza próba: Najpierw próbowałem...
Witam, wiem że w sieci jest 1*e^6 lub więcej gotowych liczników impulsów, lecz ja chciałbym mieć pełną kontrolę nad moim kodem, a nie kopiować bezmyślnie. Tak więc sprawa tyczy się zliczania impulsów 5V od obrotów i prędkości w motocyklu. Do tego celu chcę wykorzystać układ AVR ATMega 16 lub mniejszy...
. nie moge sobie poradzic z zegarem czasu rzeczywistego , zegar jest wyswielane ale nie idzie , jak mam go ruszyć , oto fragment programu Config Clock = Soft Config Timer0 = Timer , Prescale = 1024 Start Timer0 Do Home Lcd Time$ Loop Uzywam kwarc 4mhz...
Dzięki Marcin za odpowiedź. W sobotę kupiłem TowerPro SG-5010, bo tamte, faktycznie za delikatne były, jak mi sprzedawca w sklepie pokazał (prawdziwe mini) ;-) Uruchomiłem serwo bez problemów. Sterowanie sygnałem z regulatora PI zbudowanego na Atmega16. Jedynie problem mam tego typu, że przy korzystaniu...
Czyli gdzie jest znak = ma być , ? wszędzie? Zegar mam na 8MHz.Już zmieniłem. Bit 103 jest na zero, watchdog na jeden zrobiłem tak $regfile = "m128def.dat" $crystal = 8000000 Config Pina.0 = Output Config Timer 0 = Timer , Prescale = 256 On Timer0 Odmierz_1s Dim Licz_8ms As Byte Enable Interrupts Enable...
W ATmega8 masz 3 timery:TIMER0(8bit bez funkcji PWM),timer1(16bit z 2 kanałami PWM),i timer2 (8 bit z jednym kanałem PWM) i do tego musisz się zastosować. Wyjścia PWM to PORTB.1, PORTB.2 i PORTB.3 Możesz jeszcze zrobić programowy PWM np. na timer0 i będziesz miał PWM na wyjściu na jakim tylko chcesz. [syntax=basic4gl][/syntax] $re...
Co do szybkości - Flaga jest ustawiana co 3,21 sekundy [syntax=basic4gl] Czas: Timer... = Timer0 + 112 ' ( 100 = 1 sekunda ) Incr Licznik_ds If Licznik_ds = 321 Then ' 3,21 sekundy Flaga_ds = 1 Licznik_ds = 0 End If Return [/syntax] czyli...
Witam mam prosty program. Timer zlicza naciśnięcia przycisku. Problem polega na tym że po jednokrotnym naciśnięciu wartość zwiększa się o jakąś ilość (nie zawsze o 1). Jak temu zaradzić? np. żeby zmiana stanu licznika była możliwa tylko co określony odcinek czasu. [syntax=basic4gl]Config Pinb.0 =...
Witam was wszystkich. W sumie chciałbym żebyście sprawdzili kod, który napisałem bo juz nie mogę znaleźć wyjścia. Kod to przepisywanie z 4 kanałów 8 bitowego ADC na kanały PWM. Problem w tym że nic na wyjściu PWM sie nie pojawia (nic tzn. stan wysoki). Żeby było prościej to powiem, że oddzielnie (program,...
Witam, Chciałbym przerobić nie swój kod programu pod żyroskop l3g4200d. Kod znalazłem w internecie jest napisany właśnie na atmegę 1284p, a ja potrzebuję go przerobić na atmegę8. Kod wygląda następująco: [syntax=basic4gl]'========...
Witaj. Ponieważ zasugerowałeś pokazanie schematu i programu, to do tego opisu bardzo by się przydał. Jako napięcie contrastu mam icl7660 w standardowej aplikacji (nie wrysowane na schemacie bo myślałem ze mam pozytyw) Tak samo LCD korzysta z 4 bitów danych ale na przyszłość w razie...
Witam, Przechodząc szybko do sedna tematu. Program pisany do 10 kanałowego sterownika oświetlenia DC. Timer0 służy do generowania programowego PWM. INT0 oraz TIMER1 CTC ma obsługiwać transmisje danych(tymczasowo kod usunąłem myśląc że to on jest problemem). Problemem jest to że przy kodzie jak poniżej...
Chcę napisac własny program z wykorzystaniem Timerów. Na początek proszę o wytłumaczenie dlaczego w poniższym programie: 1. wykorzystano podzial częstotliwości zegara (po preskalerze 256) 250/125 zamiast wykonac jedno dzialanie? 2. uzyto wartość początkową Timera0 = 250 przed Petlą do Loop...
Witam. Timer0 8 bitów. 8000000 / 256 /255 = 122 Hz 8000000 / 64 / 255 = 490 Hz Wtym mikrokontrolerze Timer0 może pracować w trybie CTC więc łatwo zaprogramować daną częstoliwość wpisując w rejestrze OCR0. OCR0 = F_cpu / prescal / F_mcz żądane
Witam, kod nie jest moje autorstwa, więc nie chcę go umieszczać . W każdym razie algorytm jest realizowany w następujący sposób: 1. Wysłanie za pomocą UARTu informacji do uC o zezwoleniu na regulację prądu + wysłanie wartości współczynników regulatora i prądu referencyjnego. 2. Jeśli ustawiona jest...
Przedstawiam tylko istotne części programu związane z transmisją danych Na początek Atmega 16 obsługuje klawiaturę, Wyświetlacz LCD i komunikację GSM i inne drobiazgi oraz RS232 z Atmegą 8 Dodano po 10 A tak przy okazji takie pytanie czym różni się transmisja po RS232 dla: A=1 Print...
ok, więc może być na konkretnym przykładzie: Mam płytkę AND-TECH.PL EvB 4.3 (mikroprocesor to: ATMEGA 32, 16 PU). Więc jak mogę sobie skonfigurować Timer1 i Timer0 na tym mikroprocesorze przy rezonatorze 16Mh by odmierzał mi czas (zegarek godziny:minuty:sekundy). Jak mogę dobrać preskaler...
Witam Męczę się nad uruchomieniem obsługi RC5 w Atmega128 na pinie E.4 (INT4). Konfiguracja wygląda tak: [syntax=basic4gl] Config Rc5 = Pine.4 On Int4 Readir Config Int4 = Low Level Enable Int4 [/syntax] Procedura odbioru tak: [syntax=basic4gl] Readir: ...
Witam! Mój problem polega na tym, że muszę podłączyć atmege do Internetu. Posiadam gotowy moduł uruchomieniowy EvB 4.3 + Ethernet v2. Sterownik oparty na atmedze ma sterować temperaturą wody i jeśli chodzi o jego działanie to wszystko jest oki. Za pomoca przycisków zmienia się temperaturę zadaną i serwo...
Która atmega? W atmega8 możesz użyć: Timer0 - odmierzanie czasu Timer1 - zliczanie impulsów Timer2 - PWM
Witam! Przeczytałem już chyba wszystkie wpisy na tym forum dotyczące podłączenia tego zegarka (PcCF8563P) do atmegi 16 - program napisany w Bascom-ie. Ale nie udało mi się wygenerować działający poprawnie kod. W moim przypadku zegar nie odlicza czasu a format godziny jest następujący: 85:85:45 data...
Witam koledzy! Mam problem z pomiarem temperatury, przeszukałem forum i internet n razy w poszukiwaniu odpowiedzi ale nie natrafiłem na żaden trop. Sądzę, że błąd leży gdzieś w kodzie. Wynik pomiaru docelowo jest prezentowany na LCD 2x16. Pomiędzy VCC a DQ mam rezystor 4,7k zgodnie z notą DS'a (nie...
[syntax=c]mam jeszcze pytanie czy ten kod może źle pracować z atmega 8a-pu [syntax=c]|Program "analizator widma akustycznego 20*2 - V2" kompilator bascom 1.11.9.0 | '|Autor: HUNTERHOUSE(Adam Kędzierski) i częciowo MANEKINEN(Paweł Kisielewski) | '| data: 02.08.2009 ...
mam takie pytanko w atmega 16 niewiem w jaki sposób włanczać i wyłanczać timer niewiem któr rejestr dego dokonuje , a może one chodzą cały czas bo jeśli ustawie timer na to żeby zliczał (timer0) impulsy zegara sys. i włanczał przerwanie gdy zgodzie się jego wartość z rejestrem OCR0 ale od kiedy...
Lepiej będzie dla Ciebie , jak poczytasz o AVR-ku po polsku i sam wyciągniesz wnioski.Wprawdzie ten przetłumaczony PDF dotyczy ATMega16 , jednak myślę , że 70% zawartych w nim informacji dotyczy całej rodziny AVR ATMega. [url=]ATMega16 po polsku Piotrek
Witam ! Na moim procku (Atmega 16) Twój program działa. Diodka podłączona do PD5 mruga.
pracuje na zewnetrznym kwarcu 16 Mhz,rozne predkosci uart'a.. W momencie gdy zaczynam wysylac z pc porcje danych (duza ilosc) co jakis czas atmega mi sie resetuje. problem nie wystepuje przy wewnetrznym taktowaniu ustawionym na 8mhz.
Przez ostatnie 2h doszedłem do tego w czym tkwi problem zarówno w obsłudze przerwania od timera0 oraz od zewnętrznego INT1. Problem polega na tym że zmienna globalna którą wykorzystuję jako flagę istnieje tylko w obsłudze przerwania,flaga nie jest widoczna w głównej pętli programu lub po obsłudze przerwania...
Tak, tylko, że: 1. Ten problem poruszasz dopiero teraz. I to dowodzi tylko, że atmega to nie ideał procesora. A dobieranie procesora do zastosowania to jedna z podstawowych umiejętności konstruktora 2. Dalej nikt nie wie co to za atmega. 3. Inkrementowanie zmiennej co 128us to...
No to jest oczywiste ale tutaj zastosowanie zamknięcia flagi przerwań w SREG na czas trwania przerwania jest raczej bardziej oczywiste ( :) ) 1. Zbędne, ponieważ wejście w procedurę obsługi przerwania blokuje przerwania, na czas obsługi przerwania (do rozkazu RETI), czytaj datasheety: The I-bit...
Witam Serdecznie Na początek kod: [syntax=c]#define F_CPU 4000000UL #include <avr/io.h> #include <avr/iom128.h> #include <util/delay.h> #include <avr/interrupt.h> volatile uint8_t i=0; int main(void) { DDRA = 0xFF; ASSR &= ~(1<<AS0); ...
Witam! Chcąc dodać zegar do mojego projektu musiałem wygenerować przerwanie, które dodawałoby 1 do zmiennej co 1s. napisałem programik jak poniżej, lecz niestety zliczając późni się o około 1/1,5s na minute... ktos wie gdzie robię błąd? gdzieś się pomyliłem? Preskaler ustawiony na 64, czyli...
Witam, mam problem z uruchomieniem programu do zliczania impulsów na T1 przez 1 sekundę. Wyświetla mi ciągle zero. Co źle ustawiłem z Timerami ?? Atmega 32 [syntax=c] #define F_CPU 1000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> ...
Witam, Nie będę zakładał nowego tematu. Mam podobny problem. Atmega 2560 + 16Mhz. Przy tym ustawieniu timera przerwanie powinno być generowane co 0,5s. Natomiast jest generowane co 1s. 256/16000000= 16us*65536=1,048576s 65536-31250=34286 co daje 0,5s [syntax=basic4gl] $regfile = "m2560def.dat" $crystal...
Nic nie ustawiałem, więc pewnie są domyślne "Domyślnym (fabrycznym) ustawieniem mikrokontrolera ATMEGA 8 są bity CKSEL3..0 = "0001" oraz SUT = "10". Oznacza to że fabryczny mikrokontroler, przed zmianą jakichkolwiek "Fusow" pracuje na wewnętrznym oscylatorze RC z najdłuższym czasem startu i taktowaniem...
Witam... Generalnie rzecz biorąc procedury opóźnienia czasowego nie nadają się do modulowania diody IR... Częstotliwość nie jest zbyt stabilna to raz... Dwa nie uzyskasz 36kHz musisz skorzystać z dobrodziejstw timera... Np. tak... #include<avr/io.h> #include <avr/interrupt.h>...
... EDIT: Niestety nie bardzo to tak działa, próbuje wszystkiego ale nie moge iruchomić pozostałych kanałów. PWM-a na Timer0 nie skonfigurujesz dyrektywą Config Timer0 = Pwm ,... , bo Bascom nie przewiduje takiego trybu pracy dla Timer0(patrz Help). Natomiast PWM dla Timer2 , jak najbardziej...
Myślę, że można bez problemów ten program przerobić. Będzie jednak kilka problemów. 1. Maksymalny zegar dla układów serii L to chyba 8MHz, chociaż mogę się mylić. W oryginale uC chodzi na 12MHz. 2. Trzeba zmienić konfigurację TIMER0 i TIMER1 które w AVR Bascom sa "trochę" inne. Ale w ogóle sądzę,...
Witam. Mam zamiar zrobić obrotomierz na ATmega8 i mam dylemat. Zasada programu jest taka. Timer0 działa jako licznik impulsów z silnika. Timer1 liczy sekundę i po minięciu tejże sekundy licznik0 jest mnożony *60 i wyświetla się wynik na wyświetlaczu. I teraz pytanie. Jest to silnik gaźnikowy i w jaki...
Procedura obsługi przerwania: ISR(TIMER2_OVF_vect) { ... = 0x00; x++; if(x==0x03) { if... inicjalizacja w pętli...
Witam, mam taki problem. Procek -Atmega8, chwilowo taktowana wewnetrzym 8mGHz. bascom Ogólnie program działa nastepująca: Korzystam z INT0 ustawiam go na zbocze opadjaące. konfiuguruje timer0 z parametrem Compare A = disconnect ustawiam flage na 0 do loop przerwanie int0: czesc1: sprawdza...
Witam serdecznie Próbuję uporać się z tym okropieństwem. Dopiero zaczynam, ale cóż mam zrobić, kiedy nie działa podstawowa sprawa. Napisałem taki program $regfile = "m128def.dat" $crystal = 4000000 Config Pinc.1 = Output Config Timer0 = Timer , Prescale = 256 On Timer0 Odmierz_1s Dim Licz_8ms...
Zrobiłem sobie dziś bardzo prosty zegar na atmedze8 i wyśiwetlaczu alfanumerycznym. Zegar zrobiony jest na wewnętrznym kwarcu. Niestety zegar strasznie spóźnia(około 4s na minutę). Byłbym bardzo wdzięczny jeśli ktoś by mi powiedział co zrobiłem nie tak. Config Lcdpin = Pin , Db4 = Portc.3 ,...
nie mam mam zwykly zasilacz stabilizowany 12V cały kod już wleiłem powyżej ale wklejam jeszcze raz ten aktualny ktory testuje - wciskam dioda sie zapala puszczam gasnie :\ $regfile = "m8def.dat" $crystal = 4000000 $baud = 9600 $framesize = 96 $hwstack = 96 Dim Tryb As String...
Witam. Chciałem napisać następujący program: Dane przesyłane są z komputera przez UART1, a następnie te dane chciałbym przesłać dalej, za pomocą UART0. Na razie połączyłem sobie, w UART0 RxD z TxD za pomocą rezystora 200Ohm (taki loopback do testów). Czyli jak na razie chciałem uzyskać następujący przepływ...
Timer2 i Timer0 nie ma wyjść A i B zatem takie definicje nie występują zapewne. W Helpie nie napisali jak uruchomić PWM na Timerze2?
No jest w planie kwarc 8MHz bo odcinki są po kawałku nawet do 12 godzin (pomiędzy odszranianiem) ale tu mi chodziło raczej o krótszy czas około 3 min pozwalający sprężarce na wyrównanie ciśnienia, zrobiłem coś takiego podobnego tyle że na timer0 ale za cholere nie mogę dobrać preskalera i ilości impulsów....
prescale 256 miałem dlatego że najpierw używałem timer0 a później zmieniłem na 2 a nie zwróciłem uwagi że timer2 ma prescale =128. a ja to robiłem ładując do niego 128 wiec i tak liczył poprawnie. Ale w atmega8 , w 168 nie działa mi zewnętrzny kwarc który oczywiście jest podłączony
Witam kolegów mam taki problem potrzebuje programu do mierzenia prędkości obrotowej silnika. Idea pomiaru jest znana, wykorzystywany jest do tego transoptor obiciowy. Ale to nie jest celem mojego wywodu. Potrzebuje krótkiego pomiaru obrotów zbudowanego na licznikach. Oscylator zewnętrzny 8MHz. Układ...
w tym momencie wykorzystuje do multipleksowania timer1 czyli B (chyba), a mam wykorzystać pierwszy, czyli timer0 czyli A. W obsłudze tego przerwania nic ma nie być?
Przerwanie wolę mieć wolne. Poza tym przez zastosowanie ICP zajmuje się wyłącznie Timer1 a nie Timer0 i Int)...robiw
Więc zostają 2 możliwości, albo program coś mieszał w odliczaniu czasu(może przerywałem timer0 timerem1 ale to powinno powodować opóźnienia!)albo atmega zła :P Mniejsza, teraz zrobiłem go na pcfie, wystarczy program dopieścić :P
"Servo" na Timer0 "RC5" na Timer2 popatrz do helpa
Polecam poczytanie HELPA Bascoma. Ale tak obsługuje wszystkie 4. Timer0 - wyprowadzenie 4: OC0 Timer2 - wyprowadzenie 21: OC2 Jest jeszcze Timer1 który ma 2xPWM (wyprowadzenia 18 i 19, OC1A i OC1B)
Nawet jeśli jest tylko dołączone. Odpytywanie następuje co parę sekund a efekt bielenia ekranu mam za każdym razem kiedy nacisnę przycisk w celu załadowania nowego obrazka. A tu raport (wklejam na razie większość gdyż może Wam to coś ułatwi: Report : System_LCD_TOUCH PAD_rs485 Date...
Właśnie próbuję uruchomić 4 wyjścia PWM na Atmedze 162 (TFQP 44) Mam podłączone : PB0 (OC0/T0) - timer0 PB1 (OC2/T1) - timer2 PD5 (OC1A) - timer1 PE2 (OC1B) - timer1 Zacząłem od timer2, i zrobiłem tak: $regfile = "M162def.dat" $crystal = 11059200 $baud = 9600 ' wyjścia...
smajlas - Twoja podpowiedź działa ale nadal są jakieś problemy z czasem wciskania sw ;/ Postanowiłem więc poczytać nieco o timerach. Z tego co napisał TMF dobre rady ale jestem początkujący i tu jest problem ;/ jeśli dobrze rozumiem: 1.Określam czas najkrótszej sekwencji (np.u mnie najkrótsza sekwencja...
No to obydwa kontaktrony podepnij do pinów INTx, a później rób takie coś: 1)wyzeruj zmienną x i y odpowiedzialną za aktualny stan zliczonych impulsów z wejśc INT0 i INT1 (obydwa kontaktrony), wyzeruj timer0 2)załącz timer 0 aby odmierzał czas 10 sekund 3)poczekaj aż timer odmierzy czas, w międzyczasie...
Dzięki wielkie- ale to nie do mnie pisałeś. O Atomic_Block dowiedziałem się w czwartek- sprawdziłem- od czwartku jest to pierwsza wiadomość na ten temat. A wracając do tematu Fir3man- wymyśliłem taki schemat programu: #include <stdint.h> #include <avr/io.h> #include <stdlib.h> #include...
Owszem że chcę słuchać kolegi janbernat`a :) bo chcę się nauczyć, wczoraj i dziś próbowałem trochę poznać tajniki przerywań, a dokładniej TIMER0, jednakże nie za bardzo to rozumiem. Albo tak naprawdę nie wiem jak ma wyglądać konstrukcja programu żeby to chodziło. Czy coś takiego w uproszczeniu byłoby...
Ja osobiście nie mam problemów z przenaszalnością kodu w firmowym asemblerze Atmela, nawet pomiędzy różnymi wersjami rdzenia, gdyż są w nim wbudowane definicje pozwalającej na asemblację warunkową. Przykład - instrukcja lpm , zamiast której używam następujące makro: .macro LpmPlus #if ((__CORE_VERSION__==V2E)|...
Oczywiście, że się da jeśli chodzi o sekundy . Teoretycznie ;). Wystarczy wziąć "nierówny" kwarc. Jego wartość powinna dzielić się odpowiednio przez dwa podniesione do odpowiedniej potęgi. Tak aby np. przerwanie przepełnienia od licznika było wywoływane dokładnie co 1 sekundę, albo inną jej część...