Out of interest, I set up a test. I definitely got 3 PWM outputs from the Attiny85.
You can see from the screenshot that we got a frequency of 31.5 KHz which is slightly off from the predicated 31.25 KHz (it's just running off the internal oscillator). The duty cycle is exactly 50%.
For Timer 1, I was able to adjust the frequency (the count-up-to is in OCR1C) and get a 25% duty cycle (32 / 128).
Code to generate the above:
// For Attiny85
// Author: Nick Gammon
// Date: 29 November 2012
void setup()
{
pinMode (0, OUTPUT); // pin 5 // OC0A
pinMode (1, OUTPUT); // pin 6 // OC0B
pinMode (4, OUTPUT); // pin 3 // OC1B
// Timer 0, A side
TCCR0A = _BV (WGM00) | _BV (WGM01) | _BV (COM0A1); // fast PWM, clear OC0A on compare
TCCR0B = _BV (CS00); // fast PWM, top at 0xFF, no prescaler
OCR0A = 127; // duty cycle (50%)
// Timer 0, B side
TCCR0A |= _BV (COM0B1); // clear OC0B on compare
OCR0B = 63; // duty cycle (25%)
// Timer 1
TCCR1 = _BV (CS10); // no prescaler
GTCCR = _BV (COM1B1) | _BV (PWM1B); // clear OC1B on compare
OCR1B = 31; // duty cycle (25%)
OCR1C = 127; // frequency
} // end of setup
void loop() { }
Nick you're always giving me good stuff to go and read up on. hah, I am totally lost here, but I will try to read up on it. Really appreciate the info though. hopefully soon I will understand what that all says.