by sich » Mon Feb 22, 2010 2:06 pm
They are two different languages for programming. Syntax, program structure and compiler are different. Generally C language is easier than Assembly language for newbies.
When you're using C language, you need to use C compiler to compile the source code to .hex file which will be loaded into the microcontroller. There are many compiler available in the market, namely Hi-Tech, Microchip C18, CCS, MikroC and so on. You have to choose the right one that supports the microcontroller you want to use. Any C compiler will provide library to be used in your program. These libraries help you to get started faster and boosted the software development process. In some cases, you don't even have to understand the actual process thoroughly in order to use a function.
Meanwhile, MPLAB IDE provides assembler to assemble your source code in Assembly language. So you don't have to include another compiler to create the .hex file. By using Assembly, you'll have to read the microcontroller's datasheet, understand the background process and alter each single bit/register in your program. The program execution is faster compared to C language but the time to develop the software with the same function is much longer. Eventually you will end up with a long source code for the microcontroller to do a simple task. Assembly is recommended for the one who wish to learn the actual flow of the program.
That's what come into my mind at the moment.