Keil5简单介绍及使用

  Keil5作为嵌入式开发的一款利器,我们掌握它的一些基本操作是必要的,熟悉它的基本操作后可以提升我们的开发效率,这是我们作为开发者所期望的。如果你还没有安装Keil5,请参考我的随笔:Keil5安装。 下面,我就简单介绍一下它的一些使用方法!

一、新建工程

  为了方便后面介绍Keil5的使用,我们首先先创建一个工程。当然,创建工程也属于基本使用的一部分,创建工程成功与否关系到后边程序的编译及运行是否顺利等相关问题。所以,在这里,我们以51的工程为例来创建一个工程。(提示:作为初学者,创建工程的步骤容易遗忘,建议多次创建来熟练创建过程)

1.首先先在自己想要存放工程文件的地方(例如:D盘)新建一个文件夹并为其更名,比如我想存放在电脑桌面上,那么我就在桌面上新建一个名为LED的文件夹,如下图:
image
2.打开Keil5软件,点击菜单栏Project->New uVision Project...,出现Create New Project窗口,如下图:
image
image
3.在Create New Project窗口选择我们创建的LED文件夹,并为工程起名为LED,再点保存,如下图:
image
4.保存后会弹出Select Device for Target ‘Target’1...窗口,在这个窗口我们要选择我们所要开发的芯片。我们可以在搜索框输入AT89C51来找到这个芯片,选中它点击OK,如下图:
image
5.点击OK后会弹出uVision窗口,这里的意思是我们是否要复制STARTUP.A51文件到工程文件夹下并添加该文件到工程中,理论上我们选是和否够可以,但为了学习我们选择,也方便我们日后查看它,如下图:
image
6.点击“是”之后,我们的工程可以说就创建好了,但其实还没完全好,因为我们还没添加自己的代码源文件,如下图:(可以看到我们上一步添加的STARTUP.A51文件已经进入到工程中了)
image
7.下一步我们就要添加自己的代码源文件了,点击菜单栏File->New...或者直接点File下边的小白块图标就会出现一个Text1文件,如果你之前创建了多个文件那么也可能是Text2,Text3或者等等;接着,我们点击工具栏上的保存图标,如下图:
image
image
image
8.点击保存后会弹出Save As窗口,可以看到它已经自动索引到了我们的LED文件夹下,如果没有索引到这里我们也要自己手动选到这里,接着,我们为Text1起名为main.c后点击保存,如下图:
image
9.这时,我们的Text1就变成了main.c,如下图:
image
10.然后,我们需要把我们的main.c文件添加到工程中,否则编好程序之后编译会报找不见文件的错误,在工程导航栏选中Source Group1点击右键,选择Add Existing Files to Group‘Source Group1’...,如下图:
image
11.紧接着会弹出Add Files to Group‘Source Group1’窗口,我们点击一下main.c文件后点Add,如下图:
image
12.这时,我们的main.c文件就出现在了工程目录下,现在我们就可以编写相关的程序了,如下图:
image
13.创建工程完成后,工程文件夹下的东西如下图所示:
image
14.为了检验我们的工程是否创建成功,我们写一个简单的51程序来编译一下看看:(注意:在Keil5中编写程序时,最后一定要有一行空行,不然会报警告,这是这个软件自己的Bug,我们只需要这样做就好了)

main.c
#include "reg52.h"

sbit LED1=P2^0;	//将P2.0管脚定义为LED1

void main()
{
    LED1=0;	//LED1端口设置为低电平
    while(1)
    {

    }
}

15.编写好程序之后,我们就可以来编译一下它,点击Build图标或者按F7来编译,编译结果如下:(细心的童鞋们可能已经发现,编译完成之后main.c下边出现了reg52.h这个文件,如下图,但这里我们先不讲,大家可以自己打开看一下)
image
image
  这时,我们可以看到程序已经成功编译,说明我们的工程创建以及程序编写没有任何问题。由于本篇在讲Keil5的基本使用,所以我们就先不到开发板上运行程序了,之后我们的51入门教程会讲,大家可以之后去那里看。

  至此,一个51的工程就创建完毕了,如果是其他单片机的开发新建工程方法与之类似,我们只需要掌握其新建工程的思想就可以了。

二、界面介绍及使用:

  前边大量篇幅介绍了新建Keil工程的步骤,但是磨刀不误砍柴工,接下来我们就正式进入Keil5的界面介绍以及一些操作的方法和技巧。
1.界面介绍:
  在界面介绍前还是要啰嗦几句,我这里只是介绍菜单栏里的内容,其他你在界面上看到的图标或者窗口我就不介绍了,因为它们全都来自菜单栏下边的东西,不信可以逐个查看。
  • 菜单栏
    image
    • 文件(File)菜单
      image
      1.New:新建文件 Ctrl+N
      2.Open:打开文件 Ctrl+O
      3.Close:关闭文件 Ctrl+W
      4.Save:保存当前文件 Ctrl+S
      5.Save As:文件另存为
      6.Save All:保存所有(文件及工程设置)
      7.Device DataBase:器件数据库(信息)
      8.License Management:许可证管理
      9.Print Setup:打印设置
      10.Print:打印 Ctrl+P
      11.Print Preview:打印预览
      12.Exit:退出(关闭)软件
    • 编辑(Edit)菜单
      image
      1.Undo:撤销编辑 Ctrl+Z
      2.Redo:恢复编辑 Ctrl+Y
      3.Cut:剪切 Ctrl+X
      4.Copy:复制 Ctrl+C
      5.Paste:粘贴 Ctrl+V
      6.Navigate Backwards:跳转到上一步
      7.Navigate Forwards:跳转到下一步
      8.Insert/Remove Bookmark:插入/移除书签
      9.Go to Next Bookmark:跳转到下一个书签
      10.Go to Previous Bookmark:跳转到上一个书签
      11.Clear All Bookmarks:清除所有标签
      12.Find:查找 Ctrl+F
      13.Replace:替换
      14.Find in Files:在文件中查找文本
      15.Incremental Find:逐个查找文本
      16.OutLining:提纲(如显示函数名称,隐藏函数体)
      17.Advanced:(更多)先进功能
      18.Configuration:配置
    • 视图(View)菜单
      image
      编辑模式下:
      1.Status Bar:状态栏
      2.Toolbars:工具栏
      3.Project Window:工程窗口
      4.Books Window:书籍窗口
      5.Functions Window:函数窗口
      6.Templates Window:模板窗口
      7.Source Browser Window:源码浏览窗口
      8.Build Output Window:编译信息输出窗口
      9.Error List Window:错误列表窗口
      10.Find in Files Window:文件查找窗口
      image
      调试模式下新增:
      11.Command Window:命令显示窗口
      12.Disassembly Window:反汇编窗口
      13.Symbols Window:模块窗口
      14.Registers Window:寄存器窗口
      15.Call Stack Window:被调用函数堆栈窗口
      16.Watch Windows:查看(变量)窗口
      17.Memory Windows:内存窗口
      18.Serial Windows:串行UART窗口
      19.Analysis Windows:逻辑分析仪窗口
      20.Trace:跟踪窗口
      21.System Viewer:系统(外围IO,USART,TIM等)窗口
      22.Toolbox Window:工具箱窗口
      23.Periodic Window Update:窗口周期更新选择
    • 工程(Project)菜单
      image
      1.New μVision Project:新建工程(单工程)
      2.New Multi-Project Workspace:新建工作空间
      3.Open Project:打开工程
      4.Close Project:关闭工程
      5.Export:导出(工程)
      6.Manage:管理(工程)
      7.Select Device for Target:选择工程目标
      8.Remove item:移除目标
      9.Options for Target:工程目标选项配置
      10.Clean Targets:清除工程
      11.Build Target:编译工程目标
      12.Rebuild all Target files:重新编译所有目标文件
      13.Batch Build:分批编译(多工程编译)
      14.Translate:编译当前活动文件
      15.Stop Build:停止编译(正在编译时有效)
    • 编程(Flash)菜单
      image
      1.Download:下载程序 F8
      2.Earse:擦除芯片FLASH
      3.Configure Flash Tools:配置FLASH工具(打开目标对话框选项)
    • 调试(Debug)菜单
      image
      image
      1.Start/Stop Debug Sesion:开始/停止调试
      2.Reset CUP:复位CPU
      3.Run:全速运行
      4.Stop:停止运行
      5.Step:单步调试(进入函数)
      6.Step Over:逐步调试(跳过函数)
      7.Step Out:跳出调试(跳出函数)
      8.Run to Cursor Line:运行到光标处
      9.Show Next Statemt:显示正在执行的代码行
      10.Breakpoints:查看工程中所有的断点
      11.Insert/Remove Breakpoint:插入/移除断点
      12.Enable/Disable Breakpoint:使能/失能断点
      13.Disable All Breakpoint:失能所有断点
      14.Kill All Breakpoint:取消所有断点
      15.OS Support:系统支持(打开子菜单访问事件查看器和RTX任务和系统信息)
      16.Execution Profiling:执行分析
      17.Memory Map:内存映射
      18.Inline Assembly:内联汇编
      19.Function Editor:函数编辑器
      20.Debug Setting:调试设置
    • 外设(Peripherals)菜单
      image
      image
      该菜单只能在调试模式下使用
      1.System Viewer:查看系统外设
      2.Core Peripherals:内核外设
    • 工具(Tools)菜单
      image
      1.Setup PC-Lint:配置PC-Lint
      2.Lint:PC-Lint运行在当前编辑器文件
      3.Lint all C Source Files:在您的项目中运行PC-Line C源文件
      4.Configure Merge Tool:配置合并工具帮助迁移RTE软件组件文件的特定于应用程序的设置
      5.Customize Tools Menu:自定义工具菜单
    • 软件版本控制系统(SVCS)菜单
      image
      1.Configure Software Version Control:配置软件版本控制
    • 主窗口(Window)菜单
      image
      1.Reset View to Defaults:重置窗口布局(µVision默认的Look&Feel)
      2.Split:活动编辑器文件分割成两个水平或垂直窗格
      3.Close All:关闭所有打开的编辑器
    • 帮助(Help)菜单
      image
      1.µVision Help:打开帮助文档
      2.Open Books Window:打开帮助书籍
      3.Simulated Peripherals for object:关于外设仿真信息
      4.Contact Support:联络支持
      5.About µVision:关于
2.常用操作方法与技巧:
  前边我们介绍了Keil5的菜单栏,相信大家已经对这个软件有了一定的了解,那么下面我们就操作起来,去学习一下菜单栏下一些常见选项的使用,但说是常见选项的使用,我在这里也不可能一一列举,一些简单的操作比如打开工程、关闭工程大家就自己摸索着来,我这里介绍一些平时不注意或不好上手的操作。

1.Edit->Configuration->Editor
image
  ①Encoding设置为Chinese GB2312(Simplified),这样设置后我们就可以在代码编辑界面对代码进行中文注释了,如果不设置的话软件默认是Encode in ASNI,如果我们写了中文注释就会显示乱码。
  ②C/C++ Files:Tab size设置为4,这样我们在写代码时用tab键缩进就变成了4个空格,软件默认是2个。当然,这个如果自己喜欢2个空格可以不进行设置。
2.Edit->Configuration->Colors & Fonts
image
  在这里我们可以设置界面的字体大小,显示颜色等等,颜色配比大家自己看着来就好,这不是刚需。这里我只截取了配置代码字体和大小的配置方法,大家可以将字号设置大一点,字体也可以变变。这里配置字体和字号大小是永久设置,但如果想临时放大缩小代码字体可以Ctrl+鼠标滚轮解决。
3.Edit->Configuration->Shortcut Keys
image
  在这里我们可以配置一些软件功能的快捷键,一般也不用,但是如果有需要可以来这里设置。
4.Project->Manage->Project Items...
image
  在这里我们可以管理工程目录,比如修改工程名,添加群组,添加文件等等。这个选项在51里边体现不太明显,但如果是32的话那可能需要频繁使用。
5.Project->Manage->Pack Installer...
image
  在这里我们可以进行芯片包的安装,但一般是安装不上的,因为需要访问外网。而且C51里边没有相关的概念,如果可以访问外网32可以这样来安装芯片包。但如果想导入已经下载好的芯片包尤其下载下来的是压缩包,可以解压出来文件夹,在这个界面点File->Import from Folders选中你的芯片包或者文件夹将其导入即可。
6.Project->Manage->Run-Time Environment...
  在这里我们可以进行实时文件的添加,但一般针对32开发使用,C51也没有相关概念。之后会配图详细说明,现在暂且不表。
7.Project->Options for Target'Target1'...->Device
image
  在这里我们可以更换工程的芯片,但不推荐使用,原因是不同芯片包背后的库啊什么的可能不同,会导致你工程崩掉。
8.Project->Options for Target'Target1'...->Output
image
  这个选项下的一些东西是比较重要的,咱们一一来说:①“Select Folder for Objects”选择Objects文件夹的路径,下边存放着一些编译成的目标文件;②Create Executable下:Debug Information勾选上可以显示调试信息,Browse Information勾选上可以跳转到函数或者变量定义的地方,Create HEX File可以在编译后创建hex文件,用于往单片机上烧程序;③./Objects/xxx.LIB勾选上可以生成自己的库文件,这个库文件封装了多个不同的C文件,需要h文件引导进入;④Creat Batch Files勾选上会生成一个.BAT文件,这个文件是如果你代码改动一个地方,然后不需要再打开工程直接双击运行一下这个脚本文件就可以更新hex文件。
9.Project->Options for Target'Target1'...->Listing
image
  在这里主要说一下“Select Folder for Listings”,选择Listings文件夹的路径,这个文件夹下主要是一些由编译器和连接器输出的中间文件,可以通过下边的配置来选择输出什么文件。
10.Project->Options for Target'Target1'...->C51
image
  这里主要说一下“Include Paths”,选择包含头文件(.h)的路径,这个在51体现不明显,如果是32你少包含了头文件的路径,那么就会报找不到文件的错误。
11.Project->Options for Target'Target1'...->Debug
image
  这个其实看上图知道可以配置软件仿真和仿真器仿真就可以了,具体怎么配置学51和52的时候再说。
12.Debug->Start/Stop Debug Session
image
  这个仿真说来话长,都可以再来一篇博客了,所以也是知道它有这么个功能,其他具体他调试方法之后再说。
13.Window->Reset View to Defaults
image
  这个功能就是不管你的窗口乱成什么样,直接帮你恢复到上图所示的样子。

说到这里,我们基本已经将Keil5的介绍和使用都讲清楚了,仔细看了这篇博文的童鞋发现我好像在前边有的东西没提,挖了好多坑。但不用着急,有时间的话会一一填好,这篇就到这里吧!

本篇完!!!

posted @ 2021-11-26 09:41  平_意*  阅读(24091)  评论(0编辑  收藏  举报