BASCOM...PWM 38 kHz
Moderátor: Moderátoři
BASCOM...PWM 38 kHz
http://www.mcselec.com/index2.php?optio ... ight=38khz
Můžeš použít timer1 v režimu pwm se zkráceným cyklem pomocí registru ICR1, kterým nastavíš vrchol čítače TCNT1.
Například: 16 MHz hodiny procesoru, předdělič 1, režim fázově/frekvenčně korigované pwm na timeru 1:
f PWM=f CLK/2 * n * TOP,
n=prescale, TOP je vrchol čítače zapsaný do registru ICR1.
zápis v Bascomu:
$regfile = "m32def.dat"
$crystal = 16000000
Tccr1a = &B10000000
Tccr1b = &B00010001
Icr1 = 210 'pro f CLK=16 MHz, prescale 1, frekvence =16M/2*N*TOP, N=prescale, TOP=ICR1,=38095 Hz
Ddrd = &B00100000 'pin OC1a, D.5 jako vystupni (OC1A, vystup pwm)
Ocr1a= x '0 až 210 (ICR1)=šířka pwm
A nebo použít fázově korigovanou pwm s hodinama 20 MHz a dostaneš pwm frekvenci 39215 Hz, kdyby to nevadilo.
f PWM=f CLK/2 * n * TOP
Vnímavější čtenář si to lomítko jistě představí jako zlomkovou čáru.
Představil jsem si místo lomítka zlomkovou čáru ale vyšlo mi to špatně.
- Přílohy
-
vzorec.png- (2.03 KiB) Staženo 169 x