Do you have a question? Post it now! No Registration Necessary
- Posted on
- Warren Thai
August 11, 2006, 8:51 am
rate this thread
I want to learn about pic programming but don't know where to start. I am
thinking of getting a pic programming DIY kit (one with USB). If anyone can
give any advice tips or suggestions on how to get started, any good
websites, recommended books, or any oother useful information to help me get
started, it would be very helpful.
I guess it depends on where you are currently at with regard to your
programming skills and your electronics skills.
If you are at the beginning for both, then I would recommend the picaxe.com
Then have a look at sparkfun.com if you want something deeper and go from
has a good overview of PIC programming including examples in
I got frustrated with assembler and switched to Pic Basic Pro, which
suits my needs. It's not cheap though.
I built a programmer from a Silicon Chip kit (serial) but there are
numerous USB programmers available that'll do the same job.
I never really spent much time 'learning' pic programming as I did all
my fundamental learning while programming my C64 as a teenager (in
BASIC and assembler), but if you haven't programmed before I can
understand how you'll have a lot of work to do. In many ways using the
old 8-bit micro was much simpler, because you could type
10 print "Hello world"
20 goto 10
And be an instant programming guru
PICAXE chips have a BASIC language programmed into them already, and
there is support software and web sites, but the chips are more
expensive than blank PICs. I haven't tried them so I can't offer an
Get a breadboard to test out your programs and a pile of other
components if you don't already have them - oh and a logic probe, and
a DMM and a lab power supply and a CRO and a function generator , (no,
forget the CRO and function generator).
Comment, comment, comment
All the programming books say this. Comment like crazy and when you
come back to the program in a week's time you'll have half a chance of
figuring out what your coede is meant to do.
Depending on your needs, the PIC 16F628 is a good workhorse, or
there's the PIC 16F648 with twice the memory. If you're into robotics
and writing an executive control program you may need the extra memory
"I like to be organised. A place for everything. And everything all over the
I would say don't bother with assembler or BASIC, instead download the
excellent C compiler from:
From what I can remember, a demo program to emulate a UART (serial port) in
software on a PIC16F84A, and to print "Hello World" to the emulated serial
port used up about 180 words of program memory which is not bad I reckon.
You can actually fit a surprisingly large amount of code into one of those
chips in spite of the very small memory. That compiler can compile the C
code into more compact assembler code than I can do by hand.
I'm not sure how well it works with windows XP, etc. but I have an old DOS
computer that I use for PIC programming partly because since it's such an
old machine, I wouldn't mind too much if I accidentally damaged the printer
port with my home-made parallel port programmer, not that I have so far,
but I wouldn't want to risk it with my laptop. You can find plenty of
designs for those parallel port programmers on the web.
If you know C its best to jump right in. For very cheap you can probably get
an atmel dev kit. They are extremely powerful and can be fully C programmed
now days. If you dont know how to code picaxe is awesome. You can wire it
striaght to the PC and use its own programming language. Just make sure to
get the biggest chip you can because it wont take long until your programs
are much bigger than the little chips you handle.
I had some picaxe 8 pin chips hoping to do some traffic light type signaling
and some 7 seg driving via a shift register and this just isnt sufficient
code space to do it.