hi everyone!! i m an amature, beginning to work with PICs. i want to know about an apropriate programmer and a proper compiler which is capable of converting a software written in C language. are there relevant websites??? and is the compiler freely availaible???? where can i get the circuit of the programmer??? can anyone help me regarding this??
If you want to program just about any 8 bit PIC in C you will get all all you need, including hardware and compiler, from:
The PIC is not an ideal platform for C but this compiler works fine, and will let you do just about anything you want fairly easily, without needing to learn assembler, coding entire PIC programs in assembler ...well life is just too short IMO.
Some of them are freeware, but may not support the device you have chosen to use. Also, I think I tried one of the Hi_C compilers, and it was a DOS-like console application, not a friendly IDE.
I purchased a full featured Microchip C18 compiler for about $200, when I planned a really major project using a high end PIC. But up until now I have written everything in assembly. It is important to know what goes on at that level in order to fully utilize higher level language tools. You might also look at Microchip's Application Maestro, which essentially writes some of the code for you in response to a series of questions, like a "Wizard". There are also many application notes and software examples and libraries that are free for the downloading.
You should start with something like their PicKit which has a built-in USB programmer for a PIC16F676, and there is an extender board to allow other PICs to be programmed. It costs about $35. I also have an ICD2 debugger tool which is absolutely essential for serious development, and costs around $150.
It is important to know what your C program does (if it is already written), and what platform it is designed for, to determine the best PIC controller for the job, and what sort of I/O is required. It is possible for a PIC to read a keyboard, generate a GUI on a CRT display, interface to a hard disk drive, etc., but you will need a *lot* of external I/O and a low level operating system on the PIC to implement the associated C functions.