For someone eventually migrating to ARM based architectures - which of these, 8051 or PIC16, resembles ARM more closely from programmer point of view - memory structure/model, assembly etc. Cheers
[Comparison] PIC vs 8051
Started by ●February 23, 2006
Reply by ●February 23, 20062006-02-23
sukrit.mehra@gmail.com wrote:> For someone eventually migrating to ARM based architectures - which of > these, 8051 or PIC16, resembles ARM more closely from programmer point > of view - memory structure/model, assembly etc. > > Cheers >The comparison is a bit like wanting to be a truck driver when you grow up, and asking if it is best to start learning with a wheelbarrow or a bicycle. The wheelbarrow and the bicycle are useful tools, but bear little resemblance to a truck (especially as you are asking specifically about the cpu architecture). In other words, neither the 8051 nor the PIC16 are remotely close to the ARM in terms of the architecture (and not very close in hardware or peripherals either). If you are looking to learn about microcontrollers, look elsewhere - the 8051 and PIC16 are way outdated, and are of primary interest for specialist applications, where backwards compatibility with outdated hardware or software is important, or (for the 8051) where the range of suppliers is important. If you are starting from scratch, and are sure you want to end up with the ARM (there are other choices, you know), you are probably best off going straight to the ARM. If you want to start with something smaller and simpler, but a little closer to the ARM architecture, you are probably best with the msp430 (not quite as RISCy, but flat memory model) or the AVR (more RISCy, but more complex memory model).
Reply by ●February 23, 20062006-02-23
David Brown <david@westcontrol.removethisbit.com> wrote:> If you are starting from scratch, and are sure you want to end up with > the ARM (there are other choices, you know), you are probably best off > going straight to the ARM. If you want to start with something smaller > and simpler, but a little closer to the ARM architecture, you are > probably best with the msp430 (not quite as RISCy, but flat memory > model) or the AVR (more RISCy, but more complex memory model).The MSP430 won't teach you too many bad habits and it's a nice clean instruction set. (It'll also give you a good heads-up should you ever fall back through a timewarp and need to program PDP-11s). pete -- pete@fenelon.com [Support no2id.net: working to destroy Blair's ID card fraud]
Reply by ●February 23, 20062006-02-23
Pete Fenelon <pete@fenelon.com> writes:> David Brown <david@westcontrol.removethisbit.com> wrote: > > If you are starting from scratch, and are sure you want to end up with > > the ARM (there are other choices, you know), you are probably best off > > going straight to the ARM. If you want to start with something smaller > > and simpler, but a little closer to the ARM architecture, you are > > probably best with the msp430 (not quite as RISCy, but flat memory > > model) or the AVR (more RISCy, but more complex memory model). > > The MSP430 won't teach you too many bad habits and it's a nice clean > instruction set. (It'll also give you a good heads-up should you ever > fall back through a timewarp and need to program PDP-11s).The Motorola 68xx family is a lot closer to the PDP-11.
Reply by ●February 23, 20062006-02-23
sukrit.mehra@gmail.com wrote:> For someone eventually migrating to ARM based architectures - which of > these, 8051 or PIC16, resembles ARM more closely from programmer point > of view - memory structure/model, assembly etc.My homework detector just went off... The 8051 has registers, and has register pointer operations on two of them. The PIC16 has no registers - so the answer is, of the two distant stars, the 80C51 is closer to the ARM. [but both stars are a long way away..] -jg
Reply by ●February 23, 20062006-02-23
On Fri, 24 Feb 2006 08:04:00 +1300 in comp.arch.embedded, Jim Granville <no.spam@designtools.co.nz> wrote:>sukrit.mehra@gmail.com wrote: >> For someone eventually migrating to ARM based architectures - which of >> these, 8051 or PIC16, resembles ARM more closely from programmer point >> of view - memory structure/model, assembly etc. > >My homework detector just went off... > >The 8051 has registers, and has register pointer operations on two of them. >The PIC16 has no registers - so the answer is, of the two distantWhaddaya mean? The PIC has _lots_ of registers. It just has no RAM... And you can have indirect access to registers though the FSR and INDF. Woo-hoo! Regards, -=Dave -- Change is inevitable, progress is not.
Reply by ●February 23, 20062006-02-23
sukrit.mehra@gmail.com wrote:> For someone eventually migrating to ARM based architectures - which of > these, 8051 or PIC16, resembles ARM more closely from programmer point > of view - memory structure/model, assembly etc. > > CheersNeither. They are completely different to the ARM Ian
Reply by ●February 23, 20062006-02-23
Dave Hansen wrote:> > Whaddaya mean? The PIC has _lots_ of registers. It just has no > RAM... >No, the PIC is really weird. What everyone else calls registers the PIC doesn't have. The PIC calls its internal RAM registers. Ian
Reply by ●February 23, 20062006-02-23
Ian Bell wrote:> Dave Hansen wrote: > > > > Whaddaya mean? The PIC has _lots_ of registers. It just has no > > RAM... > > > > No, the PIC is really weird. What everyone else calls registers the PIC > doesn't have. The PIC calls its internal RAM registers. > > IanYes exactly, that always messed with my brain cause not all of the "registers" are accessible anyway. Touching them can cause trouble, plus you got the: bsf STATUS,RP0 bcf STATUS,RP1 With the annoying banking to get at some registers (particularly the port direction registers). Out of the two I would take the 8051 though, since it is a more logical architecture. But I find with PIC's at really low clock speeds (say slowing down the 16F628's internal 4MHz osc to 37kHz), you can't beat their power consumption. They draw current in the microamps range, making it a nice choice for battery operated devices. Anyway's to answer the OPs question. The ARM has no resemblance to those two 8-bit MCU's. I think it is much closer to a conventional microprocessor than the 8051 and PIC are.
Reply by ●February 23, 20062006-02-23
Isaac Bosompem wrote:> > Ian Bell wrote: >> Dave Hansen wrote: >> > >> > Whaddaya mean? The PIC has _lots_ of registers. It just has no >> > RAM... >> > >> >> No, the PIC is really weird. What everyone else calls registers the PIC >> doesn't have. The PIC calls its internal RAM registers. >> >> Ian > > Yes exactly, that always messed with my brain cause not all of the > "registers" are accessible anyway. Touching them can cause trouble, > plus you got the: > > bsf STATUS,RP0 > bcf STATUS,RP1 >I always thought the PIC might be a handy device. But I have used micros (4, 8 and 16 bit) professionally for over 20 years and the stupidly odd terminology the PIC uses for things known commonly by other names simply alienates me from the parts. Ian