Any ideas for a third "timer" on ATTiny84?

Has anyone got some suggestions of how to make use of a "third timer" on an ATTiny84? It only comes with an 8bit timer0 and 16 bit timer1, built in, but I could really use a way to trigger an interrupt at a (very approximate) designated interval whilst both timer0 and timer1 are fully occupied with generating PWM outputs from pins.

I don't need a third timer to be anything like as capable as a true timer, all it has to do is trigger an ISR at semi-regular intervals, and it must not interfere with the duty cycle of the outputted PWM signals themselves. A pin change interrupt doesn't interfere with that duty cycle, the PWM generation via timers runs in the hardware independently of whether the code is in the main loop or in an interrupt, but I suspect some hacky ways of getting a third "timer" might be ones which affect PWM duty cycle, hence note here that ways which do that won't be helpful to my situation.

I am clocking the attiny84 with an external 16MHz crystal, and then have both timers in 8 bit mode, where they are running to produce fast PWM at 7.8KHz. But I also need to have an interrupt routine run roughly, every 50us, in which I check various states of other pins. The main loop of code is much slower than this, due to the things it does including floating point maths, so it needs that interrupting every 50us or so. If the once-per 50us interrupt is delayed by up to say 30us that is fine, and if it runs early by even as much as 30us that too is fine, as I said, it is very approximate.

If I could somehow get a trigger for this interrupt at twice the 7.8KHz PWM frequency that too might be adequate. Is there any way, whilst PWM is active, to get an interrupt (it doesn't have to be the same interrupt service routine, I could write two identical ISRs each to be triggered by different conditions) to fire both every time a timer wraps round, and every time it passes the half-way mark?

All my pins are in use, so I cannot have an external circuit generating a 50us period square wave with which to trigger a pin-change interrupt.

I am wondering if the ADC-ready interrupt can be used for this, however I am already making use of two pin's ADC functionality at some points in the code's main loop. I know that wth ADC free running mode, one often gets nonsense corrupt readings for several iterations after switching which pin is being multiplexed to the ADC, so am not sure if this is a viable option.

Thank you

P.S. I am not making any use of delay(), millis() or other library functions which need a timer for them. I've turned off those features in the SpenceKonde ATTiny core compilation settings.
P.P.S. I am still in the planning phase of writing the code I'm discussing, that's why I'm asking this advice before I get started so I'll know which features to use, hence I cannot show any arduino scripts at present.

The ADC converter can be made to essentially trigger an interrupt like a timer (Free Running mode). The clock divisor is a seven bit value which gives you a lot of versatility. I think that will work for you (as long as you are not using the ADC).

The complication is I am using the ADC, and what's more I'm reading two pins with it, so replacing analogReads of one pin with a copying of a volatile variable (written by the interrupt) isn't going to help. The issue is if I use each alternative run of the interrupt to get an ADC reading, for passing to the main loop via a volatile, they'll both be noised out by the erors involved in changing the multiplexer. Atleast though, as far as I can tell, I'll only need to run the ADC at prescaler, 64, twice the default speed I think, to get interupts at the right time spacing, so atleast I know the accuracy won't be to badly affected, on the atmega328p I've found accuracy to still be nearly perfect at 4x (32 prescaler) default ADC speed.

Is there a reason you cannot just use an ATmega328?

Code? How many PWM signals are you getting out of your timers?

You could set TCNT0 and TCNT1 to be 180° out of phase and interrupt on their overflows with TIM0_OVF and TIM1_OVF.

The watchdog timer can generate interrupts at 8 selected intervals ranging from about 16 ms to 8 s.

Timing is an independent RC oscillator and is approximate. See the data sheet for the details.