单片机C语言开发详解第章 Keil C51单片机开发环境ppt课件.ppt_第1页
单片机C语言开发详解第章 Keil C51单片机开发环境ppt课件.ppt_第2页
单片机C语言开发详解第章 Keil C51单片机开发环境ppt课件.ppt_第3页
单片机C语言开发详解第章 Keil C51单片机开发环境ppt课件.ppt_第4页
单片机C语言开发详解第章 Keil C51单片机开发环境ppt课件.ppt_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章KeilC51单片机开发环境 通过前面章节的讲解 读者对于AT89S51单片机的硬件结构和汇编语言编程都有了一个详细的了解 随着单片机开发工具的不断发展 目前 利用C语言开发单片机程序 具有效率高 可读性强 可移植性强等特点 已经成为单片机程序开发中的主要方式 KeilC51是一款十分流行的MCS 51内核单片机C语言开发环境 在本章中详细向读者介绍KeilC51的开发方法 使读者能够具备利用C语言开发AT89S51单片机程序的能力 4 1C语言编程基础 KeilC51的开发方法其实和大家学习的C语言基本相同 本节介绍C51的开发 内容和C语言的基础知识差不多 由于篇幅有限 如需要深入了解的读者可以参考一些C语言的教程 4 1 1C51程序的基本结构 C51源程序结构与一般C语言基本一致 C51源程序文件的扩展名为 c 如Add c Max c等 一个C51源程序大体上是一个函数定义的集合 在这个集合中有且仅有一个名为main 的函数 也称为该程序的主函数 主函数是程序的入口 它是一个特殊的函数 程序的执行都是从main 函数开始的 主函数中的所有语句执行完毕 则程序执行结束 4 1 2标识符与关键字 标识符是用来标识源程序中某个对象的名字的 这些对象可以是语句 数据类型 函数 变量 数组等等 C语言是区分大小写的一种高级语言 如果要定义一个定时器1 可以写做 Timer1 如果程序中有 TIMER1 那么这两个是完全不同定义的标识符 标识符由字符串 数字和下划线等组成 需要注意的是 第一个字符必须是字母或下划线 类似 1Timer 的定义是错误的 编译时便会有错误提示 有些编译系统专用的标识符以下划线开头 所以除了在定义专业标识符以外 一般不要以下划线开头命名标识符 4 1 3数据类型 数据在计算机内存中的存放情况由数据结构决定 C语言的数据结构是以数据类型决定的 数据类型可分为基本数据类型和复杂数据类型 复杂数据类型是由基本数据类型构造而成的 在标准C语言中基本的数据类型为char int short long float和double 而在C51编译器中int和short相同 float和double相同 4 1 4常量与变量 在程序运行过程中不能改变值的量称为常量 在程序运行过程中不断变化的量称为变量 可以使用所有C51编译器支持的数据类型定义一个变量 而常量的数据类型只限于整型 浮点型 字符型 字符串型和位标量 4 1 5函数 一个好的C语言程序应该把一个大问题划分成若干子问题 解决一个子问题对应编制一个函数 C程序一般是由大量的小函数而不是由少量大函数构成的 使用函数带来的好处是程序各部分相互充分独立 任务单一 函数提供了编制程序的手段 使之容易读 写 理解 排除错误 修改和维护 这些独立的小模块也可以作为一种固定规格的程序 用来组成新的大程序 使得程序的可移植性和可重用性能大大提高 一些较常用的函数时 只要将其保存在函数库里 在以后的编程中可被方便地调用而不需要再去编译它们 连接时将会自动从相应的库中装配成所需程序 4 1 6数组与指针 数组是指具有相同数据类型的变量集合 拥有共同的名字 数组中的每个特定元素都使用下标来访问 数组存放在一段连续的存储地址中 第一个数组元素存放于最低的地址 最高的地址对应最后一个数组元素 数组有一维的和多维的 下面分别介绍 1 一维数组一维数组的声明格式是 类型变量名 长度 类型是指数据类型 即每一个数组元素的数据类型 包括整数型 浮点型 字符型 指针型以及结构和联合 4 1 6结构体与联合体 结构体是一种由基本数据类型构成 并用一个标识符来命名的各种变量的组合 结构体中可以使用不同的数据类型 在KeilC51中 结构体也是一种数据类型 可以使用结构体变量 因此 与其他类型的变量一样 在使用结构体变量时要先对其定义 定义结构体变量的一般格式如下 struct结构体名 类型变量名 类型变量名 结构体变量 4 1 7类型定义 与C语言编程一样 KeilC51允许由用户自己定义类型说明符 也就是说允许由用户为数据类型使用自定义的名字 该功能可以使用类型定义符typedef完成 例如 有整型量a b 其说明如下 inta b 其中int是整型变量的类型说明符 int的长度为16位 为了增加程序的可读性 可把整型说明符用typedef定义为 typedefintINT16 这以后就可用INT16来代替int作整型变量的类型说明了 例如 INT16a b 等效于inta b 4 1 8宏定义与条件编译 在编写程序时 使用的是用户能够看懂的ASCII码 但是计算机必须将这些ASCII码经过翻译后变成机器语言 这个翻译过程分两步 叫做编译 链接过程 第一步的编译过程是将源程序中除了函数调用以外的语句翻译成机器语言 此时要生成一个中间目标文件 后缀名为obj 链接过程是将库函数的执行代码加入到刚才生成的obj文件中 生成可执行文件 用户编写的源程序只能控制程序执行的流程 但有些时候 需要对编译程序的工作进行一些干预 这时就要用到编译预处理命令 4 2KeilC51开发工具 MCS 51内核系列单片机作为工业使用的微处理器 从1985年开始 就有对应的C语言编译器 简称C51 并非所有的C51编译器都产生和发挥MCS 51单片机特点的有效代码 下面就各公司的编译器做简要介绍 1 AMERICANAUTOMATION该编译器通过 asm和endasm预处理选择支持汇编语言 此编译器编译速度慢 要求汇编的中间环节支持 2 ARCHIMEDES它的鼻祖是瑞典的JAR 是支持分组开关 Bank 的编译器 它和ANSIC兼容 只是需要一个较复杂的连接程序控制文件支持 程序才能运行 3 AVOCET该软件包包括编译器 汇编器 连接器 库MAKE工具和编辑器 集成环境类似BorlandC和TurboCOC编译器产生一个汇编语言文件 然后再用汇编器 其编译速度较快 4 2KeilC51开发工具 4 DUNFIELDSHAREWARE它是非专业的软件包 不支持float long或结构等数据结构 它不生成重定位代码 5 FRANKLIN它的鼻祖是Keil 在代码生成方面领先 可产生最少的代码 它支持浮点和长整数 重入和递归 不提供库源代码 不能生成能汇编的汇编代码 仅产生混合代码 只能修改后汇编 若使用汇编语言 必须分开汇编程序 然后手工连接 若使用单片模式 它是最好的选择 6 KeilC51KeilC51的V8 xx是目前世界上最好的51单片机的汇编和C语言的开发工具 它支持汇编 C语言以及混合编程 同时具备强大的软件仿真和硬件仿真功能 在本节中主要介绍采用KeilC51的开发方法 4 2 1 Vision3集成开发环境结构 当使用KeilC51的开发工具进行项目开发时 项目的开发流程和其他软件开发项目的流程极其相似 一般遵循下面几步 创建一个项目 从器件库中选择目标器件 配置工具设置 用C语言或汇编语言创建源程序 用项目管理器生成应用 修改源程序中的错误 测试 连接应用 4 2 2KeilC51的C编译器 C语言是一种通用编程语言 它提供高效的代码 结构化的编程元素及丰富的运算符 C语言不是一个大型的语言 不是为特定领域内的应用而设计的 其普遍性使其可以为各种不同的软件任务提供便利有效的编程方案 许多应用设计使用C语言比其他专门语言更有效 Keil的C51优化交叉编译器是完全符合ANSI美国国家标准协会标准的针对8051系列MCU的C编译器 生成的可执行代码快速 紧凑 在运行效率和速度上可以和汇编程序得到的代码相媲美 4 2 3KeilC51的A51宏汇编器 A51是一个8051系列MCU的宏汇编器 它把汇编语言翻译成机器代码 A51汇编器允许定义程序中的每一个指令 在需要极快的运行速度 很小的代码空间和精确的硬件控制时使用 其宏特性让公共代码只需要开发一次 从而节约了开发和维护的时间 A51汇编器宏处理的另一个有用的特性是根据命令行参数或汇编符号进行条件汇编 代码段的条件汇编能帮助用户实现最紧凑的代码 也可以从一个汇编源代码文件产生不同的应用 4 2 3KeilC51的A51宏汇编器 A51汇编器产生一个列表文件 包括行号 汇编时的时间和日期 关于汇编器运行和目标文件产生的信息被记录下来 通常情况下 程序从EXTERN PUBLIC和SEGMENT指示器开始 列表文件包含了每个源代码的行号及每行产生的代码 列表文件包含了错误和告警信息 错误和告警的位置被明显地标识出来 存储器组的占用信息和程序中的错误和告警总数包括在文件的结尾处 4 2 4KeilC51的BL51代码链接器 定位器 BL51是具有代码分段功能的连接器 重定位器 它组合一个或多个目标模块成一个8051的执行程序 此连接器处理外部和全局数据 并将可重定位的段分配到固定的地址上 BL51连接器处理由KeilC51编译器 A51汇编器和IntelPL M 51编译器 ASM 51汇编器产生的目标模块 连接器自动选择适当的运行库并连接用到的模块 BL51主要有以下的功能 1 数据地址管理BL51连接器通过覆盖那些不会同时使用的函数变量的技术来管理8051有限的内部存储器资源 这极大地降低了大多数应用对存储器的需求 BL51连接器分析函数间的引用以决定存储的覆盖策略 可以用OVERLAY指示器来人为控制函数间的引用 这些引用被连接器用来确定哪些存储器单元是独占的 NOOVERLAY指示器让BL51不进行覆盖连接 这在使用间接调用的函数或为了调试而禁止覆盖时比较有用 4 2 4KeilC51的BL51代码链接器 定位器 2 代码段BL51连接器支持创建程序空间大于64KB的应用 8051不能直接操作大于64KB的代码地址空间 必须由外部硬件来交换代码段 完成此功能的硬件必须要8051中运行的程序的控制中 这就是段 块 切换 BL51连接器管理一个公共的区域和32个最大64KB空间的块 从而达到总共2MB的分段程序空间 支持外部硬件块切换的软件包括的一个可编辑的汇编程序 以适应应用中的特定硬件平台 BL51连接器可以定义哪个段装载哪个特定的程序模块 通过仔细考虑 把各个函数分配到不同的段中来创建一个非常大而有效的应用 4 2 4KeilC51的BL51代码链接器 定位器 3 公共段段切换程序中的公共段是一块在任何时候 在所有的段中都可以访问的存储器 此公共段在物理上就不能切换出局或变换地址空间 在公共段中的代码可以复制到每个段中 如果切换整个程序空间 或驻留在一个独立的地址空间或器件中 公共段不用切换 4 2 4KeilC51的BL51代码链接器 定位器 4 执行其他段中的程序分段代码空间是通过附加的由软件控制的地址线控制的 这些地址线可以由8051的I O口或位于存储器空间的锁存器来模拟 HL51连接器为位于其他段中的函数生成一个跳转表 当用C语言调用一个位于不同段中的函数时 要先切换段 再跳到目标程序运行 完成后再回到调用的那个段中去 并继续往下执行 这种段切换处理需要附加的50个CPU指令周期和占用2字节堆栈空间 如果把相关的函数分配在相同的段中 将显著地提高系统的性能 需要从多个段中经常调用的函数应该位于公共段中 4 2 5KeilC51的OC51目标文件转换器 OC51目标文件转换器为在目标模块中的每个代码区创建绝对目标模块 当用户创建一个存储区切换应用时 BL51产生存储目标模块 符号调试信息复制到绝对目标文件中 并供仿真器使用 用户可使用OC51目标文件转换器创建绝对目标模块 然后可使用OH51目标 hex转换器创建Intelhex文件 OH51目标 hex转换器从绝对目标模块中创建Intelhex文件 而绝对目标模块可由BL51或OC51创建 Intelhex文件是ASCII文件包含了应用程序的十六进制表达式 将它们装人器件编程器就可写人EPROM可以在DOS命令行中 用OC51将分段目标模块中的每一个代码段创建绝对目标模块 然后 用OH51 目标代码到hex文件的转换器 为每一个绝对目标模块产生相应的Intelhex格式的文件 4 2 6KeilC51的OH目标HEX文件转换器 OH51目标hex转换器为绝对目标模块创建Intelhex格式的文件 绝对目标模块可以由BL51或OC51产生 Intelhex文件是ASCII文件 用十六进制的数表示应用系统的目标模块 它们可以很容易的下载到编程器 以便于写入EPROMS器件 4 2 7KeilC51的LIB51库文件管理器 LIB5l库管理器可使用户创建和保存库文件 一个库文件是一个或多个目标文件的格式化集合 库文件提供简便的方法 可组合和引用大量的目标文件 BL5l可有效地使用库文件 库管理器可使用户创建一个库文件 将目标模块加入库文件 从库文件中移去目标模块和列出库文件的内容 使用库有一系列优点 安全 高速和减少磁盘空间仅是使用库的一小部分原因 另外 库提供了一个很好的分发大量函数而不用分发大量函数源代码的手段 例如 ANSIC的库是作为库文件提供的 4 3 Vision3集成开发环境 Keil公司于1996年推出了基于Windows的C51应用程序集成开发环境 如今KeilC51的IDE 集成开发环境 的最新版本已经发展到了 Vision3 Vision3是一个集成的软件开发平台 包括全功能编辑器 项目管理器 程序生成工具和环境控制等 其仿真调试的环境又叫DScope5 Keil公司推出的新的32位最新的编译器版本已经达到KeilC51V8 xx 可以运行在Windows9x WindowsNT WindowsMe Windows2000和WindowsXP等操作系统 功能更加强大 支持的芯片更多 C51V8 xx版本是目前最高效 灵活的8051开发平台 它可以支持所有MCS 51的兼容内核 也可以支持所有兼容的仿真器 同时支持其他第三方开发工具 4 3 1 Vision3IDE Vision3IDE是一个基于Windows的开发平台 包含一个高效的编辑器 一个项目管理器和一个MAKE工具 4 3 2 Vision3C51编译器与测试程序 C51编译器在遵循ANSI标准的同时 为MCS 51兼容微控制器系列进行特别设计 语言上的扩展能让用户使用应用所有资源 有如下一些特点 1 存储器和特殊功能寄存器的存取C51编译器可以实现对8051系列所有资源的操作 2 中断功能 3 灵活的指针 4 3 3 Vision3的安装 Vision3安装的最低的硬件和软件配置必须满足 具有Pentium PentiumII或兼容的处理器的个人计算机 操作系统为Windows98 Windos2000 WindowsXP或更高 RAM大于128MB 60MB的硬盘空余空间 4 4集成开发环境的使用 直接双击程序图标就可以启动 Vision3 要新建一个项目文件 Vision3菜单中单击 Project NewProject 命令即可 Vision3的整个界面如图4 15所示 4 4 1 Vision3的项目管理窗口 在 Vision3中 可以为一个应用创建几个不同的程序 用户也许需要一个目标用来测试 另一个目标作为应用系统的发行版本 在同一个项目文件中 允许每个目标进行独立的工具设置 在Build工具栏上 可以快速改变当前的目标 如图4 16所示 该项目有3个目标文件 即Simulator RamDebug和Flash三种模式下的目标文件 当前目标文件是Simulator 4 4 2 Vision3的菜单栏 Vision3的菜单栏提供各种操作菜单 例如 编辑操作 项目维护 开发工具选项设置 调试程序 窗口选择和处理以及在线帮助等等 4 4 3 Vision3的工具栏 Vision3提供了文件操作 源文件编辑 视图切换 工程项目和调试命令等工具条按钮 允许用户快速地执行命令 各种工具栏图标都对应一种 Vision3的下拉菜单命令 下面分别进行介绍 4 4 4 Vision3的快捷键 使用 Vision3的键盘快捷键 用户可以高效地执行 Vision3的各种命令 熟练地掌握各种快捷键的使用 将取得事半功倍的效果 1 文件操作快捷键Ctrl O 打开已经存在的文件 Ctrl N 创建新文件 Ctrl S 保存当前文件 Ctrl P 打印当前文件 4 4 4 Vision3的快捷键 2 源代码编辑快捷键Ctrl Z 取消上次操作 Ctrl Shift Z 重复上次操作 Ctrl X 剪切所选文本 Ctrl Y 剪切当前行的所有文本 Ctrl C 复制所选文本 Ctrl V 粘贴 Ctrl F2 设置 取消当前行的标签 F2 移动光标到下一个标签处 Shift F2 移动光标到上一个标签处 Ctrl F 在当前文件中查找文本 F3 向前重复查找 Shift F3 向后重复查找 Ctrl F3 查找光标处的单词 Ctrl H 替换特定的字符 4 4 4 Vision3的快捷键 3 顶目操作快捷键Alt F7 设置对象 组或文件的工具选项 F7 编译修改过的文件并生成应用 Ctrl F7 编译当前文件 4 4 4 Vision3的快捷键 4 调试快捷键Ctrl F5 开始 停止调试模式 F5 运行程序 直到遇到一个中断 Fll 单步执行程序 遇到子程序则进入 FlO 单步执行程序 跳过子程序 Ctrl Fll 执行到当前函数的结束 ESC 停止程序运行 4 4 5 Vision3的功能窗口 在介绍 Vision3集成开发环境中的各种窗口之前 先介绍一下下窗口的属性设置 执行 Edit 菜单下的 Configuration 命令 这时将打开Configuration对话框 单击Editor标签 在这里可以设置源代码编辑窗口的各种设置 比如若选中CreateBackupfiles BAK 复选框 则在源文件编辑过程中将产生备份文件 若选中AutoIndent复选框 则在编辑源代码文件时 将自动以TAB键的距离缩进 4 4 6源代码编辑窗口 源代码编辑窗口 源代码编辑窗口提供以下功能 关键词 注释和字符串的高亮度显示 自动缩进 自定义Tab键的跳格数 圆括号和花括号对C语言代码块做标记 并可方便地查到与之配对的右括号 多次Undo和Redo 随时获得相关的在线帮助 快速查找 在一个或多个文件中查找或替换 4 4 7Watch CallStack窗口 该窗口用来检查和编辑C语言表达式或变量的值 可以用不同的格式显示数值 可以显示数组 结构或指针等包含多个元素的变量 也可以显示当前函数的嵌套调用情况 在程序运行或调试状态下 用户可以执行菜单 View Watch CallStackWindow 命令来显示Watch CallStack窗口 Watch CallStack窗口的内容会在程序执行过程中遇到断点或者停止运行后显示 在程序执行过程中 可以执行 View PeriodicWindowUpdate 菜单命令 以使Watch CallStack窗口的内容随程序的执行而周期性的显示 4 4 8Memory窗口 在程序运行或调试状态下 用户可以执行菜单 View MemoryWindow 命令来显示Memory窗口 Memory窗口能显示各种存储区域的内容 Vision3的Memory窗口总共提供了4个不同的存储区域显示页 用户可以用不同的显示页分别显示不同的存储器区域 例如一个显示页用于显示代码存储区域 一个显示页用于显示外部数据区域 一个显示页用于显示内部数据区域 根据用户的存储区域划分情况而定 4 4 9CPU寄存器窗口 在程序运行或调试状态下 用户可以单击项目管理窗口下面的Regs标签页来显示CPU寄存器窗口 CPU寄存器窗口显示了CPU寄存器中的值 CPU寄存器窗口位于项目管理窗口的Regs标签页 该窗口可以任意移动 4 4 10串行窗口 在程序运行或调试状态下 用户可以执行 View SerialWindow UART 1 命令来显示串行窗口1 执行 View SerialWindow UART 2 命令来显示串行窗口2 Vision3提供了3个串行窗口 用于PC机与模拟的51单片机窗口通信 从模拟的51单片机的CPU串口输出的数据 将在这个串口窗口中显示 而在串口中输入的字符 将被输入到模拟的51单片机的CPU串口中 利用这一点 可以在没有外部硬件的情况下模拟51CPU的UART端口 4 4 11性能分析窗口 Vision3的性能分析窗口可以显示指定的函数或者程序段的执行情况 包括执行指定的函数或者程序段的最大时间 最小时间 平均时间 总时间以及执行次数等 在程序运行或调试状态下 用户执行 View PerformanceAnalyzerWindow 命令 将打开性能分析窗口 4 4 12代码覆盖窗口 Vision3具备代码覆盖功能 可以将已经执行的代码段用特殊的颜色标记出来 在源代码编辑窗口和反汇编窗口 已经执行过的代码段的左边 有淡绿色标记 淡绿色是 Vision3设置的默认颜色 用户可以根据需要自定义一种喜欢的颜色 4 4 13符号观察窗口 执行菜单命令 View SymbolWindow 将打开符号显示窗口 Vision3的符号显示窗口中 显示了所有函数和模块的公共的符号 当前模块或函数的局部符号 代码行号和当前所载入应用所定义的CPU的特定的SFR 特殊功能寄存器 如图所示是KeilC51自带例子HELLO c应用中的符号窗口所显示的公共符号的内容 4 5项目的开发与管理 本节描述了使用 Vision3进行项目管理 介绍了如何创建一个简单的程序以及生成和维护项目的一些选项 包括文件输出选项 C51编译器的关于代码优化的配置和 Vision3项目管理器的特性等等 4 5 1创建项目 执行 Project New VisionProject 菜单命令 将新创建一个项目 为项目建一个单独的文件夹 然后选择子文件夹并键入项目的名称 Vision3将创建一个文件名为 Projectl uv3 的新项目文件 新的项目文件包含了一个以默认的文件名命名的目标和文件组 可以在项目管理窗口的Files标签页看到这些名字 在项目创建之前 需要为新建的项目选择一个CPU 在命名项目名称后 弹出的对话框 其中显示的是器件数据库 用户只要选择所需要的MCU就可以了 由于本书是以ATMEL公司生产的AT89S51单片机为实例 因此在相应的目录下选择AT89S51 Kei1C51几乎支持所有的MCS 51内核单片机 选择AT89S51之后 右边一栏是对这个单片机的基本的说明 然后单击 确定 按钮 该选择就为AT89S51器件设置了工具选项 这种方式简化了工具的配置 为用户减少了不少工作量 4 5 2添加配置启动代码 启动文件STARTUP A51中包含了目标启动代码 可在每个project中加入这个文件 只要复位 则该文件立即执行 其包括以下一些功能 定义内部RAM大小 外部RAM大小 可重入堆栈位置 清除内部 外部或者以此页为单元的外部存储器 按存储模式初始化重入堆栈及堆栈指针 初始化硬件堆栈指针 开始执行main 函数 4 5 3项目设置 Vision3允许用户为目标硬件设置选项 可以通过工具条图标打开 也可以用鼠标右击项目窗口中的Files标签页中的Target1 在右键菜单中选择 OptionsforTarge1 命令 Target 定义CPU Output 定义Keil工具的输出文件 并定义生成处理后的执行用户程序 Listing 定义Keil工具输出的所有列表文件 C51 设置C51编译器的特别工具选项 A51 设置汇编器的特殊工具选项 BL51Locate 定义不同类型的存储器和存储器的不同段位置 BL51Misc 其他的与连接器相关的设置 如警告或存储器指示 Debug Vision3的Debugger设置 Utilities 文件及其Group的特别选项 4 5 4Target标签 单击Target标签 其中各参数设置如下 1 Xtal MHz 是设置单片机的工作的频率 默认值是24 0MHz 如果项目中所使用的单片机的晶振用的是33MHz 例如本例中的89S51单片机 那么在框里输入实际的晶振频率 2 UseOn chipROM 0 x0 0 x1FFF 这个选项是使用片上的FlashROM AT89S51有4KB的FlashROM 是否使用片上FlashROM取决于应用系统 如果用户的单片机的EA引脚接高电平 则一定需要选中这个选项 如果用户的单片机的EA接低电平 表示使用外部ROM 那么不要选中该选项 3 MemoryModel 变量存储空间 用鼠标单击MemoryModel的下拉箭头 会有3个选项 4 5 5Output标签 Output标签的设置说明如下 1 SelectFolderforObjects 单击这个按钮可以选择编译之后的目标文件存储在哪个目录 如果不设置 编译之后的目标文件就存储在工程文件的目录里 2 NameofExecutable 设置生成的目标文件的名字 默认是跟工程的名字一样 目标文件可以生成库或者obj和hex的格式 3 CreateExecutable 生成omf以及hex文件 一般选中DebugInformation和BrowseInformation 这样才有详细的调试所需要的信息 比如进行C语言程序的调试时 如果不选DebugInformatio和BrowseInformation两项 调试时将无法看到C语言的代码而只有汇编代码或者机器代码 4 5 5Output标签 4 CreateHexFile 生成hex文件 这个选项一般是要选中的 很多用户发现编译之后没有生成hex文件 这是因为这个选项没有被选中的原因 要生成hex文件一定要选中该选项 5 CreateLibrary 生成库文件 选中该选项时将生成lib库文件 根据用户的需要是否要生成库文件 一般的应用是不生成库文件的 设置完成的Output标签如图 4 5 6Listing标签 KeilC51在编译之后除了声称目标

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论