KEIL 同一工程中的多文件处理
#ifndef _DELAY1S_H_
#define _DELAY1S_H_
void delay1s();//延时函数
#endif
再次,我们建立一个led_on.h,起代码内容如下:
#ifndef _LED_ON_H_
#define _LED_ON_H_
void led_on(void);//灯闪烁
#endif
作用同delay1s.h,不理解的话可以再看一下上面的解释。
最后,将我们上面说的三个函数补充完整。
在led_on()函数中,我们用到了51单片机的一些寄存器的定义,所以我们要包含reg52.h,而且我们用到了delay1s()函数,所以我们要包含delay1s.h,故led_on.c文件代码如下:
#include
#include “delay1s.h” //注意这里没有分号
void led_on(void)
{
P0=0x00;
delay1s();
P0=0xff;
delay1s();
}
Main函数的代码形式如下:
#include
#include “delay1s.h”
#include “led_on.h”
void main()
{
led_on();
delay1s();
led_on();
}
在这个函数中,为了再次说明一下#ifndef……#define……#endif这个结构的定义,大家可以把所有的.h文件中的这个结构去掉,然后编译一下看一下效果。
到这里相信大家对于这种模块化的写法就有大概的了解了,如果我们想添加新功能的时候,比如我们要添加一个流水灯的功能,那么,我们只需要增加一个led_circle.c和led_circle.h,然后按照上述步骤添加进工程即可,程序的其他部分不需要任何改动。显然这是很方便的。其实函数的声明可以使用extern关键字,C语言中默认都是这个类型的,所以可以不用写。
KEIL工程多文件处 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)