Die wohl älteste Kontroverse unter den µControllern: Ist PIC oder AVR besser?
Dazu sag ich nur eins: Das ist immernoch jedem selbst überlassen!!!

Ich gehe hier nicht direkt in die Architekturen der Controller rein, weil das einfach den Rahmen sprengen würde. Ich vergleiche das aus der Sicht des Anwenders und was man direkt sieht.

Jede Familie hat ihre Vor- und Nachteile. PICs sind älter, haben dafür aber auch eine weitere Verbreitung unter den älteren Anlagen (Ja, ich hab schon SPS’en gesehen, die auf einem PIC liefen), allerdings haben die AVRs die µControllerszene im Sturm erobert.

Beide Systeme haben gute Strukturen und sind auch beide in C programmierbar, für alteingesessene auch in Assembler.
Für beide Plattformen gibt es entsprechende Einsteigerkits, die preiswert sind (z.B. Arduino und PICAXE). Dazu gibt es gute Dokumentationen und viele Beispiele.

Beide Systeme haben eine Vielfalt an Produkten, die allesamt verschiedene Einsatzgebiete haben. Vergleichbare µController kosten auch ähnlich viel und genauso verhält es sich mit den Programmiergeräten.

Und an alle PIC-Fans, die mir sagen, dass die PIC-Architektur schneller ist: Ja, das ist sie. Aber Schnelligkeit ist nicht immer alles. Für langsamere Anwendungen sind beide Controller gut und für schnellere Anwendungen nimmt man dann meistens sowieso keine „normalen Controller“ mehr.

Dafür braucht man aber auch keine 12V Programmierspannung für AVRs. Diese können direkt über einen USB-Seriell-Wandler (meist FTDIs) programmiert werden. Für PICs (zumindest die, die ich benutze) ist dies leider nicht direkt möglich. (Außer durch einen Bootloader, dadurch geht aber auch wieder viel Speicher verloren)

Man sieht also, dass sich beide Familien nichts schenken und beide durchaus gute Controller sind. Ich benutze beide, da ich
1. von den PICs viele aus Restbeständen auf Lager habe und ich durch Arduino-Projekte ebenfalls einige AVRs auf Lager habe und
2. viele alte PIC-Projekte habe, die ich hin und wieder mal erneuere während ich andere Projekte mit AVRs plane.

Aktuell benutze ich überwiegend AVRs, da die meisten Ideen die mir kommen zuerst als Arduino-Projekt starten, weil die Programmierung über die IDE für mich etwas einfacher ist. Ob das Projekt dann in „C“ übersetzt wird, weil ich Geschwindigkeit brauche (in solchen Fällen nehm ich dann meist einen PIC, wenn er zur Aufgabe passt), oder es in der „Arduino-C“-Variante lasse und dann zwischen AVRs wähle.

Man sieht also, dass man durchaus auch beide Plattformen nutzen kann ohne, dass man jammert, dass das eine System besser ist.