En primer lugar, asegúrese de que no tenga el fusible "CKDIV8" configurado en 1, esto reducirá la frecuencia real de reloj a 1MHz si está usando el oscilador interno de 8MHz. Este es el estado predeterminado del chip ATTiny85 cuando sale de fábrica.
Además ...
Puede configurar la frecuencia interna de la CPU a 16MHz (consulte " Tabla 6-4 " en la hoja de datos) utilizando los siguientes fusibles en el diálogo de programación ...
- EXTENDED = 0xFF
- ALTO = 0xDC
- LOW = 0xC1
Puede escribir esos números en hexadecimal en los 3 campos de texto en la sección "Fusibles" del cuadro de diálogo de programación del dispositivo; esto actualizará automáticamente la lista de casillas de verificación correspondientes al conjunto completo de fusibles en el dispositivo.
Si ajusta su código para compensar la frecuencia más alta, esto podría ser suficiente para darle una mejor resolución de temporización del pulso.
Utilizo estos fusibles cuando estoy conduciendo los LED de NeoPixel, que requieren tiempos poco exigentes y ajustados.
Como alternativa, como sugirió, puede utilizar simplemente un oscilador de cristal externo de hasta 20MHz. Como siempre, siga la hoja de datos y podrá hacer esto.