Bueno desde mi punto de vista personal la elección del micro depende de la aplicación.
Yo he trabajado con los 2 micros PIC y ATMEL, por experiencias propias, mi primer diseño de un LED PAR64 fue utilizando un pic16F628A, todo marchaba bien en las pruebas con una consola muy sencilla del fabricante LITE-PUTER, el PAR incluía displays de 7 segmentos para mostrar la dirección, 3 botones para configuración y una serie de efectos para modo stand alone.
Todo era como miel sobre hojuelas, hasta que probé el PAR en una consola AVOLITES, de mucho mejor calidad y al 100% en especificaciones del protocolo DMX, en ese momento empezaron mis problemas un tremendo parpadeo en la variación de la intensidad en los LEDS tuve que modificar mucho el código para tratar de eliminar ese problema sin poder quitarlo al 100%.
Es aquí donde comienza la historia de Atmel, en la mayoría de dispositivos DMX se utilizan uC de atmel, entonces conseguí el ATTiny2313 misma memoria que el PIC y con UART, hice un pcb para acoplar con el PINOUT del PIC y listo a programar.
Lo que puedo decir es que los resultados fueron extremadamente satisfactorios, eliminación total del parpadeo una velocidad de respuesta excelente.
A que se debe esos resultados?? bueno ATMEL corre a 20 mips reales, a diferencia de los 5 mips de un 16f628.
Otra importante diferencia es el uso de vectores distintos para distintas interrupciones en ATMEL, es decir existe un vector independiente para la interrupción por UART de una interrupción por timer, a diferencia de un solo vector para atender todos los periféricos en un 16f628.
Efectivamente después de muchas pruebas descubrí que estar recibiendo infinitamente paquetes DMX provoca perdida de datos o alentaba en el flujo del código al PIC.
Yo programo en C nativo en PICC de hitech, sin embargo el compilador si optimiza bien, y considero es un buen compilador por que??
Una vez solucionado el problema, ya emigrado parte del código original del PIC al ATMEL me lleve otra sorpresa, un micro con la misma memoria y con características similares no me permitió
integrar todo el código original es decir; 2KB de código que si cupo en el PIC16F628A no lo fue para el ATTiny2313. Para Atmel utilizo el compilador AVR CodeVision.
Utilizar el mejor micro, depende de las herramientas así como definitivamente la aplicación, actualmente sigo utilizando PICS y AVR'S, pero desde que utilizo ATMEL hemos obtenido mejores resultados en nuestros diseños y equipos inclinándome mas a utilizar Atmel.
Saludos Cordiales