Discussion in "General help Guidance and Discussion" started by    Sakis    Dec 1, 2009.
Tue Dec 01 2009, 11:16 PM
#1
Hello,

What are the cons and pros of PIC, ARM and AVR microcontrollers?
Wed Dec 02 2009, 08:10 PM
#2
PIC: Pros - easy to avail, cheap, good support, free tools available, variety of ICs available with selectable features
Cons: Not exactly cons, but some people just dont like it.

ARM: Pros - 32 bit, Fast, powerful, lots of features, easy to program, free & paid both tools available and all are good in their respect, Simple architecture.

Cons: For starters, it may be difficult, but any prior knowledge of controller can help you move. NO DIP Package (I am mentioning this, coz people who are generally migrating from 8-bit to 32-bit find this difficult to handle these small package ICs).

AVR: Pros - Most powerful 8-bit architecture, All variants are loaded with features, free IDE and c-compiler, easy support available, Large community of AVR lovers

Cons: May be difficult for starters, but no cons exactly.
 SakisAbhinav.Chaurey like this.
Thu Dec 03 2009, 09:24 AM
#3



Cons: Not exactly cons, but some people just dont like it.

ARM: Pros - 32 bit, Fast, powerful, lots of features, easy to program, free & paid both tools available and all are good in their respect, Simple architecture.

Cons: For starters, it may be difficult, but any prior knowledge of controller can help you move. NO DIP Package (I am mentioning this, coz people who are generally migrating from 8-bit to 32-bit find this difficult to handle these small package ICs).

Ajay Bhargav


for complex calculations .. nothing is better than an ARM7 based MCU still if you need low power consumption system with a little slow performance acceptable... use PIC.
I simply HATE PICs.
AVR is good but never had to use one,so no comments.
BTW ARM do come in DIP packages!








[ Edited Thu Dec 03 2009, 09:26 AM ]
 Sakis like this.
Thu Dec 03 2009, 09:35 AM
#4
Thanks a lot
Thu Dec 03 2009, 12:45 PM
#5
The only thing i hate about PIC is programming it in assembly.Else i like everything about it.

yeah i also noticed most students hate PIC's. Here in bangalore i think most use only AVR's
thats y i am getting curious about it and hope to know about it some day.
Thu Dec 03 2009, 05:44 PM
#6


The only thing i hate about PIC is programming it in assembly.Else i like everything about it.

jeswanthmg



You can of course program PICs in C.
Microchip do a free version of their full C package.


yeah i also noticed most students hate PIC's.

jeswanthmg


There is a great range of PICs from the 10s series to the 32 series, and it is not
fair to lump them together.

Most student use the 16 series and I wonder why this is,
as the 18 series have more instructions and are easier to use.

I suspect your teachers just want to make things harder for you
Thu Dec 03 2009, 09:05 PM
#7

I suspect your teachers just want to make things harder for you

Ha ha. It's good that I have no teacher to tell me what to use. It was my decision to start with microcontrollers so I decide what to use. Well there were some people who told me to start with "a more basic thing" like 8051 but as always I do not listen to them (sometimes that's bad but some other times it's much better).
Fri Dec 04 2009, 12:37 AM
#8
You can break down the differences between an AVR, a PIC, and an ARM as follows:

The AVR is a Modified Harvard architecture 8-bit RISC single chip microcontroller (µC) which was developed by Atmel in 1996.

PIC is a family of Harvard architecture microcontrollers made by Microchip Technology, derived from the PIC1640[1] originally developed by General Instrument's Microelectronics Division. The name PIC initially referred to "Programmable Interface Controller".

The ARM is a 32-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by ARM Limited. It was known as the Advanced RISC Machine, and before that as the Acorn RISC Machine. The ARM architecture is the most widely used 32-bit ISA in terms of numbers produced.[1][2] They were originally conceived as a processor for desktop personal computers by Acorn Computers, a market now dominated by the x86 family used by IBM PC compatible computers. The relative simplicity of ARM processors made them suitable for low power applications. This has made them dominant in the mobile and embedded electronics market as relatively low cost and small microprocessors and microcontrollers.
 Abhinav.Chaurey like this.
Fri Dec 04 2009, 12:26 PM
#9
Thanks. There's just one problem: I still don't really get the difference between 8-bit, 16-bit and 32-bit microcontrollers. Is the difference only in the instruction set?
Fri Dec 04 2009, 05:04 PM
#10
There's more than just the instruction set here...

Different processors have different instruction sets - the 8052, the 8080, and the Z80 are all 8-bit processors, yet all have different instruction sets - some instructions are the same, and some are different.

The way to think of differences in 8-bit, 16-bit, and 32-bit processors is the number of bits (like the name implies). An 8-bit processor moves around data (and instructions) only 8-bits at a time. A 16-bit processor, on the other hand, moves around data (and instructions) 16-bits at a time. Same for the 32-bit processor: 32-bits at a time...

So if the base instruction time is the same for all three, you can see how the 32-bit processor could move a 4-byte wide variable from one place to another in the same amount of time it would take the 8-bit processor to do the same thing in 4 time periods, effectively making the 32-bit processor 4 times as fast (for that particular operation)...

This isn't the case for all operations, but you can get the idea here...

There are other things to consider as well - RISC versus CISC - reduced instruction set computers typically combine functions, or speed them up, so they don't take as much time as CISC (complex instruction set computers), thus making them slightly faster for certain operations.

And then there's the memory architecture: Harvard versus Von Neumann - You can Google these to read about them, but basically the Harvard keeps instructions and data in separate areas, and Von Neumann combines them in the same area...

 SakisAbhinav.Chaurey like this.

Get Social

Information

Powered by e107 Forum System

Conversation

Fri Jul 01 2016, 04:31 PM
Subhra k mukherjee
First two to three times programmed At89c51 works properly. Then after few burnings 89c51 seems to be not working properly.
hiast
Thu Jun 16 2016, 03:03 PM
help please how do i initiate port 3 as an input port in assembly? acutely there is push switch connecting to p3.2 push switch connecting to p3. 3 push switch connecting to p3.4 push switch connecting to p3.5 and i need to call function when the user pressed the push switch for the previous pins (not used as counter and not as timer… just call a function ( do special thing) when any push switch is pressed ???????
Mon Jun 06 2016, 12:02 PM
nida hussain
hi.. i need some help with keypad interfacing code.like i want to write a code in c language that takes an input of 2 digit numbers from a keypad interfaced with 8051 mc and stores the entered values in some array
Sat May 28 2016, 04:34 PM
kibrom berhe
c code for locker security system based on rfid and gsm
ExperimenterUK
Wed May 25 2016, 05:05 AM
@ Ramanjaneyulu, post in forum,explain your problem
Mon May 23 2016, 11:34 PM
Ramanjaneyulu
Hi, I Am using at89c4051 for my application, I want 5u sec dely.. Up to 1milli sec iam able to producing delay. Beyond the 1milli second, I am unable to produce the acceurate dely. Plz any one help me
Sat May 21 2016, 09:51 PM
A K
i want to mak an auto dialer using gsm and atmega 16. please helpe me how to write a code to auto dial a number saved in sim
Sat May 21 2016, 10:42 AM
Alec
Hi im trying to program my 89s51 with a usbasp so any ideas on the circuit?
Wed May 18 2016, 10:08 AM
Tashu joshi
anyone know how to develop
Wed May 18 2016, 10:07 AM
Tashu joshi
i'm working for resporatry system using 8051,

Downloads

Comments

dyoussef
Wed Jun 29 2016, 07:29 PM
sung7333
Tue Jun 28 2016, 06:23 AM
Bonolai
Fri Jun 24 2016, 06:02 AM
hiast
Sat Jun 11 2016, 02:30 PM
alex1311
Thu Jun 09 2016, 06:57 AM
zaft93
Sun May 15 2016, 01:52 AM
CELEBI
Thu May 12 2016, 08:28 AM
Suro1996
Wed May 11 2016, 06:07 PM

Online

Guests: 49, Members: 0 ...

most ever online: 182184
(Members: , Guests: 182184) on 06 Aug 2010: 05:37 AM

Members: 37770
Newest member: dyoussef
Forum Activity
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu Jun 30 2016, 05:44 AM
I think the display/ editor software added the a...
dyoussef Avatar
Posted By dyoussef
Wed Jun 29 2016, 07:34 PM
Hello, I am referencing this project: http://www.8051projects.net/wiki/I2C_Implementation_on_PICI am using PIC16F1847 and XC8 so I've had to make a few changes to the code. While making changes, my compiler gave me an error for the I2CWait function for the while statement. It says "unexpected token amp". Here is the line in question:while ((SSPCON2 & 0x1F ) || ( SSPSTAT & 0x04 ) );I changed the register names to be consistent with my PIC but it didn't solve the problem.What changes do I need to make to this function so that this error does not occur?
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Jun 22 2016, 07:54 PM
I can't see why it should work sometimes and not o...
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Jun 22 2016, 12:58 AM
You could use T0 and T1 to trigger interrupts but ...
Karan123 Avatar
Posted By Karan123
Tue Jun 21 2016, 04:40 AM
I am not Getting you . the project is to interfac...
Karan123 Avatar
Posted By Karan123
Tue Jun 21 2016, 04:34 AM
Hello,Thanks , It Works . Master-Slave address Ma...
alex1311 Avatar
Posted By alex1311
Mon Jun 20 2016, 11:38 AM
Football is my passion and I have dreamt of becomi...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Jun 17 2016, 11:00 PM
>But Can't modify code at Receiver End for Differe...
hiast Avatar
Posted By hiast
Fri Jun 17 2016, 03:25 PM
thanks for help,i wanted to write this code as you...
Karan123 Avatar
Posted By Karan123
Fri Jun 17 2016, 12:19 PM
I don't your applications . But below should help ...