编号:46054831
类型:共享资源
大小:609.25KB
格式:PDF
上传时间:2020-01-11
上传人:qwe****30
认证信息
个人认证
肖**(实名认证)
河南
IP属地:河南
15
积分
- 关 键 词:
-
keil
自学
教程
- 资源描述:
-
Keil uVISION2 自学教程自学教程 Xiaorunyi 整理整理 PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 Keil uVISION2 是众多单片机应用开发软件中优秀的软件之一 它支持众多不同公司是众多单片机应用开发软件中优秀的软件之一 它支持众多不同公司 的的 MCS 51 架构的芯片 它集编辑 编译 仿真等于一体 同时还支持 架构的芯片 它集编辑 编译 仿真等于一体 同时还支持 PLM 汇编和 汇编和 C 语言的程序设计 界面友好 易学易用 在调试程序 软件仿真方面也有很强大的功能 语言的程序设计 界面友好 易学易用 在调试程序 软件仿真方面也有很强大的功能 因此很多开发因此很多开发 51 单片机单片机 应用的工程师或普通的单片机爱好者 都对它十分喜欢 应用的工程师或普通的单片机爱好者 都对它十分喜欢 Keil Cx51 是一个商业的软件 分两个版本 一个是完全版 使用时对生成的机器代码是一个商业的软件 分两个版本 一个是完全版 使用时对生成的机器代码 空间不作任何限制 另一个是只能编译空间不作任何限制 另一个是只能编译 2K 代码空间代码空间 的的 DEMO 版软件 基本可以满足一版软件 基本可以满足一 般的个人学习和小型应用的开发 般的个人学习和小型应用的开发 废话少说 言归正传 废话少说 言归正传 运行运行 Keil uVISION2 几秒后 出现如图几秒后 出现如图 1 1 的屏幕 的屏幕 图图 1 1 KEIL uVISION2 的提示信息的提示信息 一 建立工程一 建立工程 1 点击 点击 Project 菜单 选择菜单 选择 New Project 如图 如图 1 3 弹出的 弹出的 Windows 文件对话窗口 文件对话窗口 在在 文件名文件名 中输入您的第一个中输入您的第一个 C 程序项目名称程序项目名称 只要符合只要符合 Windows 文件规则的文件名都文件规则的文件名都 行行 这里我们用 这里我们用 test 如图 如图 1 4 保存保存 后的文件扩展名为后的文件扩展名为 uv2 这是 这是 KEILuVision2 项项 图图1 2 KEIL uVISION2的窗口分配的窗口分配 文件编 辑窗口 输出窗口 项目窗口 标题栏 下拉菜单栏 快捷工具栏 PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 目文件扩展名 以后我们可以直接点击此文件以打开先前做的项目 目文件扩展名 以后我们可以直接点击此文件以打开先前做的项目 图图 1 3 New Project 菜单菜单 图图 1 4 项目窗口项目窗口 2 选择器件 根据需要选择相应型号的器件 这里我们选择常用的 选择器件 根据需要选择相应型号的器件 这里我们选择常用的 Ateml 公司的公司的 AT89C51 此时屏幕如图 此时屏幕如图 1 5 所示 点击确定后返回主界面 所示 点击确定后返回主界面 图图 1 5 器件选择窗口器件选择窗口 PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 3 点击点击 Target1 前面的前面的 号 出现下一层的号 出现下一层的 Source Group1 这时的工程还是一个空的 这时的工程还是一个空的 工程 里面什么文件也没有 需要把编写好的源程序加入 点击工程 里面什么文件也没有 需要把编写好的源程序加入 点击 Source Group1 使其反白使其反白 显示 然后 点击鼠标右键 出现如图显示 然后 点击鼠标右键 出现如图 3 所示的下拉菜单 选中其中的所示的下拉菜单 选中其中的 Add file to Group Source Group1 出现一个对话框 要求寻找源文件 注意 该对话框下面的 出现一个对话框 要求寻找源文件 注意 该对话框下面的 文件文件 类型类型 默认为默认为 C source file c 也就是以 也就是以 C 为扩展名的文件 如为汇编文件 需要将文件为扩展名的文件 如为汇编文件 需要将文件 类型改掉 类型改掉 图图 1 6 加入文件加入文件 4 如需新建文件 点击图如需新建文件 点击图 1 7 中中 1 的新建文件的快捷按钮 在的新建文件的快捷按钮 在 2 中出现一个新的文字编中出现一个新的文字编 辑窗口 这个操作也可以通过菜单辑窗口 这个操作也可以通过菜单 File New 或快捷键或快捷键 Ctrl N 来实现 在文件编辑窗口来实现 在文件编辑窗口 输入你的第一个输入你的第一个 C 程序 完成后保存退出 程序 完成后保存退出 注意 文件名必须有扩展名 如注意 文件名必须有扩展名 如 c 程序扩展名为程序扩展名为 c 汇编程序扩展名为 汇编程序扩展名为 asm 或或 am51 源程序可在任何文本编辑器中编写 但要注意全角与半角字符 另外源程序可在任何文本编辑器中编写 但要注意全角与半角字符 另外 Keil Cx51 文本编文本编 辑器对汉字支持不好 辑器对汉字支持不好 图图 1 7 新建新建 C 程序文件程序文件 二 工程的详细设置二 工程的详细设置 PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 工程建立好以后 还要对工程进行进一步的设置 以满足要求 首先点击左边工程建立好以后 还要对工程进行进一步的设置 以满足要求 首先点击左边 Project 窗口窗口 的的 Target 1 然后使用菜单 然后使用菜单 Project Option for target target1 即出现对工程设置的对 即出现对工程设置的对 话框 这个对话框可谓非常复杂 共有话框 这个对话框可谓非常复杂 共有 8 个页面 要全部搞清可不容易 绝大部份设置项个页面 要全部搞清可不容易 绝大部份设置项 取默认值就可以了 取默认值就可以了 设置对话框中的设置对话框中的 Target 页面页面 图图 2 1 对目标进行设置对目标进行设置 Xtal MHz 晶振频率值 默认值是所选目标晶振频率值 默认值是所选目标 CPU 的最高可用频率值 根据需要进行设的最高可用频率值 根据需要进行设 置 该数值与最终产生的目标代码无关 仅用于软件模拟调试时显示程序执行时间 正确置 该数值与最终产生的目标代码无关 仅用于软件模拟调试时显示程序执行时间 正确 设置该数值可使显示时间与实际所用时间一致 一般将其设置成与你的硬件所用晶振频率设置该数值可使显示时间与实际所用时间一致 一般将其设置成与你的硬件所用晶振频率 相同 如果没必要了解程序执行的时间 也可以不设 相同 如果没必要了解程序执行的时间 也可以不设 Memory Model 选择编译模式选择编译模式 存储器模式存储器模式 Small 是所有变量都在单片机的内部是所有变量都在单片机的内部 RAM 中 中 Compact 是可以使用一页外部扩展是可以使用一页外部扩展 RAM Larget 则是可以使用全部外部的扩展则是可以使用全部外部的扩展 RAM Code Model 用于设置用于设置 ROM 空间的使用 空间的使用 Small 模式 只用低于模式 只用低于 2K 的程序空间 的程序空间 Compact 模式 单个函数的代码量不能超过模式 单个函数的代码量不能超过 2K 整个程序可以使用 整个程序可以使用 64K 程序空程序空 间 间 Larget 模式 可用全部模式 可用全部 64K 空间 空间 Use on chip ROM 是否仅使用片内是否仅使用片内 ROM 选择项选择项 注意 选中该项并不会影响最终生成的目标代码量注意 选中该项并不会影响最终生成的目标代码量 Operating 是操作系统选择项 是操作系统选择项 Keil 提供了两种操作系统 提供了两种操作系统 Rtx tiny 和和 Rtx full 通常 通常 我们不使用任何操作系统 即使用该项的默认值 我们不使用任何操作系统 即使用该项的默认值 None 不使用任何操作系统 不使用任何操作系统 Off Chip Code memory 用以确定系统扩展用以确定系统扩展 ROM 的地址范围 的地址范围 Off Chip xData memory 用于确定系统扩展用于确定系统扩展 RAM 的地址范围的地址范围 这些选择项必须根据所用硬件来决定 如果是最小应用系统 不进行任何扩展 均不这些选择项必须根据所用硬件来决定 如果是最小应用系统 不进行任何扩展 均不 重新选择 按默认值设置 重新选择 按默认值设置 设置对话框中的设置对话框中的 OutPut 页面页面 PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 Select Folder for objects 选择最终的目标文件所在的文件夹 默认是与工程文件在同一选择最终的目标文件所在的文件夹 默认是与工程文件在同一 个文件夹中 一般不需要更改 个文件夹中 一般不需要更改 Name of Executable 用于指定最终生成的目标文件的名字 默认与工程的名字相同 一用于指定最终生成的目标文件的名字 默认与工程的名字相同 一 般不需要更改 般不需要更改 Debug information 将会产生调试信息 将会产生调试信息 这些信息用于调试 如果需要对程序进行调试 应当选中该项 这些信息用于调试 如果需要对程序进行调试 应当选中该项 Browse information 是产生浏览信息 是产生浏览信息 该信息可以用菜单该信息可以用菜单 view Browse 来查看 这里取默认值 来查看 这里取默认值 Creat Hex file 用于生成可执行代码文件 用于生成可执行代码文件 可以用编程器写入单片机芯片的可以用编程器写入单片机芯片的 HEX 格式文件 文件的扩展名为格式文件 文件的扩展名为 HEX 其它选默认即可其它选默认即可 Listing 标签页用于标签页用于 图图 2 3 调整生成的列表文件选项调整生成的列表文件选项 在汇编或编译完成后将产生 在汇编或编译完成后将产生 lst 的列表文件 在连接完成后也将产生 的列表文件 在连接完成后也将产生 m51 的 的 图2 2 对输出进行控制 二二 选选 选选用用BL51连连接接定定位位器器 生生成成标标准准HEX 80格式格式文文 完完 成 后成 后发发 提示提示 编 译 完编 译 完 后 立后 立 即即 开开 始始 PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 列表文件 该页用于对列表文件的内容和形式进行细致的调节 其中比较常用的选项是列表文件 该页用于对列表文件的内容和形式进行细致的调节 其中比较常用的选项是 C Compile Listing 下的下的 Assamble Code 项 选中该项可以在列表文件中生成项 选中该项可以在列表文件中生成 C 语言源程序语言源程序 所对应的汇编代码 所对应的汇编代码 C51 标签页标签页 图图 2 4 C51 标签页标签页 C51 标签页用于对标签页用于对 Keil 的的 C51 编译器的编译过程进行控制 其中比较常用的是编译器的编译过程进行控制 其中比较常用的是 Code Optimization 组 该组中组 该组中 Level 是优化等级 是优化等级 C51 在对源程序进行编译时 可以对代码多在对源程序进行编译时 可以对代码多 至至 9 级优化 默认使用第级优化 默认使用第 8 级 一般不必修改 如果在编译中出现一些问题 可以降低优级 一般不必修改 如果在编译中出现一些问题 可以降低优 化级别试一试 化级别试一试 Emphasis 强调 重点强调 重点 是选择编译优先方式 第一项是代码量优化 最终是选择编译优先方式 第一项是代码量优化 最终 生成的代码量小 第二项是速度优先 最终生成的代码速度快 第三项是缺省 默认的生成的代码量小 第二项是速度优先 最终生成的代码速度快 第三项是缺省 默认的 是速度优先 可根据需要更改 是速度优先 可根据需要更改 三 编译 连接三 编译 连接 在工程中加入文件后即可进行编译连接 在工程中加入文件后即可进行编译连接 图图 3 1 编译程序编译程序 PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 本项目只学习新建程序项目和编译运行仿真的基本方法 所以使用软件默认的编译设本项目只学习新建程序项目和编译运行仿真的基本方法 所以使用软件默认的编译设 置 置 在上图中 各按钮功能如下 在上图中 各按钮功能如下 1 用于编译单个文件 用于编译单个文件 2 编译当前项目 如果先前编译过一次之后文件没有做动编辑改动 这时再点击是不会再编译当前项目 如果先前编译过一次之后文件没有做动编辑改动 这时再点击是不会再 次重新编译的 次重新编译的 3 是重新编译 每点击一次均会再次编译链接一次 不管程序是否有改动 是重新编译 每点击一次均会再次编译链接一次 不管程序是否有改动 4 信息输出窗口 在窗口中可以看到编译的错误信息和使用的系统资源情况等 信息输出窗口 在窗口中可以看到编译的错误信息和使用的系统资源情况等 5 是菜单中对应的编译选项 可依据个人习惯选用 是菜单中对应的编译选项 可依据个人习惯选用 6 是开启是开启 关闭调试模式的按钮 它也存在于菜单关闭调试模式的按钮 它也存在于菜单 Debug Start Stop Debug Session 快捷 快捷 键为键为 Ctrl F5 在在 3 右边的是停止编译按钮 只有点击了前三个中的任意一个 停止按钮才会生效 右边的是停止编译按钮 只有点击了前三个中的任意一个 停止按钮才会生效 在本项目只有一个文件 按在本项目只有一个文件 按 123 中的任何一个都可以编译 中的任何一个都可以编译 四 进入调试四 进入调试 一一 常用调试命令常用调试命令 进入调试状态 进入调试状态 Keil 内建了一个仿真内建了一个仿真 CPU 用来模拟执行程序 该仿真用来模拟执行程序 该仿真 CPU 功能强大 功能强大 可以在没有硬件和仿真机的情况下进行程序的调试 下面将要学的就是该模拟调试功能 可以在没有硬件和仿真机的情况下进行程序的调试 下面将要学的就是该模拟调试功能 不过在学习之前必须明确 模拟毕竟只是模拟 与真实的硬件执行程序肯定还是有区别的 不过在学习之前必须明确 模拟毕竟只是模拟 与真实的硬件执行程序肯定还是有区别的 其中最明显的就是时序 软件模拟是不可能和真实的硬件具有相同的时序的 具体的表现其中最明显的就是时序 软件模拟是不可能和真实的硬件具有相同的时序的 具体的表现 就是程序执行的速度和各人使用的计算机有关 计算机性能越好 运行速度越快 就是程序执行的速度和各人使用的计算机有关 计算机性能越好 运行速度越快 进入调试状态后 界面与编缉状态相比有明显的变化 进入调试状态后 界面与编缉状态相比有明显的变化 Debug 菜单项中原来不能用的菜单项中原来不能用的 命令现在已可以使用了 工具栏会多出一个用于运行和调试的工具条 如图命令现在已可以使用了 工具栏会多出一个用于运行和调试的工具条 如图 所示 所示 Debug 菜菜 单上的大部份命令可以在此找到对应的快捷按钮 从左到右依次是复位 运行 暂停 单单上的大部份命令可以在此找到对应的快捷按钮 从左到右依次是复位 运行 暂停 单 步 过程单步 执行完当前子程序 运行到当前行 下一状态 打开跟踪 观察跟踪 反步 过程单步 执行完当前子程序 运行到当前行 下一状态 打开跟踪 观察跟踪 反 汇编窗口 观察窗口 代码作用范围分析 汇编窗口 观察窗口 代码作用范围分析 1 串行窗口 内存窗口 性能分析 工具按钮 串行窗口 内存窗口 性能分析 工具按钮 等命令 等命令 几个重要的概念 几个重要的概念 全速执行全速执行 是指一行程序执行完以后紧接着执行下一行程序 中间不停止 主要是看是指一行程序执行完以后紧接着执行下一行程序 中间不停止 主要是看 程序执行的最终结果 如果程序有错 则难以确认错误出现在哪些程序行 程序执行的最终结果 如果程序有错 则难以确认错误出现在哪些程序行 单步执行单步执行 是每次执行一行程序 执行完该行程序以后即停止 等待命令执行下一行是每次执行一行程序 执行完该行程序以后即停止 等待命令执行下一行 程序 此时可以观察该行程序执行完以后得到的结果 是否与预期结果相同 借此可以找程序 此时可以观察该行程序执行完以后得到的结果 是否与预期结果相同 借此可以找 到程序中问题所在 到程序中问题所在 过程单步过程单步 是指将汇编语言中的子程序或高级语言中的函数作为一个语句来全速执是指将汇编语言中的子程序或高级语言中的函数作为一个语句来全速执 行 调试光标不进入子程序的内部 而是执行完该子程序 然后直接指向下一行 行 调试光标不进入子程序的内部 而是执行完该子程序 然后直接指向下一行 运行到当前行运行到当前行 全速执行当前地址行与当前光标行之间和程序 主要看一段程序运行全速执行当前地址行与当前光标行之间和程序 主要看一段程序运行 情况 可以加快程序的调试 情况 可以加快程序的调试 执行完当前子程序执行完当前子程序 是指进入子程序后按此按钮 子程序中其余没有执行的指令将一是指进入子程序后按此按钮 子程序中其余没有执行的指令将一 次全部执行完毕 加快程序的执行进度 次全部执行完毕 加快程序的执行进度 PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 程序调试中 这几种运行方式都要用到 灵活应用这几种方法 可以大大提高查错的程序调试中 这几种运行方式都要用到 灵活应用这几种方法 可以大大提高查错的 效率 效率 二 断点设置 二 断点设置 断点设置的方法有多种 常用的是在某一程序行设置断点 设置好断点后可以全速运断点设置的方法有多种 常用的是在某一程序行设置断点 设置好断点后可以全速运 行程序 一旦执行到该程序行即停止 可在此观察有关变量值 以确定问题所在 行程序 一旦执行到该程序行即停止 可在此观察有关变量值 以确定问题所在 程序行设置程序行设置 移除断点的方法 移除断点的方法 1 将光标定位于需要设置断点的程序行 使用菜单将光标定位于需要设置断点的程序行 使用菜单 Debug Insert Remove BreakPoint 设设 置或移除断点 置或移除断点 Debug Enable Disable Breakpoint 是开启或暂停光标所在行的断点功能 是开启或暂停光标所在行的断点功能 Debug Disable All Breakpoint 暂停所有断点 暂停所有断点 Debug Kill All BreakPoint 清除所有的断清除所有的断 点设置 点设置 2 使用工具条使用工具条 五 程序实例五 程序实例 输入下面程序 输入下面程序 include 包含寄存器头文件包含寄存器头文件 include 标准输入标准输入 输出头文件输出头文件 void main void main 函数函数 SCON 0 x52 串口方式串口方式 1 允许接收允许接收 TMOD 0 x20 定时器定时器 1 定时方式定时方式 2 TH1 0 xE8 11 0592MHz 1200 波特率波特率 TL1 0 xE8 TI 1 TR1 1 启动定时器启动定时器 while 1 printf Hello World n 显示显示 Hello World PDF 文件使用 pdfFactory 试用版本创建 Keil uVISION2 自学教程 xiaorunyi 整理 Qq315626168 建立好工程后进入调试模式 按建立好工程后进入调试模式 按 4 我们可以打开我们可以打开 5 中的串行调试窗口 这个窗口我们中的串行调试窗口 这个窗口我们 可以看到从可以看到从 51芯片的串行口输入输出的字符 这里的第一个项目也正是在这里看运行结果 芯片的串行口输入输出的字符 这里的第一个项目也正是在这里看运行结果 这些功能在菜单中有相应的对应 首先按这些功能在菜单中有相应的对应 首先按 4 打开串行调试窗口 再按运行键 这时就可以打开串行调试窗口 再按运行键 这时就可以 看到串行调试窗口中不断的打印看到串行调试窗口中不断的打印 HelloWorld 这样就完成了您的第一个 这样就完成了您的第一个 C 项目 最后项目 最后 我们要停止程序运行并回到文件编辑模式 就要先按停止按钮再按开启我们要停止程序运行并回到文件编辑模式 就要先按停止按钮再按开启 关闭调试模式按钮 关闭调试模式按钮 可以打开反汇编窗口 看可以打开反汇编窗口 看 C 程序所对应的汇编代码 光标在那一个窗口 程序将按那程序所对应的汇编代码 光标在那一个窗口 程序将按那 一个窗口所对应的程序进行执行 一个窗口所对应的程序进行执行 PDF 文件使用 pdfFactory 试用版本创建
- 内容简介:
-
-
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。