Discussion in "General help Guidance and Discussion" started by    Nirmaan    Feb 1, 2009.
Sun Feb 01 2009, 04:33 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, 04:44 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, 06:08 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, 06:21 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, 06:36 AM
#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, 02:24 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
Sun Feb 01 2009, 08:31 PM
#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, 03:14 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, 03:31 AM ]
Thu Feb 19 2009, 03:04 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, 08:40 AM
#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

Conversation

ExperimenterUK
Thu Jan 11 2018, 06:23 PM
Hi Dave. Good to see you. Parole ?
DavesGarage
Wed Jan 10 2018, 12:55 PM
It's been a few years since I poked around here - Hi all...
ExperimenterUK
Tue Jan 09 2018, 12:19 PM
Hi TPS. it's been a while..
۞ TPS ۞
Mon Jan 08 2018, 11:42 AM
hello
Fri Jan 05 2018, 06:50 AM
sayyad affrid
its AT89S52
Fri Jan 05 2018, 06:50 AM
sayyad affrid
sir, i want embedded c code for ultrasonic sensor having buzzer interfaced with AT9S52
Tue Dec 19 2017, 01:12 PM
zafir
i am making digital voltmeter using AT89C51, ADC and LCD 16x2,,, kindly someone please send me hex file in assembly language
Sat Dec 16 2017, 05:18 AM
mehari
can not find dhtxx.md file in proteus 8.0 can anybody help me please?
sahar7478
Sat Dec 09 2017, 05:47 AM
can i get gsm a6 library? can anybody help? tia
Faiqa
Sun Nov 26 2017, 01:32 AM
Can i get the code of Monitering and controlling of green house effect? ... Can anyone help me ?

Downloads

Comments

eddieprice
Fri Jan 12 2018, 04:07 PM
bastik
Fri Jan 12 2018, 09:36 AM
cjj20
Tue Jan 09 2018, 07:29 PM
shahzadiqbal
Tue Jan 09 2018, 01:57 PM
shailu1809
Mon Jan 08 2018, 01:11 AM
saffrid97
Sun Jan 07 2018, 01:48 AM
vietbac
Sat Jan 06 2018, 10:08 AM
Pecman
Wed Jan 03 2018, 03:58 PM

Online

Guests: 49, Members: 0 ...

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

Members: 37943
Newest member: eddieprice
Forum Activity
ExperimenterUK Avatar
Posted By ExperimenterUK
Sat Jan 13 2018, 10:26 PM
This is clearly an old design.A modern microcontr...
bastik Avatar
Posted By bastik
Sat Jan 13 2018, 09:38 PM
For now I don’t have much information about device...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Jan 12 2018, 06:49 PM
Sometimes the Configuration word has to be program...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Jan 12 2018, 06:30 PM
What exactly is your situation ?I very much doubt ...
eddieprice Avatar
Posted By eddieprice
Fri Jan 12 2018, 04:32 PM
I am using a 16F84A for the first time and am havi...
bastik Avatar
Posted By bastik
Fri Jan 12 2018, 10:37 AM
I have device with SAB80C535 microcontroller and I...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Jan 12 2018, 12:01 AM
I tried to compile your 8051 version in Keil 5but...
cjj20 Avatar
Posted By cjj20
Tue Jan 09 2018, 07:42 PM
I just think something is off in the checkgpgga fu...
ExperimenterUK Avatar
Posted By ExperimenterUK
Tue Jan 09 2018, 07:35 PM
Why do you think there is something wrong with it...
cjj20 Avatar
Posted By cjj20
Tue Jan 09 2018, 07:32 PM
Please help me correct this code #include ...