谢谢您的回答,那如果是16位的单片机呢;还有一般什么样的应用场合会常用C语言编程的呢
追答16位的PIC有PIC24和dsPIC30/33系列,ROM和RAM等资源相对8位多些。我一般是用C写16位的PIC单片机。
具体什么场合用我说不上,这都是开发者根据自己习惯和项目需要来做的。一般用C的都是那些安全性稳定性要求不是太严的场合用。我有个朋友是做电机执行器的,他们就完全用汇编来写。几万行的代码都是用汇编堆出来的。8位PIC没有乘除法的汇编指令,他自己用循环加减或循环移位等的方法来做各种四则运算。他51用的都是C但从没用过PIC的C编译器。
另外有些PIC芯片的某些功能你不得不用汇编来写,或者在C里嵌入汇编。比如一些用到内部振荡器的pic单片机,使用内部振荡器必须加载内部校准字,而加内部校准字的指令在C里面是没有的,不管你乐不乐意,用了这东西就必须用到汇编指令。