Introduction in flash PIC micro area... last update 12.11.2002


Flash PIC micros are my last toys since I discovered a nice and easy and free JAL compiler. Just Another Language is a kind of Pascal ( I don't know exactly how pascal looks, I never made programs in this language...) The father of JAL it's a nice guy: Wouter wan Ooijen. After about one year of playing with pic's and JAL, I still have eulogy for this compiler and his creator. JAL have some inherent problems like any other compilers, but learning assembler may correct those. For the beginners and advanced too, a JAL mailing list is also available for questions. Some of Jallien's work is also available at
piclist site. Here is also the hugest mailing list dealing with microcontrollers [PIC, SX, AVR] and engineering in general. But is not the only one. You may ask also your general PIC related questions at piclist@yahoogroups.com, or your specific questions about telephony ( dtmf, sms, telephone exchange, etc ) at rat_ring@yahoogroups.com. Do not ask if you don't know how to ask, you may learn this from http://www.tuxedo.org/~esr/faqs/smart-questions.html
To start playing with this flash microcontroller family you need first of all to download your favorite PIC related documentation from the Microchip site or better, ask for a free CD-rom. If you don't live in the 3'th world countries you'll get one... Then you need to download the latest version of JAL and start reading documentation and all libraries from the package.
After you've understand yourself what do you want to do, buy desired microcontroller and start building the hardware. Playing first with PIC16F84 or PIC16F628 or PIC12F675 will be a good ideea for those who never heard before, about the microcontrollers.
You need a serial or parallel PIC programmer, compounded by a serial hardware or a parallel hardware which will be connected to your PC using serial or parallel interface ( a very good description for those interfaces are at http://www.beyondlogic.org ) , and a software who must fit to the hardware, both can be found as free designs on the net. For programming those microcontrollers, I have built a David Tait style parallel programmer and download the software from http://www.melabs.com or http://www.picallw.com or http://www.ic-prog.com or http://www.lpilsley.co.uk. and just for fun I've built also the no-parts ( JDM) serial programmer which is working nice with http://www.ic-prog.com software. Both programmers are easy to built and easy to use. After the programmer is finished and tested, you must design your on application using first a sheet of paper and a pencil for your drawing ( better a CAD software package like Eagle, Orcad, Tango or Protel ) then a protoboard with a wire-wrapping or soldered connection technology. If you have problems building your PIC programmers I can help you with some very cheap programmer kits ( home-made, components soldered or not ) for both of those programmers ( serial or parallel ). Use any time you can the In Circuit Serial Programming  socket as you'll see in my tutorial designs. But take care, the JDM programmer can't support ICSP only if your microcontroller is totaly floated on your board. Testing the first example from the JAL distribution ( the flashing led ) is the best choice for a beginer ( and not only one...) After your first project is working, subscribe to the Jallist and tell to the people what have you done, you'll be surprized to heard about solution you've never thought ! Of course you may listen also some foolish things which will make you laughing and some criticize of your work which will make you crying...
For medium skilled ,12 to 70 years old electronic players the best choice is PIC16F87x microcontroller family. All the software you already write for 16F84 will work on it ! More room for programming, much more hardware resources like : 10bit AD ( 8 analog-digital inputs module), hardware USART ( Universal Sinchrounous Asynchronous Receive Transmit module), two CCP ( compare, pwm modules), three timers, and the best: low voltage programming feature which alow you to use a simple bootloader:

http://www.bubblesoftonline.com
http://www.htsoft.com/files/samples/bootldr.zip
http://www.execpc.com/~rfarmer/
http://www.voti.nl/wouter/pic/wloader/index.html and linux version http://www.ise.pw.edu.pl/~wzab/linwload/linwload.html
http://www.workingtex.com/htpic/PIC_bootloader.htm
http://www.seanet.com/~karllunt/picload.htm

to program much easy your device or an ICD ( In Circuit Debugger) for easy debugging ( ? there is no *easy* debugging... )

http://www.beyondlogic.org/pic/icd.htm

Personaly I'm using wloader, but I don't recommend it only for 20MHz PIC systems.

I found PIC16F876/873 much easy to use for a small series or prototypes than PIC16F877/874, both comparison for PDIP package. If  8k of user memory are not enough for you, then you may jump to 16kbytes family, PIC18Fxxx, but warning, the extra instruction set ( from 36 instructions as a standard set for PIC16F series to 72 instructions for the extended set ) is not supported yet by JAL.

Playing with microcontrollers allowing me to have some special webfriends: Jean Bernard, Javier Martinez or Ian Hynes  and having real fun with requests like:

Dear sir, please send me a schematic and a pcb for a Z80 telephone exchange, I have this project at school and only 15 day's left to deadline...

tropa tropa cos fi to my pic page