Discussion in "General help Guidance and Discussion" started by    Nirmaan    Feb 1, 2009.
Sun Feb 01 2009, 04:33 AM

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, 04:44 AM

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, 06:08 AM
Gr8 Arun I never seen such nice ,concept clearing explanation - Very Impressive
Sun Feb 01 2009, 06:21 AM

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, 06:36 AM
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, 02:24 PM

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
Sun Feb 01 2009, 08:31 PM

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, 03:14 AM

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, 03:31 AM ]
Thu Feb 19 2009, 03:04 AM

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, 08:40 AM
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.
http://www.maxim-ic.com/quick_view2.cfm/qv_pk/4078

### Information

#### Conversation

Mon Jan 07 2019, 03:31 AM
@REVOCATUS please post in the AVR forum
Mon Dec 24 2018, 09:25 AM
REVOCATUS MATEMU
sorry I mean referee boards for player substitution
Mon Dec 24 2018, 09:24 AM
REVOCATUS MATEMU
hi am.looking how to build referee by using Atmega 328 and its codes
Sat Dec 15 2018, 01:45 PM
Arslan ayoub
Hii ,, can I get the simulation of numeric keypad lock on proteus
Mon Dec 03 2018, 05:17 PM
Please post questions in the forum. The chat box is for chat
Mon Dec 03 2018, 06:43 AM
help!me!
help! I don't understand busy flag!
Sun Dec 02 2018, 08:01 PM
ile
hello
Mon Nov 12 2018, 05:58 AM
Pavan_user
i have seen your replica of I2C programming using AT89C51 but i am unable to understand the "ack_bit" variable usage ...looks like it is always 1...can you elaborate how acknowledgment is working....
Tue Nov 06 2018, 02:36 PM
kindly any one give solution for my problem
Mon Nov 05 2018, 09:48 PM
Pins high is the normal state. You need a program to set them low

### Recent

the_Doker
Thu Feb 14 2019, 02:21 PM
XanZes
Thu Feb 14 2019, 01:02 AM
dominicchiori
Wed Feb 06 2019, 01:41 AM
tandong
Sun Jan 27 2019, 01:38 PM
Rizz
Fri Jan 25 2019, 06:24 PM
Kheirodin
Tue Jan 22 2019, 11:54 PM
garfield0929
Sun Jan 20 2019, 12:48 AM
servprov
Thu Jan 17 2019, 06:44 AM

#### Online

Guests: 55, Members: 0 ...

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

Members: 38045
Forum Activity
##### Posted By ExperimenterUK
Sat Jan 26 2019, 07:19 PM
Yes that helps a lot.At first sight I can't see th...
##### Posted By Rizz
Sat Jan 26 2019, 06:43 AM
@ExperimenterUK I have updated the post with more ...
##### Posted By ExperimenterUK
Sat Jan 26 2019, 02:30 AM
What is your definition of a Palindrome ?The ones ...
##### Posted By Rizz
Fri Jan 25 2019, 06:31 PM
I have written a code to check if a number is a pa...
##### Posted By ExperimenterUK
Sun Jan 06 2019, 10:37 PM
Which 8051 chip are you using ?
##### Posted By SONACHAI1234
Sun Jan 06 2019, 08:21 AM
Hi,By mistakenly i burn rx program in my 8051 micr...
##### Posted By ExperimenterUK
Wed Dec 19 2018, 06:27 PM
Nobody knows?sifirsekizThe problem is that you are...
##### Posted By sifirsekiz
Wed Dec 19 2018, 12:15 PM
Nobody knows?
##### Posted By sifirsekiz
Sun Dec 16 2018, 11:13 PM