前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C51 单片机开发用 Keil 创建工程

C51 单片机开发用 Keil 创建工程

作者头像
码农UP2U
发布2024-03-06 15:27:40
1190
发布2024-03-06 15:27:40
举报
文章被收录于专栏:嵌入式码农UP2U嵌入式

0x01:创建项目

首先 “以管理员身份运行” Keil 的开发环境,具体需不需要这样运行,我也不知道,反正我是每次都这么运行,为了给自己省一些不必要的麻烦吧!

打开以后,就开始创建工程,按照步骤操作就好。

在菜单栏选择 "Project" -> "New Vision Project",在打开的 "Create New Project" 窗口中选择要保存代码的文件夹。注意:文件夹需要是一个空的文件夹,因为一个工程中有多个文件,这个文件夹最好是专门为一个工程单独创建的。 选择好文件夹以后,在 "文件名" 的位置填入工程的名称,这里根据实际的项目填写即可。填好后点击 “确定” 按钮,这样会在当前的文件夹下生成一个 ".uvproj" 的文件,这个文件是项目管理文件,以后双击它就可以通过 Keil 打开这个工程。当然了,我们目前可以不用关心这个文件。 在填好填入工程名称并确定以后,会选择目标设备(这里显示的是 Select Device For Target 窗口),这里选择 Atmel 下的 AT89C52,选择 AT89C51 也可以,如下图。

选择以后点击 “确定” 按钮,就是上面图中的那个 “OK” 按钮。点击后会提示是否将启动代码加入到工程中,如下图:

这里点击 “是” 按钮。此时会在工程目录中添加一个 STARTUP.A51 的文件,这个是启动代码,用来在单片机启动时完成的一些初始化的工作,有了它应该就省去自己写很多代码了!到此,Keil 的工程目录结构如下:

到此,用 Keil 就创建了一个空的工程,接下来在该工程中添加一个 C 程序代码。 0x02:添加 C 代码

上图中,在 Source Group 1 上点击右键,选择 "Add New Item to Group 'Source Group 1' ...",如下图:

会弹出一个添加源代码到工程的对话框,这里选择 .c 文件,并对源代码命名为 main,如下图:

填写后,点击 "确定" 按钮,让 main.c 加入到工程中。 然后,写一段简单的示例代码到 main.c 文件中,代码如下:

代码语言:javascript
复制
#include "reg52.h"

sbit led1 = P3 ^ 7;
sbit led2 = P3 ^ 6;

void main()
{
    led1 = 0;
    led2 = 0;

    while (1);
}

代码的作用无所谓,就是一段示例代码。 0x03:工程编译

最后编译代码,并生成单片机的二进制文件,编译方法是按 F5 或通过工具来的按钮编译,工具栏按钮如下图:

编译完成后,到工程目录下查看是否有一个 .hex 的文件,如果有就说明生成了,如果没有,到 Keil 菜单的 "Project" -> "Options for Target" 中进行查看,选择 "Output" 选项卡,然后检查是否勾选 "Create Hex File" 选项,如下图:

如果没有勾选,则将其勾选后,再次进行编译,则会生成 hex 文件。当然,在 "Build Output" 窗口中也可以看到是否创建 hex 文件的提示。

在 "Build Output" 窗口的最后一行,可以看到有一个 "0 Error(s), 0 Warning(s)" 的提示,表示代码中没有错误,也没有警告,一般这是 C/C++ 程序员最爱看到的结果。一般情况下,如果有 Error 需要修改,有 Warning 可以暂时忽略不管。 这样,第一个通过 Keil 创建的 C51 的工程就完成了,生成的 hex 文件就是要烧录到单片机中的文件,后面的文章会进行介绍。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-02-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 码农UP2U 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档