1、单片机学习之PIC单片机C语言编程教程PIC单片机C语言编程简介用 C 语言来开发单片机系统软件最大的好处是编写代码效率高、软件调试直观、维护升级方便、代码的重复利用率高、便于跨平台的代码移植等等,因此C语言编程在单片机系统设计中已得到越来越广泛的运用。针对PIC单片机的软件开发,同样可以用C语言实现。但在单片机上用C语言写程序和在PC机上写程序绝对不能简单等同。现在的PC机资源十分丰富,运算能力强大,因此程序员在写PC机的应用程序时几乎不用关心编译后的可执行代码在运行过程中需要占用多少系统资源,也基本不用担心运行效率有多高。写单片机的 C程序最关键的一点是单片机内的资源非常有
5、持函数的递归调用。其主要原因是因为PIC单片机特殊的堆栈结构。在前面介绍PIC单片机架构时已经详细说明了PIC单片机中的堆栈是硬件实现的,其深度已随芯片而固定,无法实现需要大量堆栈操作的递归算法;另外在PIC单片机中实现软件堆栈的效率也不是很高,为此,PICC编译器采用一种叫做“静态覆盖”的技术以实现对 C 语言函数中的局部变量分配固定的地址空间。经这样处理后产生出的机器代码效率很高,按笔者实际使用的体会,当代码量超过4K字后,C语言编译出的代码长度和全部用汇编代码实现时的差别已经不是很大(<10%),当然前提是在整个 C代码编写过程中须时时处处注意所编写语句的效率,而如果