Searching \ for '[PIC] - Book Reccomendations for beggining PIC Pro' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/microchip/devices.htm?key=pic
Search entire site for: '- Book Reccomendations for beggining PIC Pro'.

Exact match. Not showing close matches.
PICList Thread
'[PIC] - Book Reccomendations for beggining PIC Pro'
2005\04\21@131344 by email

flavicon
face
I got some feedback on my PIC programming on Linux article at my website
about my reccomendation of Mike Predko's book.  I personally loved
"Programming and Customizing PIC Microcontrollers" but in reading some
reviews on Amazon there seems to be mixed feelings about this book.

I was wondering what the top few reccomended books are for learning PICs
and PIC programming are.

Any thoughts?

PS.  Thanks to all of you who took the time to read my article and give me
your feedback.  It's much appreciated.

- Micah Carrick
http://www.micahcarrick.com

2005\04\21@133752 by olin_piclist

face picon face
email@micahcarrick.com wrote:
> I was wondering what the top few reccomended books are for learning PICs

1.  The data sheet.
2.  The data sheet.
3.  The data sheet.

*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

2005\04\21@141832 by Mike Hord

picon face
> > I was wondering what the top few reccomended books are for learning PICs
>
> 1.  The data sheet.
> 2.  The data sheet.
> 3.  The data sheet.

+ errata + reference manuals

MH

2005\04\21@142647 by email

flavicon
face
Olin Lathrop wrote:

> spam_OUTemailTakeThisOuTspammicahcarrick.com wrote:
>
>> I was wondering what the top few reccomended books are for learning PICs
>
>
> 1.  The data sheet.
> 2.  The data sheet.
> 3.  The data sheet.
>
> *****************************************************************
> Embed Inc, embedded system specialists in Littleton Massachusetts
> (978) 742-9014, http://www.embedinc.com

Haha.  okay, fair enough.  However, hypothetical situation:

Little timmy is fresh out of high school, or big johnny is retiring and
taking up a hobby.  No EE degree, no CS degree, but is technically
inclined.  He dabbled with some programming, C or somthing, and he's
tinkered with electroncis here and there.  He has heard of PICs, in fact,
His good friend Sir. Willy III has used them to build robots.  Now you
would like to pick up a beginning PIC book to learn from a hobbyist
perspective.

Any suggestions for that situation?

- Micah

2005\04\21@150551 by Kevin
flavicon
face

I personally liked
www.piclist.com/techref/piclist/cheapic/index.htm
It has simple projects, and diagrams with the code.
~Kevin

On Thu, 21 Apr 2005, Mike Hord wrote:

> > > I was wondering what the top few reccomended books are for learning PICs
> >
> > 1.  The data sheet.
> > 2.  The data sheet.
> > 3.  The data sheet.
>
> + errata + reference manuals
>
> MH
>
> -

2005\04\21@150948 by Wouter van Ooijen

face picon face
> Haha.  okay, fair enough.  However, hypothetical situation:
>
> Little timmy is fresh out of high school, or big johnny is
> retiring and
> taking up a hobby.  No EE degree, no CS degree, but is technically
> inclined.  He dabbled with some programming, C or somthing, and he's
> tinkered with electroncis here and there.  He has heard of
> PICs, in fact,
> His good friend Sir. Willy III has used them to build robots.  Now you
> would like to pick up a beginning PIC book to learn from a hobbyist
> perspective.
>
> Any suggestions for that situation?

When I was 16 I had never build something more complex than a 2
transistor radio, and I did not understand the working of such a
'complex' circuit. Then I discovered heaven: the 'reference corner' of
the library of the electronics faculty of the nearby university. It
contained mainly datasheets. I read it *all*. You should be able to
guess what I would recommend.

And for general electronics: Horowitz and Hill.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2005\04\21@152059 by olin_piclist

face picon face
Mike Hord wrote:
>> 1.  The data sheet.
>> 2.  The data sheet.
>> 3.  The data sheet.
>
> + errata + reference manuals

I agree with the errata, but there is very little in the "midrange" and the
similar 18F family reference manuals that isn't in the data sheet.  I gave
up on those years ago.  Every time I went to look for a little more detailed
information there wasn't any, so I stopped bothering.

The dsPIC documentation on the other hand is arranged differently.  There
the Programmer's Reference Manual describes the instruction set and the
Family reference manual describes the peripherals.  This information is NOT
duplicated in the data sheets.  The data sheets only give pretty useless
rough overviews of the peripherals.  The only purpose of the data sheet is
to provide the electrical specs and the specifics that vary from device to
device, like the pinout, memory sizes, and mix of peripherals.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

2005\04\21@152236 by Jan-Erik Soderholm

face picon face
email@micahcarrick.com wrote:
> I was wondering what the top few reccomended
> books are for learning PICs

Just thinking here..

Hasn't, is a way, the Internet more or less taken over
the role as a learning media from more traditional books ?

If one just want something that is printed on paper (to
bring into bed or anything, personaly I'd rather have a
few papers falling onto my face when I fall asleep then
a 3 Kg laptop...) one could always print out something
like Wouters swp (Starting With PICs) page (or my PDF
version at "http://www.jescab.se/Starting_with_PICs.html").

And there are other stuff available free from the net that
could be used as introductional material.

(Now, there are also a LOT of realy bad (old, using
discontinued PICs) material available out there...)

And just think about what a nice FAQ one would get if
the stuff on the piclist archive could be sorted out
and ordered into topics or something !

I started with PICs a few years ago (but with an aprox
20 years of background from computers and electronics)
but have never seen any need for a traditional book.

Best Regards,
Jan-Erik.



2005\04\21@152407 by olin_piclist

face picon face
email@micahcarrick.com wrote:
> Little timmy is fresh out of high school, or big johnny is retiring and
> taking up a hobby.  No EE degree, no CS degree, but is technically
> inclined.  He dabbled with some programming, C or somthing, and he's
> tinkered with electroncis here and there.  He has heard of PICs, in
> fact, His good friend Sir. Willy III has used them to build robots.
> Now you would like to pick up a beginning PIC book to learn from a
> hobbyist perspective.
>
> Any suggestions for that situation?

I guess you're looking for a general introduction to microncontrollers and
the associated electronics, which I can't help you with.  However,
regardless how one is introduced to the topic, eventually it will be
necessary to read and understand the data sheet for the specific PIC you are
trying to use.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

2005\04\21@153337 by John Ferrell

face picon face
On the web:
http://www.amqrp.org/elmer160/
The Square 1 books, Amazon.com or http://www.sq-1.com/

I think the beginner is best off by picking either a 16F84 or 16F628 for
several projects before moving up or down.


John Ferrell
http://DixieNC.US

{Original Message removed}

2005\04\21@163906 by Lindy Mayfield

flavicon
face
part 1 2159 bytes content-type:text/plain; (decoded base64)

Olin is correct for learning about the Pic.  For programming, that depends on what you want to do.  If you want to code in assembler and understand the chip itself, then there are the data sheets of course, then the Microchip reference manuals are good, especially when learning about then different chip features like A/D conversion and the serial port.  From square 1 books as someone mentioned there is a book that I have learned a lot from called Serial Communications (used to be called Serial Pickin).  

If you want to code in Basic there are some books by Myke Predko (http://www.myke.com/) that are good and seem to be hobby oriented, like building robots.  

That is my opinion from learning as a beginner. (-:

       {Original Message removed}
part 2 6251 bytes content-type:application/ms-tnef; (decode)

part 3 35 bytes content-type:text/plain; charset="us-ascii"
(decoded 7bit)

2005\04\21@172041 by phil B

picon face

--- Mike Hord <.....mike.hordKILLspamspam@spam@gmail.com> wrote:
> > > I was wondering what the top few reccomended
> books are for learning PICs
> >
> > 1.  The data sheet.
> > 2.  The data sheet.
> > 3.  The data sheet.
>
> + errata + reference manuals

4. Microchip App notes  (these might even be higher
than #3 if it weren't for some pretty bad coding
practices)
5. Piclist (here and yahoo)
6. Google

I went from 0 PIC knowledge to pretty broad
understanding in about a year by using the
aforementioned resources.

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com

2005\04\21@172241 by Nathan Thomsen

flavicon
face
I did like Mike Predko's book.  It covers just about everything.  But it
has lots of errors and is somewhat out of date.  Also don't expect to
get much out of the programmer besides just programming a chip to use in
another programmer(like the wisp etc.).

Nathan Thomsen

{Original Message removed}

2005\04\21@172948 by email

flavicon
face
Olin Lathrop wrote:

> emailspamKILLspammicahcarrick.com wrote:
>
>> Little timmy is fresh out of high school, or big johnny is retiring and
>> taking up a hobby.  No EE degree, no CS degree, but is technically
>> inclined.  He dabbled with some programming, C or somthing, and he's
>> tinkered with electroncis here and there.  He has heard of PICs, in
>> fact, His good friend Sir. Willy III has used them to build robots.
>> Now you would like to pick up a beginning PIC book to learn from a
>> hobbyist perspective.
>>
>> Any suggestions for that situation?
>
>
> I guess you're looking for a general introduction to microncontrollers and
> the associated electronics, which I can't help you with.  However,
> regardless how one is introduced to the topic, eventually it will be
> necessary to read and understand the data sheet for the specific PIC you
are
> trying to use.
>
>
> *****************************************************************
> Embed Inc, embedded system specialists in Littleton Massachusetts
> (978) 742-9014, http://www.embedinc.com

I must appologize, I was just giving a hypothetical.  Actually, I was told
that reccomending Predko's book on my website isn't a good idea to suggest
to beginners.  So, I though rather that soley having my biased opinion, I
would ask the piclist for thier suggestions and relay what most PIC
developers feel about books on to the readers of my article.

I suppose it wasn't exactly a black and white question.  I guess a book
reccomendation is really dependent on the user's goals in learning PICs
and their current level of knowledge on the subject.

Thanks for your suggestions though!

Micah Carrick
http://www.micahcarrick.com

2005\04\21@181145 by piclist

flavicon
face
On Thu, 21 Apr 2005, Olin Lathrop wrote:

> there is very little in the "midrange" and the
> similar 18F family reference manuals that isn't in the data sheet.  I gave
> up on those years ago.  Every time I went to look for a little more detailed
> information there wasn't any, so I stopped bothering.

There is some.  For example, only the 18C family reference explicitly
documents how TMR2 behaves if PR2 is 0, or why low priority interrupts
don't work if GIEH is clear.

--
John W. Temples, III

2005\04\21@182612 by Andre Abelian

picon face
Based on my pass experience the only book I liked and started
to understand better was " Beginners guide to microchip pic"
By Nigel Gardner.

Reading data sheets are good after getting led blink project done.


Andre




{Original Message removed}

2005\04\22@091529 by Byron A Jeff

face picon face
On Thu, Apr 21, 2005 at 03:36:54PM -0400, John Ferrell wrote:
> On the web:
> http://www.amqrp.org/elmer160/
> The Square 1 books, Amazon.com or http://www.sq-1.com/
>
> I think the beginner is best off by picking either a 16F84 or 16F628 for
> several projects before moving up or down.

John, there's no or in the list above, John McDonald notwithstanding.

Pick the more fully featured part. In the list above the part should be
the 16F88.

My logic on the subject hasn't changed. While each of the chips can do
the basics (blink an LED, read a switch, etc.) once you start to do
something real, then the lack of hardware of the smaller chips becomes
apparent.

I'd like to see a book with a "use the hardware first" mentality. Then
for each, it should have an alternatives section that shows how to do it
in software. So have a hardware UART section, then the bit banged software
UART. Then a hardware ADC followed by a software technique. Then hardware
PWM followed by doing it in software.

In each case motivate the hardware with a real world problem, show how to
use the hardware to solve the problem, give the software alternative, then
reinforce that you use the hardware first, and only utilize the software when
you run out of hardware resources (i.e. need 2 UARTS). As the book progresses
it should show how to use techniques such as main event loop polling and
interrupts to manage multiple services at the same time as most real
applications.

A book that starts with the basics and progresses to early intermediate
with a hardware first basis would certainly be the ticket.

BAJ

2005\04\22@105711 by Charles Rogers

flavicon
face

----- Original Message -----
From: "Jan-Erik Soderholm" <.....jan-erik.soderholmKILLspamspam.....telia.com>
To: <EraseMEpiclistspam_OUTspamTakeThisOuTmit.edu>
Sent: Thursday, April 21, 2005 2:22 PM
Subject: RE: [PIC] - Book Reccomendations for beggining PIC Programming


> emailspamspam_OUTmicahcarrick.com wrote:
> > I was wondering what the top few reccomended
> > books are for learning PICs
>


There are many good books available, some are better than
others.  To learn about PIC's there isn't anything better than
the data sheets and accompanying errata and of course the
PICLIST.  Another good source is http://www.sq-1.com.

When learning on your own there are two things you need
to remember, first "Am I a good teacher?" second "Am I
a good student?" seldom are you both ! !

CR

2005\04\22@112312 by William Chops Westfield

face picon face

On Apr 22, 2005, at 6:15 AM, Byron A Jeff wrote:

> In the list above the part should be the 16F88.

Bah.  If you're going to recommend a new chip as the "beginner's
choice",
you shouldn't be changing your recommendation every two years.  The
16F84
was eliminated as much because it has become unusually expensive as
because
of its added features.  The F88 may be somewhat better than a 628A, but
it's
also more expensive, and doesn't give you the dramatic change is the
price/performance ratio that switching from the F84 did...

BillW

2005\04\22@141424 by Byron A Jeff

face picon face
On Fri, Apr 22, 2005 at 08:22:44AM -0700, William Chops Westfield wrote:
>
> On Apr 22, 2005, at 6:15 AM, Byron A Jeff wrote:
>
> >In the list above the part should be the 16F88.
>
> Bah.

And HUMBUG!! ;-)

>  If you're going to recommend a new chip as the "beginner's
> choice",
> you shouldn't be changing your recommendation every two years.  

You have to change your recommendations. Otherwise you stagnate.
Truthfully if the right toolset were out there, I'd really want to bump
it up to an 18F part.

>The
> 16F84
> was eliminated as much because it has become unusually expensive as
> because of its added features.

The lower cost was certainly an added bonus. How man times in life does
one actually get more for less?

>  The F88 may be somewhat better than a 628A, but it's
> also more expensive, and doesn't give you the dramatic change is the
> price/performance ratio that switching from the F84 did...

True. However for the beginner you want to start at the top of range with
all of the facilites there. And from the hobby perspective the cost
differences are minimal. Randy has 16F628A's for $2.24 and 16F88s for
$3.19. Less than a buck difference. And if you need A/D for a one off
project, most anyone will spend the difference. I also believe that
the 16F88 nanowatt mondule brings a lot to the table.

A beginner should start with a part with all the peripheral hardware that
exists for the family. They should learn all of that hardware. Also they
should learn the software equivalents. Then and only then should they
look to downgrade after understanding the tradoffs.

When you work bottom up, you work harder, not smarter.

BAJ

2005\04\22@152927 by olin_piclist

face picon face
Byron A Jeff wrote:
> You have to change your recommendations. Otherwise you stagnate.
> Truthfully if the right toolset were out there, I'd really want to bump
> it up to an 18F part.

Right toolchain!??  If anything, the debug environment for the 18F parts is
nicer, and the assembler/librarian/linker is otherwise the same or better.

Actually I think beginners should start with the dsPIC line.  It's just as
well supported in MPLAB as the 16 and 18 families, and the instruction set
is easier to use.  I think the 30F3013 is a good beginner part.  I don't see
much point to lesser parts except to save cost in a volume design.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

2005\04\22@163353 by Mike Hord

picon face
> >> 1.  The data sheet.
> >> 2.  The data sheet.
> >> 3.  The data sheet.
> >
> > + errata + reference manuals
>
> I agree with the errata, but there is very little in the "midrange" and the
> similar 18F family reference manuals that isn't in the data sheet.  I gave
> up on those years ago.  Every time I went to look for a little more detailed
> information there wasn't any, so I stopped bothering.

That's why the reference manuals are useless for you, Olin, but for a
beginner, they aren't a bad thing at all.

The datasheet assumes you already know how to do what you want to do
with the particular peripheral you want to do it with; IIRC the reference
manuals make a little less assumption and sketch out the functionality of
a lot of those peripherals.

Mike H.

2005\04\22@165345 by Lindy Mayfield

flavicon
face
part 1 942 bytes content-type:text/plain; (decoded base64)

Would you mind elaborating a bit on that, Olin?  I'm interested in learning about the dsPics and I would value an opinion on the differences that are worthwhile noting.

As an aside, I spotted a beautiful book in the book store yesterday here in Helsinki about Digital Signal Processing, but it was so full of mathematics that I couldn't understand enough of it to justify buying it.  (So if I couldn't understand it, how did I know it was such a great book?  By the cover, of course. (-: )

       -----Original Message-----
       From: @spam@piclist-bouncesKILLspamspammit.edu on behalf of Olin Lathrop
       

       Actually I think beginners should start with the dsPIC line.  It's just as
       well supported in MPLAB as the 16 and 18 families, and the instruction set
       is easier to use.  I think the 30F3013 is a good beginner part.  I don't see
       much point to lesser parts except to save cost in a volume design.

       


part 2 4503 bytes content-type:application/ms-tnef; (decode)

part 3 35 bytes content-type:text/plain; charset="us-ascii"
(decoded 7bit)

2005\04\22@200422 by William Chops Westfield

face picon face

On Apr 22, 2005, at 1:52 PM, Lindy Mayfield wrote:

> I spotted a beautiful book in the book store yesterday here in
> Helsinki about
> Digital Signal Processing, but it was so full of mathematics that I
> couldn't
> understand enough of it to justify buying it.

That sort of thing is what usually scares people away from DSP type
processors.
Olin's point (or part of it) is that you don't necessarily need to be
doing
signal processing to use a processor that has labeled itself as a
"DSP."  For
something like the DSPICs, the "downside" of it being a DSP is pretty
small
(some other multi-chip DSPs would have required extra fast memory and
fancy
interfacing.)  It has all of the capabilities of a regular PIC, a more
regular
instruction set, AND some DSP capabilities.

They're expensive compared to something like a F628, though.  I don't
know whether
I trust the regular posters here to understand the attractiveness of
low prices
to the hobbyist (OTOH, I don't trust my own instincts either...)

BillW

2005\04\23@112504 by Lindy Mayfield

flavicon
face
part 1 1095 bytes content-type:text/plain; (decoded base64)

Why did you pick the 3013?  As opposed to, say, the 4012 which seems to have a bit of everything except for CODEC. (-:



       {Original Message removed}
part 2 4859 bytes content-type:application/ms-tnef; (decode)

part 3 35 bytes content-type:text/plain; charset="us-ascii"
(decoded 7bit)

2005\04\24@181809 by John Ferrell

face picon face
Differences of opinion!
I think simpler is better to start with. After blink a Led on the '84, the
student finds out it will work with 16f628.
3 chips are plenty to start with, it isn't a big investment.
The resources of the 18F chips make me think of them as a minicomputer
rather than a micro.

The programming structure in the square 1 books is very poor. But it serves
to teach the basic hardware.

The Peatman book/Lab is more than a normal Senior EE load.

John Ferrell
http://DixieNC.US

{Original Message removed}

2005\04\24@220040 by Byron A Jeff

face picon face
On Sun, Apr 24, 2005 at 06:18:18PM -0400, John Ferrell wrote:
> Differences of opinion!

John,

It's the same difference of opinion that we've all had for the last 2 to 3
years. Of course there's nothing wrong with that difference.

> I think simpler is better to start with. After blink a Led on the '84, the
> student finds out it will work with 16f628.


But managing real useful projects generally requires composition. It adds
another level of complexity.

It simply should be explained from the beginning. Something like:

"Generally there is more than one way to handle a task. PIC chips offer a
variety of peripherals to handle tasks such a analog to digital conversion,
timing, serial interfaces, and the like. While it's possible to perform
these activities in software, the management of multiple tasks becomes very
difficult. The use of periperal hardware simplifies such management because
they can operate autonomously. In short it's set and forget.

So the structure of these lessons will focus on using the hardware in real
world examples. Then software approaches will be examined."

Something like that.

> 3 chips are plenty to start with, it isn't a big investment.

And for a hobbyist even if the part costs a bit more.

> The resources of the 18F chips make me think of them as a minicomputer
> rather than a micro.

18F parts are certainly not anything minicomputer like. If you've ever built
a board like a 68020, where you have to throw in RAM, EPROM, address decoding,
and separate periperals, you'd certainly wouldn't think of the 18F as
anything minicomputer like.

The fact of the matter is that the 18F architecture simplifies stuff because
it lessens issues with banking.

BAJ

2005\04\25@000230 by William Chops Westfield

face picon face

On Apr 24, 2005, at 7:00 PM, Byron A Jeff wrote:

> The fact of the matter is that the 18F architecture simplifies
> stuff because it lessens issues with banking.
>
A point of contention seems to be the degree to which things should be
simplified for the "beginning user."  A rich set of peripherals is nice,
but is more to understand, especially if your goal is along the lines of
getting people used to bit twiddling.  A CPU with fewer banking issues
is
nice too, unless you want to convey the idea that many microcontrollers
have annoying little "quirks" that users will have to learn to work
with.

Imagine a single-chip PDP-11 (with memory, flash, uarts, and pins to
control)
In some sense, that would be a wonderful thing.  Or something
implementing
Knuth's made-up assembler language.  In some other sense, those would be
really nice teaching aids.  In another sense, they'd present such an
incomplete
view of the world that they'd be near useless.

(Hmm.  Corollary:  Any class in "assembly language" should teach at
least two
different architectures.)

(There is now the pic16F54 as a chip even simpler than the F84...)

BillW

2005\04\25@020037 by Wouter van Ooijen

face picon face
> Imagine a single-chip PDP-11 (with memory, flash, uarts, and pins to
> control)

UART? that's a peripheral, why no bit-bang? OTOH, if you think a UART is
disireable, why no A/D (just to name something)?

> (Hmm.  Corollary:  Any class in "assembly language" should teach at
> least two different architectures.)

Make that two architectures in the education, two in one class is a bit
crowded (at least in my class: 7 * 3 hours).

> (There is now the pic16F54 as a chip even simpler than the F84...)

16F630! Dirt cheap, enough pins, internal oscillator, cousin with A/D
available.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2005\04\25@072559 by olin_piclist

face picon face
Byron A Jeff wrote:
> 18F parts are certainly not anything minicomputer like. If you've ever
> built a board like a 68020, where you have to throw in RAM, EPROM,
> address decoding, and separate periperals, you'd certainly wouldn't
> think of the 18F as anything minicomputer like.
>
> The fact of the matter is that the 18F architecture simplifies stuff
> because it lessens issues with banking.

I agree with you general approach, but why stop there?  Now that the 30Fs
are real, this same argument favors them over the 18Fs.  The 30F3013 and
30F4012 in particular are good hobbyist choices.  They are both available in
28 pin DIP packages.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

2005\04\25@075328 by olin_piclist

face picon face
William Chops Westfield wrote:
> A point of contention seems to be the degree to which things should be
> simplified for the "beginning user."  A rich set of peripherals is nice,
> but is more to understand, especially if your goal is along the lines of
> getting people used to bit twiddling.  A CPU with fewer banking issues
> is
> nice too, unless you want to convey the idea that many microcontrollers
> have annoying little "quirks" that users will have to learn to work
> with.

I guess I lost track of what this thread was about.  There are two types of
"beginner" PICs talked about here, and I think the recommendation for each
is quite different.

The first case is a hobbyist that has ideas for some projects that need a
microcontroller.  He may be roughly familiar with microcontrollers and wants
to use the PIC line because of the wide availability, free tools, and best
in class support.  For that type of person I recommend to standardize on the
biggest bestest in a 28 pin DIP package, which is currently the 30F3013 or
30F4012.  These are worth learning in their own right, and will be
relatively easy to get projects done.  The extra $ or two compared to other
parts is irrelevent for a hobbyist who will only buy a few.

The second case is someone whos main point is to learn about
microcontrollers and their applications.  This may be a student or a
hobbyist approaching it from the learning point of view.  He's more
interested in learning and tinkering than getting particular projects done.
If you really want to *learn* about microcontrollers, then I think it's
better to start with something low end and simple.  Blink the LED on a 10F,
then maybe a switching power supply with a 10F, then move up to a 16F with
PWM.  Look how the hardware takes care of that now, so now we add xxxx.
This introduces the main event loop architecture.  Now we add a command
processor, which introduces pseudo threads.  Then we do a PID controller
using software floating point and move up to the 18F family to get more
cycles.  See how the banking and paging is different, and how the wider
instruction word makes it easier, but note the higher cost.  After a few
more projects, move up to the dsPIC to get even more cycles.  Now we've got
true multi-tasking handling doing TCP while xxx and yyy are being processed
concurrently.  Now use the dsPIC in a real DSP application doing some
filtering on an audio signal, then maybe do an FFT to make an audio spectrum
analyser.

The second is more of a college level course or track on embedded systems
the way I would teach it.  While someone going thru that will learn a great
deal, I doubt too many hobbyist would sit still for it all.  That's why I
think the first case applies to most who ask here, and my answer is to start
with a 30F3013 or 30F4012.


*****************************************************************
Embed Inc, embedded system specialists in Littleton Massachusetts
(978) 742-9014, http://www.embedinc.com

2005\04\25@085452 by Byron A Jeff

face picon face
On Sun, Apr 24, 2005 at 09:02:27PM -0700, William Chops Westfield wrote:
>
> On Apr 24, 2005, at 7:00 PM, Byron A Jeff wrote:
>
> >The fact of the matter is that the 18F architecture simplifies
> >stuff because it lessens issues with banking.
> >
> A point of contention seems to be the degree to which things should be
> simplified for the "beginning user."  A rich set of peripherals is nice,
> but is more to understand, especially if your goal is along the lines of
> getting people used to bit twiddling.  A CPU with fewer banking issues
> is
> nice too, unless you want to convey the idea that many microcontrollers
> have annoying little "quirks" that users will have to learn to work
> with.

Bill,

We were all taught bit twiddling because that's all there was. Also
I'm pretty sure no one wants to teach annoying quirks.

{Quote hidden}

It's tough enough to teach one. For my CS students assembly's main points
are twofold:

1) It's the last level of language that has all abstraction stripped. So
you have access to everything at the AL level.

2) That same lack of abstraction complicates solving tasks for programmers.
That's the reason that most development is done in higher level languages
that abstracts much of the hardware.

All of us who program in PIC assembly pretty much choose to do it. With
the myriad high level languages available, and the ever expanding memory
capabilities, the need for programming in assembly is greatly lessened.

The primary reason for knowing PIC assembly (IMHO of course) is that it's
the common language of PIC programmers. Note here on the list when folks
ask about PICBasic, JAL, or even C, that there are a limited number of
responses because each language is regionalized. However virtually everyone
knows PIC assembly and uses it to communicate ideas to each other.

But getting back to the original point simpler is relative and contextual.
Bit twiddling is generally fine when it's the only task (i.e. the blinking
LED). And of course when teaching initial concepts one tends to isolate
individual tasks in order to highlight them.

But multiple task management add another level of complexity that is made
more difficult with bit twiddling alone.

Let me try another analogy (as I like analogies). Imagine you had to perform
a series of housecleaning tasks and you have your apprentice. Naturally
you'd teach the apprentice how to sweep, and dust, and wash windows and the
like in isolation.

Now put said apprentice into a situation where the only way to accomplish
the total task is to do all of the tasks at the same time.

Can you see that's a completely different level of complexity?

Now come back to the start and explain to the apprentice that you have
these mobile robots that will perform these tasks autonomously once you've
properly programmed them. Now admittedly programming them initially is
a bit more complex than simply doing the task yourself. But on the other
hand once the robot is setup, it'll toddle off and dust without your
supervision.

Now which technique seems more difficult in isolation? Probably programming
the robot because in the time it task you to set up the robot to do the
task you could have been finished already.

But now get back to the real world where you have a limited amount of time
to complete all of the tasks and they must be performed at the same time.
The power of the autonomous robot becomes evident, because once you've set
it up and send it on its way, you don't have a bother with it until it
completes the task, at which point it'll come back to you and ask for more.

The power of the set and forget nature of the robot isn't realized until
you have to overlap tasks. But overlapping tasks is what gets done on
real projects.

Finally if that's the case then why not teach programming the robots and
never bother doing things yourself. Well there's always the time where
you need two windows washed at the same time, but you only have
one robot for the task. So then you can set the robot on one of the windows,
but the other you'll still need to do by hand.

In short I agree with simplicity in isolation, but isolation often doesn't
match up with real projects. So juggling tasks is a part of the learning
process.

I guess that the start of a good introductory chapter.

Comments?

BAJ

2005\04\25@123741 by Ale[x] Garbino

picon face
I'll jump in from the sidelines after following this thread: with all the
discussions and what's been written so far, why doesn't the list as a whole
write the darn book?
There is a lot more specialized knowledge; little scarcity of people that
don't mind writing a few pages, specialists in all areas of applications,
industrial and hobbist appplications, etc.
A wikipedia/online book should not be too difficult to write, if there is
someone who can get the ball rolling and give momentum to the project.
Opensource software manages to do it, and wikipedia is going strong too!

Alex

From: Byron A Jeff &lt;KILLspambyronKILLspamspamcc.gatech.edu&gt;
Reply-To: &quot;Microcontroller discussion list - Public.&quot;
&lt;RemoveMEpiclistTakeThisOuTspammit.edu&gt;
To: &quot;Microcontroller discussion list - Public.&quot;
&lt;spamBeGonepiclistspamBeGonespammit.edu&gt;
Subject: Re: [PIC] - Book Reccomendations for beggining PIC Programming
Date: Mon, 25 Apr 2005 08:54:51 -0400

On Sun, Apr 24, 2005 at 09:02:27PM -0700, William Chops Westfield wrote:
&gt;
&gt; On Apr 24, 2005, at 7:00 PM, Byron A Jeff wrote:
&gt;
&gt; &gt;The fact of the matter is that the 18F architecture simplifies
&gt; &gt;stuff because it lessens issues with banking.
&gt; &gt;
&gt; A point of contention seems to be the degree to which things should be
&gt; simplified for the &quot;beginning user.&quot;  A rich set of
peripherals is nice,
&gt; but is more to understand, especially if your goal is along the lines
of
&gt; getting people used to bit twiddling.  A CPU with fewer banking issues
&gt; is
&gt; nice too, unless you want to convey the idea that many microcontrollers
&gt; have annoying little &quot;quirks&quot; that users will have to learn
to work
&gt; with.

Bill,

We were all taught bit twiddling because that's all there was. Also
I'm pretty sure no one wants to teach annoying quirks.

&gt;
&gt; Imagine a single-chip PDP-11 (with memory, flash, uarts, and pins to
&gt; control)
&gt; In some sense, that would be a wonderful thing.  Or something
&gt; implementing
&gt; Knuth's made-up assembler language.  In some other sense, those would
be
&gt; really nice teaching aids.  In another sense, they'd present such an
&gt; incomplete view of the world that they'd be near useless.
&gt;
&gt; (Hmm.  Corollary:  Any class in &quot;assembly language&quot; should
teach at
&gt; least two different architectures.)

It's tough enough to teach one. For my CS students assembly's main points
are twofold:

1) It's the last level of language that has all abstraction stripped. So
you have access to everything at the AL level.

2) That same lack of abstraction complicates solving tasks for programmers.
That's the reason that most development is done in higher level languages
that abstracts much of the hardware.

All of us who program in PIC assembly pretty much choose to do it. With
the myriad high level languages available, and the ever expanding memory
capabilities, the need for programming in assembly is greatly lessened.

The primary reason for knowing PIC assembly (IMHO of course) is that it's
the common language of PIC programmers. Note here on the list when folks
ask about PICBasic, JAL, or even C, that there are a limited number of
responses because each language is regionalized. However virtually everyone
knows PIC assembly and uses it to communicate ideas to each other.

But getting back to the original point simpler is relative and contextual.
Bit twiddling is generally fine when it's the only task (i.e. the blinking
LED). And of course when teaching initial concepts one tends to isolate
individual tasks in order to highlight them.

But multiple task management add another level of complexity that is made
more difficult with bit twiddling alone.

Let me try another analogy (as I like analogies). Imagine you had to perform
a series of housecleaning tasks and you have your apprentice. Naturally
you'd teach the apprentice how to sweep, and dust, and wash windows and the
like in isolation.

Now put said apprentice into a situation where the only way to accomplish
the total task is to do all of the tasks at the same time.

Can you see that's a completely different level of complexity?

Now come back to the start and explain to the apprentice that you have
these mobile robots that will perform these tasks autonomously once you've
properly programmed them. Now admittedly programming them initially is
a bit more complex than simply doing the task yourself. But on the other
hand once the robot is setup, it'll toddle off and dust without your
supervision.

Now which technique seems more difficult in isolation? Probably programming
the robot because in the time it task you to set up the robot to do the
task you could have been finished already.

But now get back to the real world where you have a limited amount of time
to complete all of the tasks and they must be performed at the same time.
The power of the autonomous robot becomes evident, because once you've set
it up and send it on its way, you don't have a bother with it until it
completes the task, at which point it'll come back to you and ask for more.

The power of the set and forget nature of the robot isn't realized until
you have to overlap tasks. But overlapping tasks is what gets done on
real projects.

Finally if that's the case then why not teach programming the robots and
never bother doing things yourself. Well there's always the time where
you need two windows washed at the same time, but you only have
one robot for the task. So then you can set the robot on one of the windows,
but the other you'll still need to do by hand.

In short I agree with simplicity in isolation, but isolation often doesn't
match up with real projects. So juggling tasks is a part of the learning
process.

I guess that the start of a good introductory chapter.

Comments?

BAJ

2005\04\25@152223 by Peter

picon face


On Mon, 25 Apr 2005, Byron A Jeff wrote:

> We were all taught bit twiddling because that's all there was. Also
> I'm pretty sure no one wants to teach annoying quirks.

Of course not. That's why they hide the silicon erratas so well. You
have to *want* to find the bugs ;-(

Peter

2005\04\25@193100 by John Ferrell

face picon face
I think it is already online & dispersed over the world....
Check http://www.finitesite.com/d3jsys/
and I am sure that this is an incomplete list.

John Ferrell
http://DixieNC.US

{Original Message removed}

2005\04\25@205053 by Tony Smith

picon face
> I'll jump in from the sidelines after following this thread: with all the
> discussions and what's been written so far, why doesn't the list
> as a whole
> write the darn book?
> There is a lot more specialized knowledge; little scarcity of people that
> don't mind writing a few pages, specialists in all areas of applications,
> industrial and hobbist appplications, etc.
> A wikipedia/online book should not be too difficult to write, if there is
> someone who can get the ball rolling and give momentum to the project.
> Opensource software manages to do it, and wikipedia is going strong too!


That's what http://www.piclist.com is for, a bunch of articles that you can rummage
thru.  If I recall, there's a 'newbies start here' link, or was that
http://www.dontronics.com?

Anyway, you can't have 'one book to learn them all', as the definition of
newbie varies. In my case, I've got a software background, and also like to
bash bits of metal into various shapes. No great problems with soldering,
ASM, bit twiddling, modular coding or digital logic. Analog slows me down
though, the recent post about the bloke having problems with chaining
latches (595's?) would affect me too.  Whaddya mean, I can't join 20 of them
together?

Olin broke newbies down into 2 main camps, student & hobbyist. Hobbyist
covers a huge range of people. A hobbyist who just wants to get a one-off
project working might be happier with http://www.pixaxe.co.uk, PICs with a BASIC
interpreter (like the Stamp, only cheaper)

You need to define your 'market'. Easier said than done. That's also why
book reviews (it's great vs it sucks) need to be read cautiously.
Ultimately, only you can determine whether a book is any good, as the
reviewer will have different background, knowledge and mindset to you.

Tony


2005\04\25@231559 by William Chops Westfield

face picon face
On Apr 25, 2005, at 9:37 AM, Ale[x] Garbino wrote:

> Why doesn't the list as a whole write the darn book?

Huh?  we can't even agree on which chip should be featured...

More seriously, any of the popular PIC books (Predko, Peatman, etc)
should be a
pretty good for a large subset of beginners, especially combined with
the
datasheets and an online forum (like PICLIST) or two.  There are things
I'd
do differently than those authors, but I thing it would be very hard
for ANYONE
to publish a book that was better in all respects...

BillW

2005\04\26@074231 by Russell McMahon

face
flavicon
face
> I'll jump in from the sidelines after following this thread: with
> all the discussions and what's been written so far, why doesn't the
> list as a whole write the darn book?

Sounds good.
A good start would be a table of contents. This gives a guide as to
what's to be written about, provides structure and allows people to
suggest extra sections and subsections. If desired several people
could duplicate sections and the results could be combined or the best
chosen. Market forces :-)

I'm happy to write an appendix on the meaning, application and
usefulness of spec sheet figures. Amazing how many people don't
appreciate this gentle art. With, of course, special mention of why
you shouldn't let body/protection diodes conduct during normal
operation :-)


       RM

2005\04\26@180001 by Byron A Jeff

face picon face
On Mon, Apr 25, 2005 at 07:35:03PM -0400, John Ferrell wrote:
> I think it is already online & dispersed over the world....
> Check http://www.finitesite.com/d3jsys/
> and I am sure that this is an incomplete list.

Hey! How did I get dragged into this?

Actually a WikiBook could be an interesting idea though.

BAJ

2005\04\27@021233 by Wouter van Ooijen

face picon face
> I'll jump in from the sidelines after following this thread: with
> all the discussions and what's been written so far, why doesn't the
> list as a whole write the darn book?

ROFL! IIRC a year ago or so 'the list' got the idea to define a PIC
starter PCB. What followed was a long discussion of what should be on
the PCB. The discussion of course did not converge but fizzled and died
when everyone realised that they would never agree.

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2005\04\27@070235 by Byron A Jeff

face picon face
On Wed, Apr 27, 2005 at 08:12:32AM +0200, Wouter van Ooijen wrote:
> > I'll jump in from the sidelines after following this thread: with
> > all the discussions and what's been written so far, why doesn't the
> > list as a whole write the darn book?
>
> ROFL! IIRC a year ago or so 'the list' got the idea to define a PIC
> starter PCB. What followed was a long discussion of what should be on
> the PCB. The discussion of course did not converge but fizzled and died
> when everyone realised that they would never agree.

Yup. I did spend a week or so prototyping what I thought it should be.
Here's the page showing some snapshots.

BTW Wouter it was nearly 3 years ago. Time flies. Time flies.

http://www.finitesite.com/d3jsys/picdesigner.html

BAJ

2005\04\27@100445 by Wouter van Ooijen

face picon face
> BTW Wouter it was nearly 3 years ago. Time flies. Time flies.

*that* long ago? I must be reaching dinasaur status real soon :(

Wouter van Ooijen

-- -------------------------------------------
Van Ooijen Technische Informatica: http://www.voti.nl
consultancy, development, PICmicro products
docent Hogeschool van Utrecht: http://www.voti.nl/hvu


2005\04\27@144726 by John Ferrell

face picon face
I think you have identified the problem.
All of the books available are good.
Some are especially good.
The one you like best will be the one which conforms to your way of
thinking.
Free books are always preferred to expensive ones.

John Ferrell
http://DixieNC.US

{Original Message removed}

2005\04\27@222613 by Vitaliy

flavicon
face
----- Original Message -----
From: "Russell McMahon" <TakeThisOuTapptechEraseMEspamspam_OUTparadise.net.nz
[snip]
> I'm happy to write an appendix on the meaning, application and usefulness
> of spec sheet figures. Amazing how many people don't appreciate this
> gentle art. With, of course, special mention of why you shouldn't let
> body/protection diodes conduct during normal operation :-)

Russell,

I would be very interested in learning the gentle art.  Is it possible to
have a short preview of the contents of the proposed appendix?

Best regards,

Vitaliy

2005\04\28@023907 by William Chops Westfield

face picon face
On Apr 27, 2005, at 11:51 AM, John Ferrell wrote:

> Free books are always preferred to expensive ones.
>
Heh.  In college, I realized that I was spending SO much on rather
useless
textbooks for subjects I didn't care about very much that I rarely
complain
any more about the price of ANY book that I buy because I think I'll
either
enjoy or actually fine USEFUL.

OTOH, there are categories where cheap books can be very useful.  I
bought
a "programming W95" book relatively recently (cheap!) to get an idea of
how
one programs in a windows environment - the details may have expanded in
successive versions, but I'm pretty sure the principles have remained
pretty
much the same.  (and interestingly, reading the C-based book, I am
seeing
exactly WHY C++ and similar languages have caught on so much in that
environment,
whereas I've rarely understood what the excitement was about...)

DO frequent your local library book sales;  Plenty of bargains there; I
usually
come away with 30+ pounds of books, at least one of which I regard as a
hard-to-find
collectors item.  And you support a good cause, too.

You do tend to run out of shelf space, though...

BillW

2005\04\28@123210 by Vitaliy

flavicon
face
----- Original Message -----
From: "William Chops Westfield" <RemoveMEwestfwspamTakeThisOuTmac.com>
> On Apr 27, 2005, at 11:51 AM, John Ferrell wrote:
>
[snip]  I
{Quote hidden}

[snip]

Is it the one by Charles Petzold?

Vitaliy

More... (looser matching)
- Last day of these posts
- In 2005 , 2006 only
- Today
- New search...