Programming a microcontroller?

Hi everyone

I have got a MICROCHIP - PIC16F616 to play with, I am going to write a little program and load on it.

However, I have a few questions before I do this.
1. How do I know whether language I should write? like C or Assembly? does it tell you in the datasheet (link above), because I don't seem to find it.

2. What kind of program do I need for loading the program into the chip? is it also an information I can find in the datasheet? or it is really some common sense between programmer.

My supervisor doesn't offer much help...

Extra question
Here is the link of open programming, I am just curcious that if I build this programmer (I have one for my chip, but just wanna learn something), does it mean that I can use this to connect my microcontroller and my computer, so to load the program into the microcontroller?


Many thanks

Bot13985 years ago
You can write the code in C or assembly as you wish.The program you need to load depends upon you on what you want the microcontroller to do.

The extra question - Yes,the programmer will work as it says you can program PIC micros using.Yes,it does mean that you can use it to connect the micrcontroller to your computer

luckyvictor (author) 6 years ago
does anyone know the answer of my extra question please?
Microchip have the software free here to assemble C and ASM code and export a hex file which you can burn onto the chip using any software that came with the programmer, or straight from the program if it recognises the programmer and the chip.

Personally, I think ASM is the best language for programming the PIC, and is the simplest, having only 35 instructions, and very little syntax. Also, it gives a more accurate representation of what is actually happening. Whatever language you choose, there is a huge amount of tutorials and example code for both C and asm.
You can program it in anything you have a compiler for, or you can program it in assembler.

If you have the programmer, it usually comes with the software to send the file to the controller.