I have seen many circuits designed using microcontrollers. Different people use different microcontrollers like 8051, AVR, etc. Lot of people are giving main preference to 8051 microcontroller and AVR microcontrollers.... But, what about PIC microcontrollers? Why the people do not show interest to use PIC microcontroller? Is there any specific reason?
What is the main difference between 8051, PIC and AVR Microcontrollers?
Kindly give detailed explanation about these microcontrollers.
PIC microcontrollers - at least the most popular 8-bit chips - have a very "strange" (not to say "stupid") architecture - they have hardware stack and they have paged flash memory. That's probably the main reason why there are not many C compilers for this platform - last time I checked, there were maybe 2 (Microchip's and some other), none of them were completely free. On the other hand, AVR and '51 have more or less "standard" architecture, so both of them have a free C compiler (gcc and sdcc).
I think that's the reason for popularity among hobbyists. It looks different in industrial applications, where the access to free tools doesn't matter that much, so designers can choose the chips based on different criteria, like peripherals, price, size, durability, EMC compliance etc.
Some PIC micros support capacitor sleep in low power mode, which often is a must.
Not that I like PIC architecture and their 24bit unsigned short long interegers
And one more thing: they have (at least in my opinion) terrible datasheets (when compared to NXP, ST or even Atmel).