Go for AVR because:
- Simpler and more powerful architecture than PIC.
- Free development environment available from Atmel.. AVR Studio beats any PIC IDE I've seen.
- Better suitable for C programming because of the modern architecture and AVR-GCC beats all the free PIC C-compilers.
- AVR is more popular in universities.
- Great tech support provided by Atmel.
I have used PIC, AVR and MSP430 for differing projects in addition to the TI Series of DSPs.
"- Simpler and more powerful architecture than PIC."
Perhaps, but comparing processing power on 8 bit micros is like comparing a Fiat 500 and a Reliant Robin. Pointless, there are far better uc's from every vendor if you want more processing power.
"-Better suitable for C programming because of the modern architecture and AVR-GCC beats all the free PIC C-compilers."
Hardware wise yes. In terms of compilers if you are comparing AVR-GCC to SDCC this probably holds true as well. Compare it to the free editions of the high tech compiler and its a different ball game. Not to mention the superior libraries, documentation and example projects supplied with PIC compilers. I got SD cards reading bytes out to SPI in about 10 minutes on a PIC32 using the application libraries. I would like to see such rapid development done on another platform.
"- AVR is more popular in universities."
Certainly not true in the UK. PIC's and TI uC's and DSPs are bread and butter. AVR's are generally only used in the maker type community here, who deem AVRs as some kind of religion and compare the latest 8 bit line to a 16f877 to justify marginal if any benefits.
"- Great tech support provided by Atmel"
Refer to above, certainly not the case I have experienced. They also refused to send samples.
The
only reason I am using an AVR as an alleged professional designer is due to the free for commercial use compiler. The experience has not been half as pleasant as my experience with microchip or TI (for example setting up configuration fuses is a COMPLETE CALAMITY on an AVR - with avrdude it certainly is anyway). My AVR dev is done on the cheap (USB tiny and Win-AVR) so it is back to the days of printf style debugging, again something I am not particularly fond of.
Anyway what uC you want really depends on what is available and what you want to do. Whatever you do I would highly suggest having the ability to do in circuit debugging, which in my mind leaves PIC and MSP430 at the top.
The microchip simulator is also pleasant to use, and allows you to benchmark code and test ideas more easily.
The 18f2550 or 18f4550 are particularly nice IC's as they offer software stacks for CDC (serial via USB) out of the box. If commercialization on the cheap is not a worry I would go for a PIC to be honest.