Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
pic is the most famous for every one
because it has little cost for chip and for programing kit
it has large number of registers and it is easy to learn
while atmel is expensive for chip and programing kit
it has some registers can't accept immediate values in it
Come on man, be serious ! Give me an example of MOV literal to f in PIC without going through W register. At least in AVR you have 16 registers you can load immediat with a constant. You want 32 ? Give me a reason for that.
We can talk hours about PIC and AVR but not this way.
1)AVR is less expensive than PIC
2)You can find very good assembler,compilers for free.
3)PIC is copied from AVR
4)Actually AVR has 32 registers and very useful instruction set 5)PIC IS FOR HOBBYISTS BUT AVR FOR PROFESSIONALS
there are very inexpensive PICs, there are expensive PICs, same is true for AVRs (and HC08 and LPC900 and Silicon Labratories and ST7lite and ...)
PIC is copied from AVR that's a joke as PIC existed some years earlier than AVR and it would be a miserable copy all together.
AVR is the more modern architecture with single cycle execution and a nice set of devices. PICs are many similar architectures PIC12/14/16/18/24 with an even wider variety of peripherals and more selection than AVRs. Most pics need 4 clock cycles to execute one instruction, so a 20 MHz PIC runs as fast as a 5 MHz AVR.
PIC and AVR are both used in many hobby applications as well as in many professional designs.
The higher end PICs e.g. PIC18 have to be compared to ATMEGA and they are both too expensive because there are less expensive 32-bit solutions based on ARM 7, e.g. LPC2000 from Philips.
The smaller PICS and the TINY AVRs are cheaper and have only a few kb of flash.
Good question to start a flame war...
I had to solve the same question in a company I work for. In the end I found the architecture similar on both sides with their pros and cons.
So I included the price for development tools, development boards, etc. and I went for Microchip. But you should think first how much you want invest in development, what is expected benefit and count in possible risks.
I went for PIC18Fxxxx series because we're small company developing small series of products. There is free preemptive RTOS for PIC18, cheap In Circuit Debugger/Programmer, cheap development boards and I'm happy with 10MIPS of computing power for our projects. IDE is free of charge as well and Linux tools also exist not mentioning learning curve and thousands of examples and projects. Power consumption in another reason to go for PIC thanks to their nanoWatt technology.
I believe that AVR guys are similarly motivated but these are simply my reasons I went for PICs
I have been working with PIC's for the past two years and i have found them really nice. They are easy to learn and work with. Another important thing is that they have a huge collection which vary in pin count from 6 pins to 84 pins and may be more. The instruction set is very compact and easy to learn as far as assembly programming is concerned. MPLAB has really matured into a state of the art tool and is free to users.
Last year i also started with AVR's. They have also got a plathora of features and in certain cases they are better than PIC's. e.g let us compare 16F877A with ATmega8535.
16F877 has got an MSSP module that can interface with serial eeproms or other devices that support SPI or IIC. The problem is that u can connect either an SPI or an IIC device to the controller.
ATmeaga8535 has got both an SPI and a TWI module that can independently interface with other devices.
The ADC of PIC devices can be configured in cetain predefined configurations i.e you cannot configure each pin independently as analog or digital(Though the latest 14 pin and 8 pin devices have solved this problem).
The ADC of the AVR devices can configure each pin to be analog or digital independently. Moreover they have got the additional advantage of having an interanl 2.56v reference in addition to the external reference.
But the conclusion in the end is that i have never preffered one microcontroller over another just because of there make. I select microcontrollers on the basis of my application. As i am planning to start working on Texas instruments MSP430 series of microcontrollers.
If u learn assembly first then u will have a good idea of optimazation of C-code. i prefer atleast you have good idea of assembly then switch direct to C or basic whatever u like but c is beeter than basic.