Should I spend time learning PIC or Motorola 68HC12 ?

Started by roy859 March 31, 2004
Which microcontroller should I use for a Robot project ? Motorola
68HC12, Microchip
(PIC16F627 or PIC16F84) or any other microcontroller ?

The PIC micro seems to have plenty of free resources (compilers,
programmer diagrams
etc.) and documentation. I got the impression that Motorola is the
market leader, and its
microcontrollers are considered more "serious" while PIC is more for
the hobby person.
Is there any fundamental reason behind it or is it just a brand name
thing ?

I believe that once you start with one micro - you are most likely to
stick to it for a long
time. In the longer run, even though it might be easier to start with
PIC would spending
the money and time to learn Motorola worth it ? Is there a better
chance to get a job as
someone who is familiar with Motorola rather than with PIC ?



Not knowing the Motorola range, it's difficult for me to make a
comparison between them. Asking this question on a PIC discussion
group is perhaps not the best place to get unbiased answers anyway!

However, your starting point should be the data sheets to establish
which chips perform the tasks you need. By now you have a fairly
detailed specification for the robot otherwise you wouldn't be
looking at the detail of which chip to use - don't you?.

You will find that the differences in architecture make certain
operations easier or harder depending on how they fit with the chip
you are using. Comparing your spec with the data sheets will take you
a long way towards the decision.

Now, in terms of which is the more 'serious' of the two, it is unfair
to refer to the PIC as a 'hobby' component. My business uses several
hundred PICs each year for one simple reason - they do the job at the
right price and reliably. I have no reason to select any other
device at higher price or with more complexity because it might have
a reputation as a 'proper' processor. The online resources provided
by Microchip mean that we can take a new product to market in a far
shorter time that would otherwise be possible. Personally, I have no
interest in producing elegant code on a highly flexible and
professional looking processor if it takes longer to complete, has
less reliability and costs more in production.

I have recently moved from system design and programming using Z80,
6502, 8080 and similar processors to PIC's. The conversion took two
evenings reading data sheets and a day or two of assembly programming
in which I spent a considerable time looking a the instruction
reference. Behind any processor based project is a design process
that is entirely independant of the processor, so learning to work
with one will qualify you to pick up another very quickly. You will
have some adjustments to make because all small microcontrollers
seems to be fairly quirky things. I would hope that an employer will
look at relevant experience far wider than just a specific controller.

Hope this give you some food for thought

Peter --- In , "roy859" <roy859@y...> wrote:
> Which microcontroller should I use for a Robot project ? Motorola
> 68HC12, Microchip
> (PIC16F627 or PIC16F84) or any other microcontroller ?
>
> The PIC micro seems to have plenty of free resources (compilers,
> programmer diagrams
> etc.) and documentation. I got the impression that Motorola is the
> market leader, and its
> microcontrollers are considered more "serious" while PIC is more for
> the hobby person.
> Is there any fundamental reason behind it or is it just a brand name
> thing ?
>
> I believe that once you start with one micro - you are most likely
to
> stick to it for a long
> time. In the longer run, even though it might be easier to start
with
> PIC would spending
> the money and time to learn Motorola worth it ? Is there a better
> chance to get a job as
> someone who is familiar with Motorola rather than with PIC ?






I started this programming thing long before the Intel 8080 and have
worked through various generations and styles of devices. They all
have pluses and minuses and it really doesn't matter.

Try them all as the need or interest arises. If you want to do a
Fast Fourier Transform you might want to skip the PIC but if you
want to control a ton of bit oriented devices or even do motor
control then the PIC is a great choice. If you want to have
ethernet look at the Rabbit Semiconductor offerings. You will
certainly need to know about the 8051 and its' derivatives. I
personally like the Philips 80C252 and I have a great Pascal
compiler for these 8051 clones.

Selecting a chip is a lot like selecting a computer language. You
can start religious wars fairly quick. But there is something
elegant about using an 8 pin PIC when the application requires what
the device can deliver.

Rambling again... --- In , "peterhawken" <peterhawken@s...>
wrote:
> Not knowing the Motorola range, it's difficult for me to make a
> comparison between them. Asking this question on a PIC discussion
> group is perhaps not the best place to get unbiased answers anyway!
>
> However, your starting point should be the data sheets to
establish
> which chips perform the tasks you need. By now you have a fairly
> detailed specification for the robot otherwise you wouldn't be
> looking at the detail of which chip to use - don't you?.
>
> You will find that the differences in architecture make certain
> operations easier or harder depending on how they fit with the
chip
> you are using. Comparing your spec with the data sheets will take
you
> a long way towards the decision.
>
> Now, in terms of which is the more 'serious' of the two, it is
unfair
> to refer to the PIC as a 'hobby' component. My business uses
several
> hundred PICs each year for one simple reason - they do the job at
the
> right price and reliably. I have no reason to select any other
> device at higher price or with more complexity because it might
have
> a reputation as a 'proper' processor. The online resources
provided
> by Microchip mean that we can take a new product to market in a
far
> shorter time that would otherwise be possible. Personally, I have
no
> interest in producing elegant code on a highly flexible and
> professional looking processor if it takes longer to complete, has
> less reliability and costs more in production.
>
> I have recently moved from system design and programming using
Z80,
> 6502, 8080 and similar processors to PIC's. The conversion took
two
> evenings reading data sheets and a day or two of assembly
programming
> in which I spent a considerable time looking a the instruction
> reference. Behind any processor based project is a design process
> that is entirely independant of the processor, so learning to work
> with one will qualify you to pick up another very quickly. You
will
> have some adjustments to make because all small microcontrollers
> seems to be fairly quirky things. I would hope that an employer
will
> look at relevant experience far wider than just a specific
controller.
>
> Hope this give you some food for thought
>
> Peter > --- In , "roy859" <roy859@y...> wrote:
> > Which microcontroller should I use for a Robot project ? Motorola
> > 68HC12, Microchip
> > (PIC16F627 or PIC16F84) or any other microcontroller ?
> >
> > The PIC micro seems to have plenty of free resources (compilers,
> > programmer diagrams
> > etc.) and documentation. I got the impression that Motorola is
the
> > market leader, and its
> > microcontrollers are considered more "serious" while PIC is more
for
> > the hobby person.
> > Is there any fundamental reason behind it or is it just a brand
name
> > thing ?
> >
> > I believe that once you start with one micro - you are most
likely
> to
> > stick to it for a long
> > time. In the longer run, even though it might be easier to start
> with
> > PIC would spending
> > the money and time to learn Motorola worth it ? Is there a better
> > chance to get a job as
> > someone who is familiar with Motorola rather than with PIC ?




--- In , "roy859" <roy859@y...> wrote:
> Which microcontroller should I use for a Robot project ? Motorola
> 68HC12, Microchip
> (PIC16F627 or PIC16F84) or any other microcontroller ?
>
> The PIC micro seems to have plenty of free resources (compilers,
> programmer diagrams
> etc.) and documentation. I got the impression that Motorola is the
> market leader, and its
> microcontrollers are considered more "serious" while PIC is more for
> the hobby person.
> Is there any fundamental reason behind it or is it just a brand name
> thing ?
>
> I believe that once you start with one micro - you are most likely
to
> stick to it for a long
> time. In the longer run, even though it might be easier to start
with
> PIC would spending
> the money and time to learn Motorola worth it ? Is there a better
> chance to get a job as
> someone who is familiar with Motorola rather than with PIC ?

My opinion is that you should look at programming languages first.

What do you know ? what would you have to learn ?

Once you know a language, all the chips -that can use that language-
are roughly the same. Most any micro can be coded with asm and C. Second, I would take the broader view of your project. Are you
making a Cable Modem for a cable modem manufacturer and that is the
one thing you will be doing for the next 5 years ? or are you a
hobbiest who will be doing one of just about everything that strikes
your fancy ?

For the first case, the chip that fits best is the ONE to learn.

For the second, the one with more reasources in the way of easily
found applications is the better one.

But, once you know software and the bits of hardware, you can switch
from one chip to another as long as the language is similar.

This is the reason I recomend the BasicStamp to newbies. the cost of
the device is an expense or inventment on one's education, it is not
a inventement in future hardware. but, once you can progam the
thing, you can move to other micros and Basic with only a small
learning curve.

If, you have a kit and code and all you need to do is assemble, then
there is little to be worried about.

Dave




>
>Once you know a language, all the chips -that can use that language-
>are roughly the same. Most any micro can be coded with asm and C.

Erm.. C is sort of portable between microcontrollers.
Assembler is unique to each brand, AVR assembler does not work at all on a PIC, and vice-versa.

Assembler is a good way to get into the nuts and bolts, and really understand what you're asking the chip to do.. A C programmer does not hesitate to divide by 7, but an assembler programmer does.. :)



But, what is a good C compiler/IDE that is not going to break the bank?

Mark

-----Original Message-----
From: David VanHorn [mailto:]
Sent: Thursday, April 01, 2004 9:31 AM
To: ;
Subject: Re: [piclist] Re: Should I spend time learning PIC or Motorola
68HC12 ?
>
>Once you know a language, all the chips -that can use that language-
>are roughly the same. Most any micro can be coded with asm and C.

Erm.. C is sort of portable between microcontrollers.
Assembler is unique to each brand, AVR assembler does not work at all on a
PIC, and vice-versa.

Assembler is a good way to get into the nuts and bolts, and really
understand what you're asking the chip to do.. A C programmer does not
hesitate to divide by 7, but an assembler programmer does.. :)

to unsubscribe, go to http://www.yahoogroups.com and follow the instructions
Yahoo! Groups Links




--- In , David VanHorn <dvanhorn@c...> wrote:
>
> >
> >Once you know a language, all the chips -that can use that
language-
> >are roughly the same. Most any micro can be coded with asm and C.
>
> Erm.. C is sort of portable between microcontrollers.
> Assembler is unique to each brand, AVR assembler does not work at
all on a PIC, and vice-versa.
>
> Assembler is a good way to get into the nuts and bolts, and really
understand what you're asking the chip to do.. A C programmer does
not hesitate to divide by 7, but an assembler programmer does.. :) Exactly !

If you are great at Basic, then Proton+ or PicBasicPro for the PIC
and Basicom for the AVR are going to be different in more than a few
ways.

Asm from chip to chip will be different in some small ways although
the Atmel claim is that one code can address any chip in a series.
But asm between the PIC and AVR is very different as to require more
than superficial address changes.

Dave



Mark,
I use FED Wiz-C Pro from Forest Developments in the UK for PIC development
( They also have AVR tools). Very useful. Has a hardware and software
simulator and wave traces. C Compiler and ASM tools, programmer/ICD.
See www.fored.co.uk and yahoo group .
Paul.

----- Original Message -----
From: "Mark Adams" <>
To: <>
Sent: Thursday, April 01, 2004 5:02 PM
Subject: RE: [piclist] Re: Should I spend time learning PIC or Motorola
68HC12 ? > But, what is a good C compiler/IDE that is not going to break the bank?
>
> Mark
>
> -----Original Message-----
> From: David VanHorn [mailto:]
> Sent: Thursday, April 01, 2004 9:31 AM
> To: ;
> Subject: Re: [piclist] Re: Should I spend time learning PIC or Motorola
> 68HC12 ? >
> >
> >Once you know a language, all the chips -that can use that language-
> >are roughly the same. Most any micro can be coded with asm and C.
>
> Erm.. C is sort of portable between microcontrollers.
> Assembler is unique to each brand, AVR assembler does not work at all on a
> PIC, and vice-versa.
>
> Assembler is a good way to get into the nuts and bolts, and really
> understand what you're asking the chip to do.. A C programmer does not
> hesitate to divide by 7, but an assembler programmer does.. :) >
>
> to unsubscribe, go to http://www.yahoogroups.com and follow the
instructions
> Yahoo! Groups Links >
> to unsubscribe, go to http://www.yahoogroups.com and follow the
instructions
> Yahoo! Groups Links




--- Mark Adams <> wrote:
> But, what is a good C compiler/IDE that is not going to break the
> bank?
>
> Mark
>
> -----Original Message-----
> From: David VanHorn [mailto:]
> Sent: Thursday, April 01, 2004 9:31 AM
> To: ;
> Subject: Re: [piclist] Re: Should I spend time learning PIC or
> Motorola
> 68HC12 ? >
> >
> >Once you know a language, all the chips -that can use that language-
> >are roughly the same. Most any micro can be coded with asm and C.
>
> Erm.. C is sort of portable between microcontrollers.
> Assembler is unique to each brand, AVR assembler does not work at all
> on a
> PIC, and vice-versa.
>
> Assembler is a good way to get into the nuts and bolts, and really
> understand what you're asking the chip to do.. A C programmer does
> not
> hesitate to divide by 7, but an assembler programmer does.. :)

Hummmm, I think you better have a handle on where all the bits are
going before you start merrily doing integer divide by 7 on a 8 or 16
bit controller. :)

Chad =====
My software has no bugs. Only undocumented features.

__________________________________




I just did a lot of research on available PIC C compilers. I
evaluated them based on price, piclist users opinions, capability,
availability of sample code and drivers and ease-of-use. The clear
winner (and the one I bought) was the CCS compiler for $130
(www.ccsinfo.com). Their (only) 30 day update policy would have
turned me away, but overall they were much better than the others
(IMHO).

BRW

--- In , "Mark Adams" <madams-wslc@c...> wrote:
> But, what is a good C compiler/IDE that is not going to break the
bank?
>
> Mark
>
> -----Original Message-----
> From: David VanHorn [mailto:dvanhorn@c...]
> Sent: Thursday, April 01, 2004 9:31 AM
> To: ;
> Subject: Re: [piclist] Re: Should I spend time learning PIC or
Motorola
> 68HC12 ? >
> >
> >Once you know a language, all the chips -that can use that
language-
> >are roughly the same. Most any micro can be coded with asm and C.
>
> Erm.. C is sort of portable between microcontrollers.
> Assembler is unique to each brand, AVR assembler does not work at
all on a
> PIC, and vice-versa.
>
> Assembler is a good way to get into the nuts and bolts, and really
> understand what you're asking the chip to do.. A C programmer does
not
> hesitate to divide by 7, but an assembler programmer does.. :) >
>
> to unsubscribe, go to http://www.yahoogroups.com and follow the
instructions
> Yahoo! Groups Links