Discussion in "General help Guidance and Discussion" started by    Nirmaan    Feb 1, 2009.
Sun Feb 01 2009, 10:03 am
#1


hello forum

i would like to know the important differences between the above 3 micros regarding stability, speed and cost.

thank you,

nirmaan


Sun Feb 01 2009, 10:14 am
#2

hello nirmaan,

i don't know if its a co-incidence that a member asked exactly the same question few days back in our neighbouring forum and i replied there in great length,

so here's my reply cut and pasted from the other forum( i just don't want to retype the whole post).


Hello Defensive06,

you'll have to study the architecture of all the 3 micros in question to know exact differences, but briefly we can distinguish between the 3 as:

8051 - 8 bit micro based on CISC architecture ( Complex Instruction Set Computer)

PIC - 8 bit micro based on RISC architecture ( Reduced Instruction Set Computer)

AVR - 8 bit micro based on RISC architecture ( Reduced Instruction Set Computer)


there are also 16bit and 32 bit micros from the same family

invention wise, 8051 is the forefather ( date of birth = 1985), next cam PIC s and then came the AVRs.


its essential to learn 8051 to be able to learn other micros. if we come to instruction set of these micros :

8051 has 250 instructions which take 1 to 4 machine cycles to executive
PIC has nearly 40 instructions which are mostly 4 cycles instructions
AVRs have 140 instructions whcih are mostly 1 cycle based

if we come to speed factor:

1 machine cycle in 8051 (normal) divides the clock freq. by 12 ( some derivatives divide by 6 and by 1 also)

1 machine cycle in PIC divides the clock freq by 4

1 M.C in AVRs divides the clock freq by 1

for eg: if we use 12 Mhz Xtal in all the 3 micros then the speed of execution will be as follows:

8051 = 12Mhz /12 = 1 Mhz i,e = 1 million instructions per second
PIC = 12Mhz/4 = 3 Mhz i,e = 3 million instructions per second
AVR = 12Mhz/1 = 12 MHz i,e = 12 Million instructions per second

so you can clearly see the that AVR executes more no:of instructions per given time and can be considered as the fastest among the 3.

also 8051 consumes more power than the other two and PIC consumes the least power.

Both PIC and AVR are RISC based but their instruction Sets are entirely different.

from Programming ( i,e writing code ) point of view : 8051s are easy to code , next come PIcs and last comes AVRs.

8051 has very powerful instruction set, it has commands which do more complex calculations, it also has got strong arithmetic logic unit which makes computation simple.

whereas PICs and AVRs have simple single instrcutions and the programmer has to tell (dictate) each and every step to achieve the final outcome.

for eg:

you would be surprised to know that normal AVRs do not have Multiplication instruction.

in 8051 Assembly we can simple use the instruction : MUL A,B

but in AVR you have to write some 20 lines of code to multiply two resgisters or values.

similiarly division also : in 8051 we have DIV A,B but in AVR again you have to write some 20 lines of code.

There is no ADD instruction in AVRs, in 8051 we can Compliment a port bit or a bit variable by using CPL instruction but in AVR we don't have this instruction.

in 8051 we can easily access the individual port bits but in AVRs we don't have this freedom.

8051 is still in use bcoz of its simplicity and popularity and lowest cost.

AVRs and PICS are costly and come with many on chip peripherals like : hardware SPI, ADC, I2C, USART , Analog comparator, internal RC oscillator, in-system programmablity etc.

also if see vendor support: 8051 are manufactured by over 50 companies whereas PIC & AVRs are manufactured only by their parent companies i,e microchip and Atmel.

for eg: if you are using a particular variant of AVR and Atmel discontinues it then you'll have no other choice than to shift to another variant offered by Atmel which may be costly and need program changes.

but with 8051 you can run the code in any 8051s manufactured by so many companies.


i hope my answer has given you enough insight into the topic.


Arun



Sun Feb 01 2009, 11:38 am
#3
Gr8 Arun I never seen such nice ,concept clearing explanation - Very Impressive
I'll give this article A+++++ Rating !dance :-)
Sun Feb 01 2009, 11:51 am
#4

AVRs and PICS are costly and come with many on chip peripherals like : hardware SPI, ADC, I2C, USART , Analog comparator, internal RC oscillator, in-system programmablity etc.



There are many 8051 devices that have these features as well, including one that has a CPLD : ST Micro upsd3334D (one of my favorites!)

For a quick comparison gude of 8051 derivatives, visit this link:
http://www.keil.com/dd/parms/8051.htm
Sun Feb 01 2009, 12:06 pm
#5
Woh Arun :-) This is the very classic reply for to understand the architectural difference between 8051,PIC , AVR. Thanks :-)
Including RISC & CISC even Von- neuman & Harward Memory model comes into picture we we tell about the Architecture of any controller.

!dance !dance !dance
Sun Feb 01 2009, 07:54 pm
#6


Excellent ! Arun, you have cleared my doubts which were lingering in my mind since a long time. now i have good understanding about these micros.

thanks a lot and keep up the good work !

nirmaan
Mon Feb 02 2009, 02:01 am
#7


AVRs and PICS are costly and come with many on chip peripherals like : hardware SPI, ADC, I2C, USART , Analog comparator, internal RC oscillator, in-system programmablity etc.



There are many 8051 devices that have these features as well, including one that has a CPLD : ST Micro upsd3334D (one of my favorites!)

For a quick comparison gude of 8051 derivatives, visit this link:
http://www.keil.com/dd/parms/8051.htm

DavesGarage


I think this confirms my confusion

I really don't think comparing the various families is worthwhile.
Each one has so many variants that almost any feature you want can found from any family.

In the same way each has good software support from various sources.

Cost probably depends mainly on where you are, but generally a simple, useful
device from any family will not be expensive.


its essential to learn 8051 to be able to learn other micros.

Arun


A step too far
Many good programmers have never used the 8051








Mon Feb 02 2009, 08:44 am
#8


I think this confirms my confusion

I really don't think comparing the various families is worthwhile.
Each one has so many variants that almost any feature you want can found from any family.

In the same way each has good software support from various sources.

Cost probably depends mainly on where you are, but generally a simple, useful
device from any family will not be expensive.
A step too far
Many good programmers have never used the 8051

ExperimenterUK


I totally agree :-).
It all depends upon the application and as far as cost is concerned,in small analog processing applications, i feel that the PIC/ AVRs make the whole system far more cheaper than the commonly available 8051 derivatives. conversely, the enhanced derivatives of 8051 like the Dallas DS89c4XX and the NXP P89X51RDX are more suitable for moderately complex applications.

As far as learning assembly programming, i think what arun meant was that 8051 is a good place to start with due to its simplicity though i agree that 'recommended' would be much suitable than 'essential' . personally, i started commercial programming in the Z80 processor and found porting all applications into 8051 relatively easier.
:-)


[ Edited Mon Feb 02 2009, 09:01 am ]
Thu Feb 19 2009, 08:34 am
#9

its essential to learn 8051 to be able to learn other micros.

A step too far
Many good programmers have never used the 8051




90% of seasoned embedded engineers would have used 8051 at some point or the other in their career.

8051 is included in Electronics Engineering course curriculum,the Govt, educationists,syllabus writers etc all would have thought it would be "essential" for the students to learn 8051 as a foundation.



Arun
Thu Feb 19 2009, 02:10 pm
#10
wow.. nice discussion here..

Adding to all this, if you visit Atmel's website you will get all flavors of 8051 with plenty of features including MP3 decorder and USB host controllers onchip.

there are Ultra high speed Controllers available from Dallas with all single cycle instructions which means it can execute 12 times faster than any 8051 running in market today and max speed of 33Mhz boosts its performance even higher to 33MIPS. Which is amazing for any 8051.
More information here..
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4078

Get Social

Information

Powered by e107 Forum System

Downloads

Comments

Bobbyerilar
Thu Mar 28 2024, 08:08 am
pb58
Thu Mar 28 2024, 05:54 am
Clarazkafup
Thu Mar 28 2024, 02:24 am
Walterkic
Thu Mar 28 2024, 01:19 am
Davidusawn
Wed Mar 27 2024, 08:30 pm
Richardsop
Tue Mar 26 2024, 10:33 pm
Stevencog
Tue Mar 26 2024, 04:26 pm
Bernardwarge
Tue Mar 26 2024, 11:15 am