Generator 40KHz na AVR

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
Adrian01
-
Posty: 9
Rejestracja: 16 lip 2005, 14:30
Lokalizacja: Bogatynia
Kontakt:

Generator 40KHz na AVR

Post autor: Adrian01 » 07 cze 2006, 19:01

Witam wszystkich

Mam nastepujacy problem:

Chche zaprogramowac na MIkroprocesorze AVR Generaor sygnalu prostokatnego 40kHz i nie bardzo wiem jak taka czestotliwosc uzyskac...
Czy ma ktos moze pomysl...moze robil juz ktos cos podobnego?

Za wszelkie informacje bede bardzo wdzieczny

Dzieki

K_o_n_r_a_d
Użytkownik
Posty: 123
Rejestracja: 29 lip 2005, 10:21
Lokalizacja: Lublin

Post autor: K_o_n_r_a_d » 08 cze 2006, 0:15

Nic nie piszesz o języku, więc uważam domyślnie, że Bascom a jak nie Bascom to i tak ta informacja powinna być wystarczająca:

Kod: Zaznacz cały

Config Timer1 = Timer , Prescale = 1 , Compare A = Toggle , Clear Timer = 1
i teraz do odpowiedniego rejestru (w tym przypadku chyba Pwm1a (inna nazwa to Compare1a)) trzeba wpisac odpowiednią wartość.
np. dla sygnalu zagarowego 4MHz.
4MHz/40kHz/2=50, czyli pwm1a=50
Pisałem to z głowy więc może być błąd, ale sens jest dobry.

Ewentualnie możesz zrobić to samo, ale "trochę bardziej programowo a mniej sprzętowo", czyli ustawić timera aby generował przerwania z częstotliwością 80kHz (2* większą od potrzebnej) a w przerwaniu zmieniać stan końcówki na przeciwny.

Adrian01
-
Posty: 9
Rejestracja: 16 lip 2005, 14:30
Lokalizacja: Bogatynia
Kontakt:

Post autor: Adrian01 » 08 cze 2006, 8:13

Dzieki Wielkie

Wlasnie o ta idee mi chodzilo...
Jezeli chodzi o to ze mozna generowac timerem przerwanie co 80kHz i zmieniac stan koncowki to tez myslalem Obliczyc trzeba tylko jaka liczbe nalezy wpisac do licznika zeby wlasnie 80kHz wyszlo...
Ale juz ten pierwszy pomysl jest bardzo dobry

pozdrowienia

Adrian

ODPOWIEDZ