本书详细介绍了Keil Cx51 V7.0机C语言编译器和全新Windows集成开发环境μVision2的强大功能和具体使用方法。全面介绍了最新版本Cx51编译器新增加的控制命令,给出了全部Cx51运行库函数及其应用范例,对Keil Cx51软件包中各种应用工具,如BL51/Lx51连接定位器、A51/Ax51宏汇编器、LIB51库管理程序以及OH51符号转换程序等都作了详细介绍,还介绍了单片机实时多任务操作系统RTX51及其子集RTX51 TINY的具体功能与应用方法。μVision2已经将调试器功能集成于其中,用户可以在单一环境下完成从源程序编写、编译、连接定位一直到目标文件的仿真调试等全部工作,书中详细介绍了μVision2各种功能和应用,包括软件模拟调试和硬件目标板实时在线仿真。
\r\n 本书的特点是强调先进性和实用性,给出了大量程序实例,并带有一张由Keil公司提供的配套CD-ROM光盘,其中包括Keil Cx51 V7.0全功能评估软件包、本书各章中列出的全部程序代码,以及Keil Cx5l源程序仿真硬件目标板的照片和使用说明。本书适合于广大从事单片机应用系统开发研制的工程技术人员阅读,也可以作为高等院校相应专业大学生或研究生的教学参考书。
第1章 8051单片机与Keil Cx51基础\r\n 1.1 8051单片机的存储器组织结构\r\n 1.2 Keil Cx51开发工具\r\n 1.3 Cx51简单编程与调试\r\n第2章 Cx51程序设计基础\r\n 2.1 标识符与关键字\r\n 2.2 Cx51程序设计的基本语法\r\n 2.3 Cx51程序的基本语句\r\n第3章 函数\r\n 3.1 函数的定义\r\n 3.2 函数的调用\r\n 3.3 函数的递归调用与再入函数\r\n 3.4 中断服务函数与寄存器组定义\r\n 3.5 函数变量的存储方式\r\n第4章 数组与指针\r\n 4.1 数组的定义与引用\r\n 4.2 字符数组\r\n 4.3 数组作为函数的参数\r\n 4.4 指针\r\n 4.5 数组的指针\r\n 4.6 函数型指针\r\n 4.7 返回指针型数据的函数\r\n 4.8 指针数组与指针型指针\r\n第5章 结构、联合与枚举\r\n 5.1 结构变量的定义与引用\r\n 5.2 结构变量的初值\r\n 5.3 结构数组\r\n 5.4 结构型指针\r\n 5.5 结构与函数\r\n 5.6 联合变量的定义与引用 \r\n 5.7 枚举变量的定义与引用 \r\n第6章 预处理器\r\n第7章 μ Vision 2集成开发环境\r\n第8章 μ Vision 2环境下Cx51编程技巧与应用实例\r\n第9章 Cx51编译器\r\n第10章 Ax51宏汇编器\r\n第11章 BL51/Lx51连接定位器与实用工具\r\n第12章 RTX51实时多任务操作系统\r\n附录A Keil Cx51与ANSI C的差别\r\n附录B Keil Cx51不同版本的差别\r\n附录C 代码优化\r\n附录D Cx51编译器的限制\r\n附录E 关于配套光盘及硬件目标板\r\n参考文献
8051单片机是目前国内外工业测量控制领域内使用极为广泛的一类8位微控制器,它的特点是使用方便灵活,外围硬件支持十分丰富,世界上许多大半导体厂商,如Atmel、Analog Device、Dallas、Infineon、Philips、SST、n等公司都推出了具有各自特点的增强型8051系列单片机,使用户有了更大的选择范围。另外,世界上许多软件公司还都致力于8051单片机高级语言编译器的开发研究,使用户得以采用高级语言编程,从烦琐的汇编语言中解脱了出来。C语言是一种特别适合于开发计算机操作系统的高级语言,德国Keil公司在开发单片机C语言编译器方面取得了相当大的成功,从编译器、调试器、实时操作系统到集成开发环境,全面支持8051、251、166等单片机主流产品及其众多的派生系列。
本书作者曾以Keil公司较早期的C51编译器V5.0版本为核心编写了《单片机高级语言C51 Windows环境编程与应用》一书,出版后受到广大读者的欢迎,已经多次重印。V5.0版的KeilC51开发环境实际上是从DOS向Windows的一种升级,它在集成度和易用性方面还不尽如人意,如不支持长文件名、编译选项的设定较为烦琐、与Windows环境的兼容性不够完善等。鉴于以上因素Keil公司于1999年发表了V6.0版本的C51编译器,同时推出了一种全新的Windows集成开发环境gVision2。最近Keil公司又将C51编译器升级到V7.0版本,使之能够完全支持Philips公司新推出的超大容量内存单片机80C51Mx,并命名为Cx51编译器,它是目前最高效的、灵活的8051开发平台,可以支持所有8051的衍生产品,同时支持第三方开发工具。
V7.0版本的Cx51编译器具有如下一些优越性。
1.C51源程序经过优化编译后生成的代码,其效率接近于汇编语言生成的代码。
2.支持所有8051系列单片机,提供对所有外围硬件部件的操作。
3.无论在有无工作寄存器区转换的情况下,Cx51都能产生快速中断代码。
4.支持Atmel,Dallas,Infineon,Philips和Temic等公司8051衍生产品上的双数据
指针及高速算术单元(arithmeticunits)。
5.能够在整个应用程序中执行全局寄存器优化。
6.所有应用工具均可产生详细警告信息和错误信息,帮助用户处理难于寻找的问题。
7.支持再入功能和寄存器区的独立代码,便于中断服务程序和多任务应用程序的执行。
8.采用分组方式执行代码分组和调试,用户程序代码可以轻松突破64KB空间的限制。
KeilCx51V7.0版本编译器的Windows环境兼容性以及集成度得到极大的提升Cx51已被完全集成到一个功能强大的全新集成开发环境gVision2中,它将项目(proiect)管理器、Cx51编译器、Ax51汇编器、BL51/Lx连接定位器、RTX51实时操作系统、Simu。lator模拟器以及Mornitor51目标调试器的功能全部集成在单一而灵活的pNision2中,为用户提供了极为简便的操作环境。gVision2具有强大的项目管理功能,项目中包括源程序文件、开发工具选项以及编程说明等,一个gVision2项目能够产生一个或多个目标文件。gVision2内部集成了一个器件数据库(devicedatabase),其中储存了各种型号单片机的片上存储器和集成外围功能信息,通过器件数据库可以自动设置Cx51编译器、Ax51汇编器、BL51/Lx51连接定位器、Debug调试器等开发工具的功能选项,充分满足用户使用特定单片机的要求。gVision2还可以为片外存储器产生必要的连接选项,确定应用程序的起始地址及代码大小规模。gVision2集成开发环境具有如下一些新的功能特点。
1.简便易用的集成开发环境,源级浏览器(Browser)利用符号数据库使用户可以快速浏览源文件,用详细的符号信息来优化用户变量存储器。
2.内嵌源程序文本编辑器,允许用户在编辑源程序时(甚至在未经编译和汇编之前)设置程序调试断点,便于在调试程序时快速检查和修改程序。
3.文件查找功能,能在当前文件或全局文件中搜索指定的文本信息。
4.集成仿真调试功能,允许在统一的gVision2环境下进入Debug调试器,提供纯软件模拟仿真调试(Simulator)和硬件目标板在线仿真调试(Monitor-51),可以进行应用程序代码综合性能分析和代码覆盖率分析。
5.单一而灵活的集成开发环境,可以对所有开发工具的功能选项进行必要的设置。同时提供一个可配置的工具菜单,允许在gVision2环境下启动用户功能。
6.提供对软件版本控制系统SVCS的接口、对应用程序代码进行深层语法分析的PC-LINT接口以及对便于生成含有N-S流程的块集代码EasyCase编辑器的接口。
本书是作者在对最新版本Keil Cx51专业开发软件包全面了解和熟练应用的基础上编写而成的,力求先进性和实用性,不仅完整地介绍了V7.0版本KeilCx51开发工具的功能和使用方法,还给出了大量具体应用实例,所有程序例子都在gVision2环境下调试通过。全书共分12章,第1章阐述了8051单片机的存储器结构,以及在gVision2集成开发环境下进行C51程序设计和编译调试的基本方法。第2章一第6章阐述了8051单片机C语言编程的基础知识,以及KeilCx51对ANSIC的扩展。第7章阐述了~Vision2集成开发环境,详细介绍了工作环境、目标程序的仿真调试以及各种开发工具应用选项的设置方法。第8章阐述了在gVision2环境下进行C51应用程序设计的技巧,并通过大量具体实例详细讨论了许多C51实际应用中的常见问题和解决方法。第9章阐述了V7.0版本Keil Cx51编译器,详细介绍了各种编译控制命令、数据调用协议,给出了全部库函数及其应用范例。第10章阐述了Ax51宏汇编器,详细介绍了各种符号与表达式、汇编伪指令、宏处理以及汇编控制命令。第11章阐述了BL51/Lx51连接定位器与实用工具,详细介绍了BL51/Lx51的各种连接控制命令、符号转换程序OH51、库管理程序LIB51的使用方法。第12章阐述了RTX51实时多任务操作系统及其子集RTX51TINY的功能和具体使用方法。
为帮助读者更好地学习掌握KeilCx51进行应用程序设计,本书带有一张由Keil公司提供的配套CD-ROM光盘,其中包含Keil公司最新版本的全功能Cx51评估软件包和本书各章所有范例程序代码。另外,我们还设计并制作了一种能与本书介绍的gVision2环境配套使用的Keil Cx51源程序仿真硬件目标板,可以将用户程序下载到评估板中直接进行硬件目标系统仿真调试,节省购买专用仿真器的费用。关于硬件评估板的使用方法书中作了详细介绍,光盘中还附有KeilCx51源程序仿真硬件目标板的照片。
本书在编写出版过程中得到电子工业出版社的热情支持,并得到丁福坤、燕满、张玉芳、郭邦云、王珍、邓骊、冯金栋、易金生、商杰、袁晓莉、陈召军、李进、帖伟鹏等同志的协助,在此表示衷心感谢。由于作者水平有限,书中难免会有错误和不妥之处,恳请广大读者批评指正,读者可通过电子邮件:ajxu@tom.com,ajxu41@sohu.com直接与作者联系。
徐爱钧 2004年4月