EDIT:
Hola, tengo una pergunta, veo que en el pic usan una frecuencia de 32Mhz para controlar las tiras, pero en el arduino uno usan 16Mhz, como es posible hacerlo con 16Mhzen arduino uno?
Porque en el PIC se busca que todas las instrucciones ocupen solo 1 ciclo de maquina (excepto los saltos) el problema para esto es que 1 ciclo de maquina consta de 4 ciclos de reloj, por eso el Fcy es Fosc/4
Por su parte los micros de la ex-Atmel utiliza otra arquitectura, y los ciclos de instruccion varian con respecto a lo que se desee hacer. Siendo los mas consumidores aquellos que deben escribir un puerto o la RAM/ saltos , mientras que las operaciones dentro de los registros ( equivalente a como lo es W en el PIC ) se hacen con menos ciclos. Aun asi requieren menos ciclos.
Es una de las grandes peleas de lo que era Atmel-Microchip, otro es la forma del espacio de memorias, siendo el PIC16 en bancos y en Atmel continuo, y vectores de interrupcion. Hay cosas mas rapidas que se pueden realizar y otras mas lentas.
Ejemplo:
En un PIC para leer una posicion de la RAM y luego sumarle un numero precargado en W es solo una instruccion. 4 ciclos de reloj
En un ATtiny el proceso requiere 3 instrucciones, llevar el dato de la RAM a un registro interno, sumarle el numero precargado en otro registro y luego volverlo a la RAM.
Pero si solo debo operar mucho sobre los registros internos, el de la ex-Atmel lo supera ampliamente.
En arduino (Atmel), los 16Mhz son 1 instruccion por cada ciclo de reloj, mientras que con Microchip, tienes una instruccion por cada 4 ciclos de reloj, con lo cual la velocidad "real" seria de 32Mhz / 4 = 8Mhz.
Esta mal, hay instrucciones de 1,2,3, 4 y 5 ciclos de reloj.