EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

[Comparison] PIC vs 8051

Started by Unknown February 23, 2006
On Thu, 23 Feb 2006 19:47:45 +0000 in comp.arch.embedded, Ian Bell
<ruffrecords@yahoo.com> 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.
I think you need to increase the gain on your sarcasm detector... Just to muddy the waters further, consider that the 8051 has _no_ general purpose registers. Well, other than A and B, I suppose, but I don't consider those "general purpose." R0 through R7 are all in RAM. Regards, -=Dave -- Change is inevitable, progress is not.
Dave Hansen wrote:
> On Thu, 23 Feb 2006 19:47:45 +0000 in comp.arch.embedded, Ian Bell > <ruffrecords@yahoo.com> 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. > > > I think you need to increase the gain on your sarcasm detector... > > Just to muddy the waters further, consider that the 8051 has _no_ > general purpose registers. Well, other than A and B, I suppose, but I > don't consider those "general purpose." R0 through R7 are all in RAM.
You need to study the 80C51 opcode encoding, and read the data sheets. What matters is what Intel called Registers, not what someone else thinks Registers might be... -jg
"Jim Granville" <no.spam@designtools.co.nz> wrote in message
news:43fe66fc$1@clear.net.nz...

> You need to study the 80C51 opcode encoding, and read the data sheets. > > What matters is what Intel called Registers, not what someone else > thinks Registers might be...
Would it be safe to say that registers are locations that are addressed by one or more bits in an opcode while a memory location is a location that is addressed by an operand (address byte/word) to an opcode? In that case, some 8051 registers are both.... Meindert
Everett M. Greene <mojaveg@mojaveg.iwvisp.com> wrote:
>> 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.
68xxx maybe; 68xx doesn't have enough registers or addressing modes to feel like a PDP-11 -- at least not to me ;) pete -- pete@fenelon.com [Support no2id.net: working to destroy Blair's ID card fraud]
Dave Hansen wrote:

> On Thu, 23 Feb 2006 19:47:45 +0000 in comp.arch.embedded, Ian Bell > <ruffrecords@yahoo.com> 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. > > I think you need to increase the gain on your sarcasm detector... >
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
Ian Bell <ruffrecords@yahoo.com> wrote:
> > 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. >
The PIC is a pile of I/O lines and some peripherals with just enough glue in the middle to hold it together as a CPU. Nobody chooses one because of the instruction set or architectre... For a long time I reckoned the only thing that kept Microchip going was Keeloq. Every time Microchip have tried to make a "more modern PIC" they've hit the wall - PIC17 was a monstrosity which even the firm's own engineers don't like to talk about; PIC18 is less gruesome but still too expensive and unpleasant to program; PIC30 has a (relatively) nice architecture but was too little, too late - conventional micros and cheap fixed-point DSPs outperform it for less money. I've often expressed the opinion that the best thing Microchip could do is license the ARM7 core and mix that with their expertise in packaging and peripherals. As CPU designers, they can't keep up. pete -- pete@fenelon.com [Support no2id.net: working to destroy Blair's ID card fraud]
Pete Fenelon wrote:

> Ian Bell <ruffrecords@yahoo.com> wrote: >> >> 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. >> > > The PIC is a pile of I/O lines and some peripherals with just enough > glue in the middle to hold it together as a CPU. Nobody chooses one > because of the instruction set or architectre... For a long time I > reckoned the only thing that kept Microchip going was Keeloq. >
I do know of other volume applications. They are very aggressive on price for high volume applications. I found one once in a hair dryer, one in an electric toothbrush and we actually used one once in a CO2 detector design. But I agree, they are crap devices. Ian
Pete Fenelon wrote:
> Everett M. Greene <mojaveg@mojaveg.iwvisp.com> wrote: > >>>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. > > > 68xxx maybe; 68xx doesn't have enough registers or addressing modes to > feel like a PDP-11 -- at least not to me ;)
6800 is kinda correct: It was all of PDP-11 Motorola could squeeze on the silicon of that day. Motorola was using PDP-11's for their system products, and the resemblance is not accidental. Of course, most of the good ideas of PDP are missing: - multiple general registers, - homogenous addressing modes, - subroutine call with register linkage The worst property of a 6800 is the bottleneck created by the accumulators and a single addressing register (X). There are other PDP-like architectures: M68k and Hitachi H8. IMHO, both have lost some of the beautiful simple completeness of the genuine PDP-11. -- Tauno Voipio tauno voipio (at) iki fi
Ian Bell <ruffrecords@yahoo.com> wrote:
>> The PIC is a pile of I/O lines and some peripherals with just enough >> glue in the middle to hold it together as a CPU. Nobody chooses one >> because of the instruction set or architectre... For a long time I >> reckoned the only thing that kept Microchip going was Keeloq. >> > > I do know of other volume applications. They are very aggressive on price > for high volume applications. I found one once in a hair dryer, one in an > electric toothbrush and we actually used one once in a CO2 detector design. > > But I agree, they are crap devices. >
I don't doubt that there are *many* ultra-low-margin applications that use PICs (and many of them could probably get by with a 555 timer and no micro, but everything's got to have a micro in it these days, right?!) but Keeloq seems to be the one truly profitable line of business Microchip have. Then again they have some good points; sitting right next door to Intel's fabs in Chandler basically means that as Intel scrap one line Microchip can take it over ;) I'm not quite sure what they're trying to achieve with PIC24, either - cutting the fixed-point DSP end off PIC30 doesn't seem to be much of a saving? pete -- pete@fenelon.com [Support no2id.net: working to destroy Blair's ID card fraud]
On Fri, 24 Feb 2006 11:28:30 +0000 in comp.arch.embedded, Ian Bell
<ruffrecords@yahoo.com> wrote:

>Pete Fenelon wrote: >
[...]
>> >> The PIC is a pile of I/O lines and some peripherals with just enough >> glue in the middle to hold it together as a CPU. Nobody chooses one >> because of the instruction set or architectre... For a long time I
In the applications where I've used them, they were chosen for their mix of I/O and their environmental specifications. And their price. As the software guy, I was always looking for better alternatives, but everything cheaper didn't have the I/O we needed, and everything that did was _way_ more expensive. I remember one project I asked purchasing to get a quote for a Cygnal (now SiLabs) part (F300 IIRC). They came back with about $6.50 at 10k quantities, which was about 5x the Microchip part. I've always had good luck with their support as well.
>> reckoned the only thing that kept Microchip going was Keeloq.
Actually, I never used that.
>> > >I do know of other volume applications. They are very aggressive on price >for high volume applications. I found one once in a hair dryer, one in an >electric toothbrush and we actually used one once in a CO2 detector design. > >But I agree, they are crap devices.
Actually, they're good, solid, reliable devices with a hideous programming architecture. Cheap doesn't hurt either, especially in high-volume applications that can tolerate a little extra NRE. Regards, -=Dave -- Change is inevitable, progress is not.

The 2024 Embedded Online Conference