pomoč potrebna pri doseganju PWM signala z uporabo atmega8

P

pepakpan

Guest
Halo guys,

Jaz sem uporabo atmega8 μc.Želim ustvariti PWM od 1MHz frekvenco.
Tako se lahko kateri koli pomoč mi v programing v monterju.

Hvala

 
Hai Pepakpan

Tukaj je

http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=68302

Nandhu

 
Pozdravljeni nandhu015,

hvala za odgovor.Toda stvar je, i potrebo 1MHz kot izhodno frekvenco.Nisem mogla ustvarjati to.Če mi lahko pomagate, da bodo greatfull.

 
Zdravo pepakpan.
Uporabljate lahko Timer0, če potrebujete samo preprost PWM signala.

Recimo, da hočeš PWM v korakih od 255 vrednosti (8 bitov), z obratovalnim ciklusom, betwen 0% in 100%.

), and in other variable store the desired pwm value (for example pwm_value
).

Najprej določite spremenljivko števec v 0 (na primer štetje),
in v drugih spremenljivih hranite PWM želeno vrednost (na primer pwm_value).Inicializacijo Timer0 Counter z apropiate vrednost, in nato na.(Morate narediti nekaj izračunov, da bi dobili pravilne vrednosti, gre za kristalno frecuency, ura vir timer0, in želeni frecuency iz PWM signala)
Vklopite kodo PIN pristanišča (na primer C0) in nato na Timer0 (nastavite uro vira)

Vsakič, ko se ustvari Timer0 overflow prekinitvena morate narediti nekaj stvari:> pwm_value
) then (turn off C0)

if (count> pwm_value)
nato (izklopi C0)( count
= count
1)

povečanja spremenljivke count (count
= count
1)=255, then ( count
=0 and turn on C0).

če count
= 255, potem (count
= 0 in vključite C0).

To je osnovna zamisel, in sem, da jo uporabljajo, da bi lepe barve z RGB vodila.
S spoštovanjem.

(Upam, da ta slika pomaga z idejo. Mogoče so nekatere napake z vrednostmi, vendar je le, da ste glavni ideji in sem na delo, prav zdaj

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />

.)
Oprosti, ampak, kar potrebujete za prijavo v to prilogo, da si ogledate

 
hai pepakpan

Mislim, da s atmega 8 je nemogoče, ker je max frekvenca je 16MHz.Lahko ustvarite bazo frekvenco 1MHz za PWM, vendar variying PWM ni mogoče.

S spoštovanjem
Nandhu

 
hey guys,
hvala za odgovor.Mimogrede sem se zahteva frquency PWM je to, kako mi je:

# vključujejo <avr/io.h>
int Main ()
(
/ / Nastavi se PWM signala (str. 118-119, ATmega8 (L))
/ / The PWM signal sproži, ko časomer /
števec Registrirajte = Output Primerjaj register.(TCNT2 = OCR2)
/ / attemtp da signala 1MHz
/ / CLK / (2 * Dividor * (1 OCR2))
/ / 3.6MHz / (2 * 1 * (1 1)) = 1MHz
OCR2 = 0x01; / / nastavite OCR2 za prelivno
1./ / FOC2 = 0;
/ / WGM20 = 0; / / CTC način.Ponastavite števec za vsako overflow OC2 in zatičnimi je PWM vrednost
/ / COM21 = 0; / /
/ / COM20 = 1; / / Preklopi na Preliti
/ / WGM21 = 1; / /
/ / CS22 = 0; / /
/ / CS21 = 0; / /
/ / CS20 = 1; / / CLK / (no prescaling)
TCCR2 = 0x19; / / nastavite TCCR2 za zgornje vrednosti (0x00011001b)
DDRB = 0x08; / / kot sedaj, samo omogoči PWM pin kot output
medtem ko (1);
vrnitev 0;
)

Hvala še enkrat.

pepakpan

 

Welcome to EDABoard.com

Sponsor

Back
Top