Moin,
der Tiny26 ist schon in PWM erstklassig.
Beim Mega 8 hast Du nicht so viele Prescaler.
So gehts beim Tiny26 mit 2 PWM-Ausgängen:
Code:
DDRB = &B11111111
Tccr1a = &B01010011
Tccr1b = &B00000111
'Prescaler (letzte 4 Bits von Tccr1b)
'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'0 0 0 1 /1 260Khz PWM
'0 0 1 0 /2 130KHz PWM
'0 0 1 1 /4 64KHz PWM
'0 1 0 0 /8 32KHz PWM
'0 1 0 1 /16 16KHz PWM
'0 1 1 0 /32 8KHz PWM
'0 1 1 1 /64 4KHz PWM
'1 0 0 0 /128 2KHz PWM
'1 0 0 1 /256 1KHz PWM
'1 0 1 0 /512 500Hz PWM
'1 0 1 1 /1024 250Hz PWM
'1 1 0 0 /2048 128Hz PWM
'1 1 0 1 /4096 64Hz PWM
'1 1 1 0 /8192 32Hz PWM
'1 1 1 1 /16384 16Hz PWM
Ocr1c = 255 'oberes PWM Limit setzen (wichtig beim Tiny26!)
Ocr1a = 100 'Compare für OSC1A
Ocr1b = 200 'Compare für OSC1B
Pllcsr.1 = 1 'Asynchrones PLL benutzen, 64MHz Taktquelle
'Warten bis PLL eingerastet ist
Do
Loop Until Pllcsr.0 = 1
Pllcsr.2 = 1
Viele Grüße,
Bruno
Lesezeichen