创建多文件工程

  创建一个项目文件夹,然后在该文件夹内新建AppObjPublicUser四个文件夹,如下所示:

1
2
3
4
5
📂MyProject
\📂App
\📂Obj
\📂Public
\📂User
  • 📂App:用于存放外设驱动文件,如LED、数码管、定时器等
  • 📂Obj:用于存放编译产生的c/汇编/链接的列表清单、调试信息、hex文件、预览信息、封装库等文件
  • 📂Public:用于存放51单片机公共的文件,如延时、51头文件、变量类型重定义等
  • 📂User:用于存放用户主函数文件,如main.c

新建工程

  1. 新建项目,点击Project菜单,选择New uVision Project菜单项
  2. 保存项目路径
  3. 选择芯片类型位“AT89C51”
  4. 取消将标准启动文件复制到当前项目中

向工程添加文件

  1. 按照需要给工程分组并添加对应文件,这里我们在工程中分3组,User、App、Public,至于前面创建的Obj文件夹是在工程中无需体现,因为只是编译器生成的一些中间文件和.hex执行文件。通常在工程组的命名与创建的文件夹名保持一致,方便查找到源文件位置。如下所示:
  2. 分组后,在工程中就会看到如下分组
  3. 给每个组添加对应的源文件,在App文件夹中可以看到根据不同外设分别创建文件夹保存各自驱动文件,这样非常方便程序移植和维护
  4. 将源文件添加工程对应的分组中
  5. 此时可以看到,在工程栏下看到对应的源文件
  6. 如果有遗漏的文件未添加进来,可按上述方法重新添加
  7. 接下来如果直接编译工程肯定会出现一大堆错误,因为在Keil中未指定那些文件夹中的头文件路径

配置魔术棒选项卡

  1. Output 选项卡中把输出文件夹定位到我们实验目录下的 Obj 文件夹,如果想在编译的过程中生成 hex 文件,那么 CreateHEXFile 选项勾上。配置如下:
  2. Listing选项卡中吧输出文件夹也定位到实验目录下的Obj文件夹,其他设置默认,配置如下:
  3. C51选项卡配置,此处目的是将我们前面添加到工程组中的文件路径包括进来,否则程序中调用其他文件夹的头文件则会报错找不到头文件路径,具体步骤如下:
    1. 添加头文件路径
    2. 将所有用到的头文件路径添加后,如下所示