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
Sat Sep 29 2018, 06:28 PM
Please post questions in the forum.
Sat Sep 29 2018, 11:26 AM
Ashfaq Ch
hi i have some AT89C51RC microcontrollers already programed. some one help us to how to download from AT89C51RC and after study and edit all corractions reload to AT89C51RC controller
shshistiem
Wed Sep 12 2018, 10:58 PM
hii!! some1 please let me know how i ll get rfid code to 8051 by WEIGAND mode
DrNossberg
Tue Sep 11 2018, 08:09 PM
is there anyone here?
Mon Aug 27 2018, 07:30 AM
bun
Hello everyone!
Sat Jul 21 2018, 06:21 AM
Dibakar Bhanja Chowdhury
By using a 555 timer how can I expand the range of the mobile phone jammer? Please reply me asap
Sun May 20 2018, 10:01 AM
justinb
how to write and execute a program that read the keypad button and display the number on 7 segment on intel8051 at89s52 in assembly language?
Thu May 17 2018, 06:36 AM
HAMZA TAJ
sir iwant to ask about controller of three phase supply by using back to back thyristor instead of triac....will u give me some guideline?
Sat Apr 28 2018, 12:54 PM
ashutosh jain
IR Remote Switch using TV remote (RC5 Protocol) is not working properly. opp1 & opp2 is in problem.plz help
ExperimenterUK
Fri Apr 27 2018, 08:09 PM
@kaiserslautern Post in forum

Downloads

Comments

PCBindex
Fri Sep 14 2018, 02:45 AM
sirkit
Thu Sep 13 2018, 04:46 AM
shshistiem
Wed Sep 12 2018, 10:36 PM
DrNossberg
Tue Sep 11 2018, 03:25 PM
ranjanvh
Thu Sep 06 2018, 02:28 PM
rbbhamre
Tue Sep 04 2018, 06:15 PM
Tressie
Sun Sep 02 2018, 02:20 PM
Sudhansudeep
Fri Aug 31 2018, 08:26 AM

Online

Guests: 86, Members: 0 ...

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

Members: 38006
Newest member: PCBindex
Forum Activity
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu Sep 13 2018, 08:39 PM
First of all, by reading your reply, I abandoned m...
DrNossberg Avatar
Posted By DrNossberg
Thu Sep 13 2018, 03:49 PM
Hi, thanks you for your reply ^^ First of all, by ...
ExperimenterUK Avatar
Posted By ExperimenterUK
Wed Sep 12 2018, 12:12 AM
HiThere are several issues here.The original 8051 ...
DrNossberg Avatar
Posted By DrNossberg
Tue Sep 11 2018, 08:08 PM
Hello everybody!First of all let me explain some s...
ExperimenterUK Avatar
Posted By ExperimenterUK
Fri Sep 07 2018, 05:08 AM
The compiler thinks the micro doesn't have enough...
Sudhansudeep Avatar
Posted By Sudhansudeep
Fri Sep 07 2018, 02:59 AM
this is the build output message
Sudhansudeep Avatar
Posted By Sudhansudeep
Fri Sep 07 2018, 01:38 AM
Change the mobile number as [number removed] in t...
ExperimenterUK Avatar
Posted By ExperimenterUK
Thu Sep 06 2018, 08:56 PM
I don't know what the problem is, I get no errors....
Sudhansudeep Avatar
Posted By Sudhansudeep
Thu Sep 06 2018, 01:12 PM
the code is Attachment ...
Sudhansudeep Avatar
Posted By Sudhansudeep
Thu Sep 06 2018, 12:48 PM
the code is same as u sent me for 16 chars