第1-2讲:搭建开发环境
表1:需要的工具软件
序号 | 软件工具 | 说明 |
1 | Keil C51 9.52安装文件 | Keil C51集成开发环境。 |
2 | ch341ser驱动 | USB最新驱动可到沁恒官网下载:www.wch.cn/downloads/CH341SER_EXE.html |
3 | stc-isp-15xx-v6.90D软件 | 可到STC官网下载该软件最新安装包:www.stcmcudata.com |
- 搭建开发环境需要安装的工具软件在资料包中的位置:
- Keil C51 9.52安装文件:“...\第2部分:开发软件工具\ 1 - KEIL C51安装软件”目录下的“c51v952”。
- ch341ser驱动:“...\第2部分:开发软件工具\ 3 - CH340驱动程序” 目录下的“ch341ser”。
- stc-isp-15xx-v6.90D软件:位于“...\第2部分:开发软件工具\ 2 - STC-ISP下载软件”目录下的“stc-isp-15xx-v6.90D”。
- 注意事项:
- Keil的安装路径不宜太深,安装路径不可有中文。(并非安装路径有中文就一定会出问题,只能说安装路径使用全是较简洁的英文会大大降低安装出错的概率,请知悉!)
- 用户在安装Keil C51前电脑可能已经安装有了Keil MDK版本的软件,务必注意建议将Keil C51安装在其他盘的目录下。
- stc-isp-15xx-v6.90D软件无需安装,直接双击打开即可使用。
Keil C51是美国Keil公司(该公司2005年被ARM公司收购)出品的51系列兼容单片机C语言软件开发系统。
与汇编相比,C语言在功能、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。Keil C51是支持8051微控制器体系结构的Keil开发工具,适合每个阶段的开发人员,不管是专业的应用工程师,还是刚学习嵌入式软件开发的学生。
扩展知识:Keil公司开发的ARM开发工具MDK(Microcontroller Development Kit),是用来开发基于ARM核的系列微控制器的嵌入式应用程序。
本文档中使用的Keil C51版本是9.52,打开后的主界面如图所示。
图1:Keil C51主界面
开发板配套资料包里面已经下载好了Keil C51安装文件,安装文件的位置在开发板资料包的“...\第2部分:开发软件工具\ 1 - KEIL C51安装软件”目录下。
- 解压压缩文件c51v952.zip,双击“c51v952.exe”,弹出 Keil C51 V9.52的安装向导,单击[Next],如下图所示。
图2:安装Keil C51
- 勾选[I agree to ...],然后点击[Next],如下图所示。
图3:勾选Keil C51安装协议
- 选择安装路径,如下图所示。
此处,可以根据自己的需要选择安装路径,本文档设置的默认安装路径是C:\Keil_51,即安装在C盘,(也可选择安装路径是D:\Keil_51或者其他盘)。
图4:添加Keil C51安装路径
- 注:安装在默认路径下,可以省去一些不必要的麻烦。如果用户安装在其他路径,要注意路径不宜过深,并且路径中不要有中文,否则,在打开、编译工程或者仿真的时候可能会出现问题。
- 根据提示填入相关用户信息,然后点击[Next], 如下图所示。
图5:填写Keil C51安装信息
- 说明:未注册版本有2K的代码限制,当超过2K时,是无法编译工程的。
- 等待Keil C51安装完成,如下图所示。
图6:Keil C51安装中
- 点击【Finish】完成安装,如下图所示。
图7:Keil C51安装完后
开发板上设计了USB转TTL电路,使用的USB转串口芯片是CH340,使用前需要安装驱动。
- 说明:如果计算机上已经安装了CH340的驱动,则无需再安装,可直接跳过此步骤。
CH340和CH341是共用同一个驱动的,因此看到驱动的名称是“CH341ser”时不用奇怪,按照下面的步骤安装即可。
- 解压压缩文件ch341ser,双击打开 “ch341ser.exe”,出现下面界面,点击安装。
图8:打开CH340驱动软件
- 说明:安装USB转串口驱动失败的处理方法
用Type-C USB数据线将开发板J1连接到电脑的USB口,并将开发板上的电源开关拨到“ON”的位置,确认开发板的电源指示灯已经点亮后,再安装USB转串口驱动即可。
- 查看CH340的端口号:
需要使用USB数据线连接电脑和开发板并打开开发板上的电源开关后才能查看。
选中“我的电脑”后右键打开属性窗口,再打开设备管理器,在设备管理器中查看CH340的端口号,如下图所示。
图9:设备管理器中查看CH340设备
- 安装stc-isp软件
STC-ISP-15xx是 STC(宏晶科技)针对STC单片机提供的专用的ISP下载软件, STC-ISP-15xx使用简便,并且集成了众多的实用工具,如串口调试助手、波特率和定时器计算工具等,现已被广泛使用。该软件版本会在STC官网上不断更新,用户后续可查看并下载最新版本,STC官网:STC: 32位 8051 单片机创新者, ISP/IAP 技术创新者,中华有为:除了胜利,我们已无路可走
STC-ISP-15xx是绿色软件,无需安装,解压后即可使用,但是我们需要使用STC-ISP-15xx软件将STC器件/头文件和仿真驱动添加到Keil,否则,Keil里面是找不到对应的芯片的,操作步骤如下。
- 解压压缩文件stc-isp-15xx-v6.90D,双击“stc-isp-15xx-v6.90D.exe” 打开STC-ISP-15xx软件,打开后,会弹出产品通知信息窗口,如果下图所示,点击[关闭]按钮关闭通知窗口即可。
图10:打开STC-ISP软件
- 打开“Keil仿真设置”选项卡,点击“添加型号和头文件到Keil中…”按钮添加。
图11:添加头文件和仿真设置
- 注:无论开发板选择的是不是仿真型芯片,都需要进行此步操作。
- 在弹出的窗口中导航到Keil C51的安装文件夹,选中文件夹后点击[确定],添加成功后会弹出提示窗口,如下图所示。
图12:添加头文件和仿真设置成功
- Keil常用操作
- 批量注释和批量取消注释
在编写和调试程序的时候,我们经常会遇到需要注释代码块的情况(多行代码),这里我们给出两种常用的批量注释方法。
- 第一种方法:使用菜单栏中的快捷按钮
批量注释方法:先选中需要注释的代码,然后点击下图中红框内的按钮即可批量注释代码。
图13:批量注释
取消批量注释方法:先选中需要取消注释的代码,然后点击下图中红框内的按钮即可批量取消代码注释。
图14:批量取消注释
- 第二种方法:使用条件编译
下图中使用条件编译命令“#if…endif”注释了36、37、38行这三行代码,如果要取消注释,把0改为1即可,这种方法简单快捷,在调试中很实用。
图15:使用条件编译命令注释代码块
- 返回/前进
浏览程序的时候,经常需要返回到上次浏览的位置或者前进到上次返回的位置,这时,可以使用下图所示的快捷按键。
图16:前进和返回
- 跳转到变量或函数定义位置
开发和调试程序时,经常需要查看一些变量或函数的定义,这时可以按照下图所示的方法跳转到变量或函数定义的位置,查看变量或函数。
- 说明:必须编译成功后才可以跳转。
图17:跳转到变量或函数定义位置
- 查找所有包含目标字符的出处
开发和调试程序时,查找功能是必不可少的,Keil C51中使用查找功能的步骤如下(以在整个工程中查找为例说明)。
- 选中待查找的内容(也可以打开查找窗口后手动输入查找内容),然后点击菜单栏中的“Edit”,在弹出的下拉菜单中点击“Find in files”打开查找窗口,如下图所示。(也可键盘操作快捷键CTrl+F)
图18:打开查找窗口
- 设置查找选项(这里设置:在文件中查找,查找条件是全文匹配,查找范围为整个工程),之后点击“Find All”按钮,如下图所示。
图19:查找窗口
- 查看结果:Keil信息窗口中会显示查找的结果,如下图所示。
图20:查找结果
- 快速打开工程m51文件
m51文件将单片机存储器的使用情况以及变量的信息展示给开发人员,通过分析m51文件,开发人员可以了解,往往可帮忙解决许多棘手的问题。m51文件快递打开方法如下图所示。
- 说明:工程编译成功后,才会生成m51文件,因此工程必须编译后才能打开m51文件。
图21:打开工程map文件
- 工程无法编译
- 现象:打开工程后,编译按钮无法点击,并且信息窗口提示“C51工具链”未安装,如下图所示。
图22:提示信息
- 原因:使用Keil MDK打开了Keil C51的工程。
- 解决方法:安装Keil C51软件。
- 注:我们电脑里面可能也安装了用于开发STC32 的Keil C251,如果用Keil C251打开了Keil C51的工程,也会导致工程无法编译。
- 编译时提示代码超限
- 现象:Keil C51编译工程,出现如下图所示信息。
图23:编译报错
- 原因:Keil C51没有注册,未注册版本有代码限制,所以工程较大超出2K后编译会报错。
- 解决方法: 注册Keil C51。
- 无法跳转到函数或者变量的定义
当我们在keil中选中函数或者变量右键跳转到定义的时候,弹出错误提示“无可用的浏览信息”,从而无法跳转,如下图所示。
图24:无法跳转到定义
原因主要有以下两个方面:
- 工程没有编译或者程序中有错误,没有编译成功:这种情况下,编译工程成功后,即可跳转到定义。
- Browse information没有勾选:点击魔术棒,,如下图所示。
图25:点击魔术棒
在弹出的对话框中切换到output选项卡,之后勾选“Browse information”选项,勾选后需要重新编译工程。
图26:勾选“Browse information”选项
- 无法发现器件
使用Keil C51打开工程时,提示“Err:Device not found”,如下图所示。
图27:Err:Device not found
这是因为我们没有使用STC-ISP-15xx软件将STC器件/头文件和仿真驱动添加到Keil,按照下图所示,将STC器件/头文件和仿真驱动添加到Keil即可。
图28:添加头文件和仿真设置