1.学习任务
- 如何建立一个工程
- 如何软件仿真
- 如何建立多模块任务
- 如何包含在不同文件夹内的头文件
2.如何建立一个工程
- 点击Project
- 选择New uVision Project(也就是第一个)
3.选则你要保存的位置,并输你的名字(文件名)
- 保存之后选择我们的CPU型号(Atmel下面的AT89C51),点击保存
- 点击确认,这里询问的是否添加启动文件
- C语言是需要启动文件的
- 汇编语言是不需要启动文件的
5.这样就完成创建了一个工程,现在我们的项目里面是只有一个启动文件的
6.接下来,我们来创建一个编辑软件的编辑文档,点击图片位置即可
- 点击保存文件,
- 选择文件目录并且,文件名称后缀必须为.c
(因为我们是使用C语言来编写的)(汇编语言后缀是asm)
- 接下来 我们把刚创建的文件添加到工程内
- 右键Source Group 1
- 下来菜单内有一个 Add files to Source Group 1
选择文件并保存 - 这样就完成了
- 右键Source Group 1
3. keil的编译
1.我们先输入之前学习的程序主体
.
程序主体
头文件
主函数
#include<reg51.h>
void main(){
while(1){
}
}
keil编译C语言文件(3种方式)
1.第一个(Transtate)
编译当前文件
2.第二个(build)
只编译修改的文件,当编译的时候会生成hex文件
3.第三个(rebuild)
编译工程里面所有的C文件,一般来说我们只在开始时编译一次rebuild.然后使用build
生成hex文件
-
点击Target Optiojns…
-
勾选Create HexFile
-
点击编译Build,生成HEX文件
3.如何软件仿真
因为我们需要知道,每个代码块的延时.这样就用到了软件仿真
1.首先在主函数之前声明你的延时函数(2个for循环)
#include<reg51.h>
void Delay();
void main()
{
while(1)
{
}
}
void Delay()
{
unsigned char i,j;
for(i=110;i>0;i--)
for(j=110;j>0;j--);
}
- 点击编译(0错误,0警告)
- 把延迟程序添加到主程序当中
#include<reg51.h>
void Delay();
void main()
{
while(1)
{
Delay();
}
}
void Delay()
{
unsigned char i,j;
for(i=110;i>0;i--)
for(j=110;j>0;j--);
}
-
点击编译(0错误,0警告)
-
进行软件仿真,点开圈蓝的按钮,打开Target ,
-
再把赫兹从24变为12(我们的单片机是12HZ的)
-
点击OK,进行编译.然后点击圈蓝按钮,进入到软件仿真
顶部菜单栏DEBUG下面第一个也可以进入
-
点击运行,这个位置是软件运行的时间
9.这里是编译器帮我们把C语言编译为汇编语言
4.仿真模式按钮介绍
- reset:重新仿真
- run:全速仿真(可以打断点)
- step:进入子函数的单步仿真
- step over:不进入子函数的单步仿真
- step out:在子函数单步仿真时直接跳出
5.怎么建立多编辑文档的工程
- 另外建立一个编辑文档,用来放去Delay 函数,并加入工程当中
- 生成一个头文件(新文档的头文件)
- 在Delay.h内加入以下内容,用来定义 Delay.h
#ifndef _DELAY_H_
#define _DELAY_H_
#include<reg51.h>
#endif
- 把Delay函数转移到相关文件内,并进行编译
6.如何包含在不同文件夹内的头文件
我们在引入头文件时引入 reg51.h 是使用的的<>
而我们自己编写的头文件时采用的 双引号 " "
<> 引入的头文件时用keil安装的地址里面搜索的
" " 是从工程目录下面搜索的
-
我们把头文件挪到另外的文件夹
这个文件就会变成白色证明找不到这个文件,直接del掉(删除)
-
我们重新引入文件夹内的Delay.c文件
-
这个时候我们编译主文件,会告诉我们不能打开文件
-
我们需要这样设置,依次打开
-
依次点击选择我们头文件新的文件夹
-
再次点击就没问题了
结尾
- 参考资料:普中科技-单片机开发视频教程
- 视频连接:哔哩哔哩