现在生产的许多单片机对8051的内核进行了扩展,比如,内部看门狗,ADC转换、EEPROM、PWM等功能。在编程控制程序时,如需要利用这些扩展模块,一般程序体积会变大,文本的长度较长。在调试程序时就显得不太方便了,较好的方法是根据程序段的功能进行模块化编程。 当然在利用一般的单片机编程时,将实现同一目的的程序段进行封装,进行模块化编程,对于程序的维护和调试也是很有帮助的。 1、在运用C语言进行编程时,要养成良好的编程书写习惯。 在程序的开始一般的格式: /********************** File name: 文件名称 Author: 作者 Version: 版本号 Description: 功能描述 Data: 日期 *************************/ 2、{} 按Tab键,这样程序的层次比较清晰。 3、模块化编程 将完成某一特定功能的程序段进行封装。比如delay(WOED n),eeprom();等。 具体步骤如下: 1、创建头文件 在KEIL软件中两次点击“新建”,创建两个新的文档。保存成.C文件(源文件)和一个.H文件(头文件)。.C和.H文件要同名,名称要有意义,最好可以体现该文件的功能。如建立一个延时程序,delay.c;delay.h。 2、防重复包含处理 在.H文件中加入如下代码: #ifndef xxx 如 #ifndef __DELAY_H__ #define xxx 如 #define __DELAY_H__ …… #endif 3、 代码封装 将需要模块化的代码封装成函数或宏定义。 函数要在头文件中声明一下。 函数体放在.C文件中。 需要被外部调用的宏定义放在.H头文件中。 尽量少用或不用全局变量,必须要用全局的申明放在.C文件中,当需要调用外部全局变量,需要在.H文件中用extern 重新申明。 4、 使用源文件 在KEIL软件的工程中,将需要调用的.C文件添加到工程中。若是.C源文件中调用了那个.H文件中的宏定义或者函数,必须在该.C源文件中增加代码将.H文件包含进去。 5、 所包含的头文件中的函数,宏定义、全局变量可以在.C文件中自由调用。
|
|