基本信息
内容简介
计算机书籍
随着嵌入式领域的不断发展,以及C语言在嵌入式应用中的不断普及,嵌入式系统的开发者掌握单片机C语言(C51)已经成为不可逆转的趋势。KEIL公司的IDE C51开发环境μVision2是8051系列单片机的开发工具。由于其功能强大,方便易用,目前已经成为单片机C语言开发者最常用的工具之一。本书的主要目的在于:
1. 简单而清晰地介绍单片机的原理、功能及使用方法,使读者具备C51编程时所必需的硬件知识,对于实际工作中的一般应用不必再去查找其他资料。
2. 根据作者在长期的实际开发中的经验,通过专门编写的通用、模块化实例来介绍C51语言,使读者尽快了解其语法语义,并在实际工作中只需要对本书中的实例稍加修改,就能够在实际工作中使用。
3. 通过实例对μVision2开发环境和仿真环境进行介绍,使读者逐渐了解嵌入式系统软件开发的流程。
通过上述三点的综合,使读者了解完整的嵌入式系统的C语言开发,并对硬件有一定的了解。本书突破了传统的将单片机的软硬件的学习截然割裂的做法,相信对读者会有所帮助。
总之,对于C51编程的人员来说,本书将是不可多得的助手,而对于需要进行其他类型的嵌入式C语言开发人员来说,本书亦极具参考价值,是一本很好的参考书。
目录
1.1 8位单片机在嵌入式系统中的应用 1
1.2 C语言在嵌入式系统开发中的应用 1
1.2.1 C语言与汇编语言的优势对比 2
1.2.2 C51与ANSI-C的主要区别 3
1.2.3 编写高效的C51程序及优化程序 3
第2章 Windows集成开发环境μVision2 6
2.1 启动μVision2 6
2.2 创建程序 7
2.2.1 创建项目 8
2.2.2 项目目标和文件组 13
2.2.3 在Project Window中查看文件和组的属性 14
2.2.4 Target对话框简介 14
2.2.5 地址复用技术 -- Code banking 14
2.2.6 μVision2功能 15
2.2.7 代码优化 21
2.2.8 一些技巧 24
2.3 CPU仿真 26
2.3.1 μVision2调试器 26
2.3.2 调试命令 35
前言
C语言已成为当前举世公认的高效简洁而又贴近硬件的编程语言之一。将C语言向单片机 8051上的移植,始于20世纪80年代的中后期,经过十几年的努力,C语言终于成为专业化的单片机上的实用高级语言。过去长时间困扰人们的"C语言产生代码太长、运行速度太慢,不适合单片机使用"的致命缺点已经基本被克服。而且,由于开发速度、软件质量、结构化、可维护性方面的原因,使C语言渐渐有取代汇编的趋势。所以,不管对于新进入这一领域的开发者来说还是对于有多年单片机开发经验的人来说,学习C51已经成为一个比较紧迫的任务。本书就是在这样的背景下写成的。
本书主要特色在于介绍C51的过程中清晰地说明了单片机的所有功能,并对每项功能给出了实例代码;同时详细介绍了单片机的C51开发与仿真环境的使用,透彻分析了C51的语义语法及高级的连接定位功能,以及开发过程中可能存在的问题和难点,并进一步介绍了C51综合实例的开发。通过对这些编程案例和技巧的学习,可以让读者清楚地感受到作者的开发意图,并且能将这些经验同读者自己的开发实践结合起来。
本书的另一个特点在于突破了传统的软硬件截然割裂的方法;使读者对嵌入式系统的开发有一个整体的了解,并且在进行连接定位等与硬件关系紧密的操作时不至于晕头转向。相信本书的这个特点会节省读者进入嵌入式C领域的时间,同时能更清楚认识应用系统开发的过程,深入理解C51的编译机制。
2.本书的结构和内容
本书是一本专门讲解 C51编程的书,并以"由浅入深"、"相互贯穿"、"重点突出"、"文字叙述与典型代码实例相结合"为原则,向每一位单片机、嵌入式爱好者和开发者全面介绍C51程序编写、函数和类库支持、连接定位以及在实际系统中的具体运用。
本书全书总共分为9章,首先介绍了C51的应用,然后介绍开发、仿真系统 Vision2,接着介绍C语言的语义语法,以及在具体的一款典型引单片机上的应用,随后介绍编译连接及库函数的知识,最后介绍了几个实际应用的综合实例。
本书各章的内容具体是这样安排的:
"第1章引言",本章主要介绍了C51在嵌入式领域的应用,并对C51语言"和汇编语言作了深入的比较。
"第2章 Windows集成开发环境u Vision2",本章主要介绍了开发和软件仿真环境KEIL公司的 uVision2(一般习惯上被称作 KEIL51)的使用方法,包括项目的创建、参数的设置以及不同参数设置以后在实际系统中的表现等。本章的另一个重点是介绍了 uVsion2的强大的软件仿真功能的使用,软件仿真函数的编写。可以说,程序在开发过程中如果通过了仿真的测试,开发任务的绝大部分就完成了,而软件仿真与硬件仿真相比,山于其简单性和方便性一直为人们所重视。所以本章的仿真部分对开发来说是相当重要的内容。
"第3章C语言基础",本章介绍了C语言的基本语义语法,并编写了很多通过串回作输入/输出的实例。本章实例中包含有若于排序及数据结构的算法,读者在实际工作中可以直接使用。
"第4章使用C语言对AT89C51编程",本章通过一款比较流行的单片机的C语言开发来帮助读者学习与硬件紧密相关的操作。当然,本章对 AT89C51这一款芯片做了简单而明了的介绍。
"第5章预处理器",本章主要讨论了宏定义等内容。
"第6章 C51编译器",本章介绍了C51编译过程中的控制指令,以及KEIL公司的C51编译器支持的特殊的扩展关键宇的含义及其使用方法。另外,本章介绍了C51的一些稍加修改即可使用的启动配置及其修改方法。最后介绍了一些常用的库函数。
"第7章目标文件的连接定位与转换",本章介绍了对最终烧录到单片机上的程序来说相当重要的定位连接的工作。这一步做的好坏会对程序的占用空间及执行效率有一定的影响。
"第8章硬件仿真",本章介绍了利用其他公司提供的硬件仿真器在系统现场仿真的步骤及方法,这一步对于单片机不是很熟练的开发者来说,是在程序烧录到ROM之前要做的一步重要工作。
"第9章 C51的编程技巧与实例",本章介绍了若干个比较复杂的项目实例。这些实例都比较典型,并且有代表性,稍加修改就可以应用到实际的项目中。
本书为立志掌握 C51编程技术的人提供了一条有效的捷径,对于不同层次的嵌入式 C语言编程人员来说,本书都极具参考价值,是一本不可多得的参考书。
另外,本书涉及到的源代码,读者可以到http://WWW.cs-book.com页面上相应的位置下载。
山于本书所涉及的内容比较广泛,对C51的介绍也比较深入,以及作者水平所限,尽管对本书中所涉及的内容一再推敲和仔细调试,仍有可能出现错误和纸漏,希望广大读者批评指正。