光电工程师社区

标题: 好书推荐---如何使用KEIL 8051 C编译器 [打印本页]

作者: suncon    时间: 2003-5-26 07:59
标题: 好书推荐---如何使用KEIL 8051 C编译器


书名:如何使用KEIL 8051 C编译器
金炯泰(韩国) 编著 金奎焕 等译
ISBN 7-81077-239-2
开本:787×1092 1/16
字数: 422千字
定价:32.00元
2002年12月第1版
2002年12月第1次印刷
内容简介
   本书介绍了KEIL编译器V6.1和V5.5版本的安装和使用技术。详细地讲解了KEIL C编译器的Windows集成开发环境μVision2和软件仿真器dScope V6.1和V5.5的强大功能和具体使用方法。较详细地介绍了单片机实时多任务操作系统RTX51及其子集RTX51 Tiny的具体功能和应用方法。本书还介绍了在应用程序的开发中使用的具体技术,如在KEIL编译器上生成库函数的方法、代码组、内汇编、监控程序以及8032内核的E5 CSoC系列的开发系统程序Triscend FastChip 2.1.2的具体应用方法和应用实例等。最后,在附录中还介绍了KEIL C编译器的库函数。
  本书具有很强的实用性,可作为单片机应用系统的开发研制人员的参考书和工具书,也可供高等院校有关专业的教师和学生参考。
前  言
译者序
  奉献给读者的《如何使用KEIL 8051 C编译器》这本书是根据韩国作者金炯泰所著的《How to use KEIL 8051 C Compiler》翻译的。
  目前,MCS51及其众多的派生系列已成为单片机市场的主流产品,尤其是Cygnal推出的C8051F更加引人注目。德国KEIL公司的C语言编译器、调试器、实时操作系统以及集成开发环境全面支持这些产品,而且功能强大,越来越得到广泛应用。近年来其版本不断升级,已经推出了V6.1版本。
  本书是德国KEIL公司的编译器V6.1和V5.5版本的说明书和使用指南。本书的原文版是以KEIL C编译器的英文原稿说明书为基础编写的。本书具有图例丰富、通俗易懂、实用性强等特点,并附有大量的应用实例。对单片机应用系统的开发人员来说,是一本难得的参考书和工具书,对KEIL C编译器的初次使用者也是一本能够快速上路的好教材。
  本书由金奎焕、李允俊、任正权翻译,全书统一由金奎焕审校。
  本书在出版过程中得到了北京航空航天大学出版社的热情支持和帮助,谨在此表示衷心感谢!
  由于译者水平有限,加上时间仓促,译文中定有不当或错误之处,务望读者给予批评和指正。
  译者 2002年9月8日

前言
  随着单片机硬件性能的提高,单片机的程序设计语言从汇编语言过渡到高级语言C已成为时代的潮流。为了使工程开发人员更快、更容易地跟上时代的潮流,作者编写了这本书。本书是以KEIL C编译器的英文原稿说明书为基础写成的。
  全世界特别是亚洲市场,正处于由低价的大批量生产产业转变到多品种、小批量生产的高附加值产业的过渡时期,这就要求缩短开发周期,缩短程序调试时间。因此,在单片机应用系统的开发中,使用高级语言C进行程序设计已成为软件开发的主流。
  使用高级语言C进行软件开发,存在着生成的代码效率不如汇编语言高的缺点。但是,随着低价的大容量存储器和高性能单片机的发展,这已经不是主要问题。现在的问题是,谁能更快、更好地进行开发?另外,使用汇编语言难以用文档进行管理,也无法对代码加以保密。但是,如果使用C编译器,则使用项目和库综合处理,可以生成不可读的代码,并且在维护方面也更加方便。
  在使用高级语言C时,不同型号的微处理器生成不同的机器语言代码,其代码大小、处理速度和实现算法的效率也不同。因此,提供编译器的各个公司都设置了进行多种选择的Option,使开发者能够根据自己开发的系统环境进行选择设定。这样,工具的开发环境变得复杂了。德国的KEIL编译器设置了Option,使得能够选择使用汇编语言、C语言(或者汇编语言与C语言混合使用)、RTOS、强化的调试功能等,并且各种各样的8051的环境设定更加容易。
  《如何使用KEIL 8051 C编译器》这本书在更快、更正确地熟悉和掌握集成开发环境和实用方面能够起到向导作用。本书介绍的德国KEIL(www.keil.com公司的μVision,是在世界上占有巨大市场的8051 MPU的编译器。该编译器在编译器领域中有80%左右的市场占有率,是极其大众化的软件。只要很好地熟悉和掌握编译器的集成开发环境,对单片机的开发会有很大的帮助。尤其是可以让多个开发者共同开发一个应用程序,这样,就会开发出更加优化的程序代码。
  目前,虽然有50多个芯片公司拿到版权生产8051内核芯片,但是,只用8051内核不足以形成价格和技术的竞争力;因此,各个公司都附加一些功能进行销售,比如USB接口、内藏AD/DA转换器、片内Flash存储器、追加FPGA和片上系统SoC(System on Chip)、高速等功能。
  如果读者通过学习本书能够更好、更快地熟悉和掌握KEIL编译器的使用方法,开发出世界领先的优秀算法或优秀的单片机应用系统,那么作者将会感到莫大的欣慰。
  中国延边大学金奎焕教授等在百忙中把《How to use KEIL 8051 C Compiler》的韩文版翻译成中文版《如何使用KEIL 8051 C编译器》,在此表示衷心的感谢。中国北京航空航天大学出版社为出版本书给予了热情支持和大力帮助,在此表示真诚的感谢。 最后,如果有与本书有关的技术事宜,请联系本书的韩国作者金炯泰(Kim Hyoungtae),E?mail地址为:firmwareclub@hotmail.com,或者联系本书译者金奎焕先生,Email地址为:vjkhjin@mail.jl.cn。

  谢谢!

    金炯泰 2002年7月

导论
  为了利用8051 8位微处理器开发固件(Firmware),应了解电子器件和与处理器有关的硬件设计、可靠性实验等许多部分,并应具备可同时开发的外围环境。其中,编译器是诸多要素中的一个,它是把用C语言等高级语言编写的源程序转换成机器语言代码的软件。
  就在几年前,存储器的价格偏高,把用高级语言编写的源程序转换成宏汇编语言程序的编译软件价格高也难以买到,并且其算法和功能可以用汇编语言来实现。但现在算法越来越复杂,功能越来越多,随着微处理器的速度和性能的提高,仅用汇编语言编写程序已难以胜任。
  编译环境是一个不需要太多技术的工具使用法,作为软、硬件开发人员有必要正确地掌握。本书是作者根据多年从事8051和编译器教育的经验,把讲课和交流过程中编程人员较难理解的部分和需要重点掌握的部分整理成的讲义笔记。本书能使编程人员正确地掌握工具,尽早熟悉工具的使用方法。有些开发人员接到开发项目,还没有全部读完微型机的数据表的情况下就开始编写代码,或者还没有画程序流程图就编写算法程序,或者一次也没有使用编译环境的选项,项目就结束了。在进行开发项目时,重要的是编译器环境的图标、编译器按钮和HEX代码的产生。只有熟悉全部内容及熟练使用工具时,才能实现高质量的代码。
  由于本书没有涉及8051内部细节和ANSI C语言的概念和基础,所以对想学习8051内核或C语言的读者不太适合,请见谅。

  下面是本书有关的几点说明:
  本书对有些外来语直接采用英文,而对有些外来语用中文和英文(括号),后面再使用时只使用中文。

例: dScope、特殊功能寄存器SFR(Special Function Register)。
  本书在表示十六进制数时,前面使用0X或者后面贴H,在表示二进制数时,按4位分开表示。

例: 0x16 = 0X16 = 16h = 16H = 16(16) = 0001 0110 = 10110(2)
  本书使用相关知识,对那些工程技术人员必须掌握的基本术语和基本技术知识作了简要说明。

例: 相关知识:EPROM,EEPROM
  一般ROM在写一次后不能再重写,……

目  录

第1章 KEIL编译器简介1

第2章 KEIL编译器的安装4

第3章 快速入门8

第4章 软件仿真器dScope20
4.1 dScope V6.120
4.2 dScope V5.528

第5章 μVision2的菜单32
5.1 文件32
5.2 编辑34
5.3 视图35
5.4 项目39

第6章 目标应用程序52
6.1 在KEIL编译器上生成库函数53
6.2 代码组58
6.3 内汇编63
6.4 监控程序70
6.5 RTOS77
6.5.1 RTX5177
6.5.2 必要条件和定义84
6.5.3 RTX51 Tiny应用程序编程87

6.5.4 系统调试89
6.5.5 应用程序实例94
6.6 Triscend接口112
6.6.1 概要112
6.6.2 快速入门119
6.6.3 开发应用程序133
6.6.4 下载138
6.6.5 FastChip环境143

第7章 附录149
7.1 8051的相关网站149
7.2 参考文献152
7.3 V5.5 快速入门152
7.3.1 绪论152
7.3.2 8051概要153
7.3.3 KEIL编译器评估版的安装155
7.3.4 编译器的使用158
7.3.5 目标硬件系统接口163
7.4 KEIL函数196




作者: suncon    时间: 2003-5-26 07:59
标题: 好书推荐---如何使用KEIL 8051 C编译器
单片机程序设计基础

书名:单片机程序设计基础
周航慈 饶运涛 编著
1997年4月第1版   定价:23.50元


内容简介
  本书是《单片机应用程序设计技术》一书的姐妹篇,《单片机应用程序设计技术》以程序设计的经验和技巧为主,而本书则以程序设计的基本算法为主目的在于全面提高单片机程序设计者的软件素质。
  本书的基本内容有:单片机中常用的线性数据结构和相关算法;排序和查找算法;树和图在单片机中的实现;常用的数据处理算法;常用编码方法等。
  本书从单片机系统的实际硬件环境出发,用通俗易懂的语言代替枯燥难懂的理论说教,使读者在比较轻松的条件下将单片机程序设计基本算法学到手。为加强学习效果和啬实用价值,本书配有上机学习软盘,在软盘中还提供了最新修订的子程序库,供读者选购。
  本书可作为电子技术人员自学单片机程序设计基本算法的教材,也可供高等院校电子技术类专业本科生、专科生作为教学参考书。
前  言



目  录
第一章 单版机中常用的线性数据结构
§1.1 数据结构的基本概念
1.1.1 逻辑结构
1.1.2 存储结构
1.1.3 算法
§1.2 简单变量
1.2.1 系统变量
1.2.2 临时变量
1.2.3 计数器
1.2.4 指针
§1.3 表格
1.3.1 固定表格
1.3.2 动态表格
1.3.3 线性表的插入算法
1.3.4 线性表的删除算法
§1.4 数组和数据块
1.4.1 一维数组
1.4.2 多维数组
1.4.3 数据块操作
§1.5 数据缓冲区
1.5.1 输入缓冲区
1.5.2 输出缓冲区
§1.6 队列
1.6.1 队列的基本概念
1.6.2 队列的存储结构
1.6.3 入队的算法
1.6.4 出队的算法
1.6.5 队列的应用实例
§1.7 用户堆栈
1.7.1 用户堆栈的基本概念
1.7.2 用户堆栈的存储结构
1.7.3 入栈的算法
1.7.4 出栈的算法
第二章 线性表的排序算法
§2.1 插入排序
§2.2 选择排序
§2.3 冒泡排序
§2.4 归并排序
§2.5 快速排序
§2.6 排序方法比较
第三章 线性表的查找算法
§3.1 顺序找查
§3.2 折半查找
§3.3 分块查找
§3.4 串的匹配
§3.5 查找算法应用实例
第四章 几种常用特殊算法
§4.1 递归算法
4.1.1 递归算法的特点
4.1.2 递归算法举例
§4.2 递推算法
4.2.1 递推算法的适用性
4.2.2 递推算法举例
§4.3 回溯算法
4.3.1 回溯算法的特点
4.3.2 回溯算法举例
第五章 树及其在单片机中的算法实现
§5.1 树的基本概念
5.1.1 树的定义
5.1.2 树的基本概念
§5.2 二叉树
5.2.1 二叉树的定义及其性质
5.2.2 完全二叉树及其特点
5.2.3 二叉树的顺序存储
5.2.4 二叉树按编号的遍历算法
5.2.5 二叉树的前根遍历算法
5.2.6 二叉树的中根遍历算法
5.2.7 二叉树的根遍历算法
§5.3 普通树
5.3.1 普通树的存储方法
5.3.2 普通树的前根遍历算法
5.3.3 普通树的后根遍历算法
第六章 图及其在单片机中的算法实现
§6.1 图的基本概念
6.1.1 图的定义
6.1.2 图的基本概念
§6.2 图的存储结构
6.2.1 邻接矩阵
6.2.2 邻接表
§6.3 图的遍历算法
6.3.1 图的深度优先搜索遍历算法
6.3.2 图的广度优先搜索遍历算法
§6.4 图的生成树和畅通短路径问题
6.4.1 图的生成树
6.4.2 图的最短路径问题
§6.5 网络的最小生成树和最短路径问题
6.5.1 网络的最小生成树
6.5.2 网络的最短路径问题
第七章 常暖和线性方程组求解算法
§7.1 引言
§7.2 主元消去法
7.2.1 无回代过程的主元消去法
7.2.2 有回代过程的主元消去法
§7.3 三元线性方程组的行列式法
7.3.1 行列式法概述
7.3.2 三元线性方程组的行列式法
第八章 常用插值算法
§8.1 引言
§8.2 线性插值算法
§8.3 抛物线插值勤算法
8.3.1 算法概述
8.3.2 逐次线性插值算法
§8.4 插值算法应用实例
8.4.1 线性插值算法应用实例
8.4.2 抛物线拟合算法应用实例
第九章 常用数理统计分析
§9.1 引言
§9.2 均值和标准离差的佑算
9.2.1 计算X(估算均值μ)
9.2.2 计算S(估算标准离差σ)
§9.3 用数理统计方法消除粗大误差
第十章 编码方法简介
§10.1 信息源及编码
10.1.1 顺序编码
10.1.2 特征编码
10.1.3 哈夫曼编码(变长码)
§10.2 检错码
10.2.1 检错原理
10.2.2 奇偶校验
10.2.3 和校验
10.2.4 循环冗余校验(CRC)
§10.3 纠错码
10.3.1 纠错原理
10.3.2 汉明码
10.3.3 检二纠一码
10.3.4 矩形码
§10.4 随机数发生器
10.4.1 交互式随机数发生器
10.4.2 用线性移位寄存器构成随机数发生器
10.4.3 软件随机数发生器
第十一章 算法设计示例
§11.1 老鼠过迷宫
11.1.1 数学模型分析
11.1.2 算法设计
11.1.3 数据结构设计
11.1.4 程序设计
§11.2 仪器系数自动标定
11.2.1 数学模型分析
11.2.2 算法设计
11.2.3 数据结构设计
11.2.4 程序设计
附录A 浮点数据处理的基本原理
附录B 本书所附程序软盘说明
参考文献




作者: suncon    时间: 2003-5-26 08:01
标题: 好书推荐---如何使用KEIL 8051 C编译器
单片机应用程序设计技术(修订版)

书名:单片机应用程序设计技术(修订版)
周航慈 编著
ISBN 7-81077-239-2
开本:787×1092 1/16
字数: 448千字
定价:26.00元
2003年1月第1版
2003年1月第1次印刷



内容简介
   本书是单片机应用技术丛书中专门介绍单片机应用系统软件设计的一本著作。
书中总结了作者多年来在80C51系列单片机应用系统软件设计中的实践经验,归纳出一整套应用程序设计的方法和技巧。在内容安排上,不仅有实现功能要求的应用程序设计步骤、子程序、监控程序及常用功能模块设计方法,还以较大篇幅介绍了提高系统可靠性的抗干扰设计和容错设计技术以及程序测试的正确思想方法。附录中向读者提供了完整的系统程序设计样本和经过多年使用考验的定点运算子程序库与浮点运算子程序库的程序文本、注释及使用方法。
  本书深入浅出,并配以大量实例,可作为从事单片机应用系统研究的工程技术人员的软件设计指导用书。
前  言
修订版序

  《单片机应用程序设计技术》一书出版至今已十年有余。而今,无论是单片机技术本身,还是单片机应用队伍都发生了很大变化。现代电子系统已从单片机扩展到嵌入式应用系统,原来的8位单片机占据了嵌入式系统的低端应用领域&#59;大量的计算机专业人员进入嵌入式系统领域&#59;嵌入式系统应用对象也从以工业控制领域为主转向信息控制、网络、通信、多媒体和数字化管理的多样化应用。
  作为早期以非计算机专业队伍身份进入单片机应用领域的技术人员,以其原有的电子技术基础,很快地掌握了单片机硬件系统设计技术,相比之下,应用程序设计成为难点。长期以来,这支队伍中的大多数人都是釆用基于指令系统的随意性应用程序设计方法,从机器码到汇编语言。长时间随意性的汇编语言程序设计,导致移植和交流困难,形成长时间的低水平重复,成为提高单片机应用技术水平的极大障碍。 随着C语言的普及和嵌入式操作系统的推广,嵌入式系统低端应用中,不少人转向基于C语言的高级语言程序设计,在一些任务量大的系统程序设计中则引入了嵌入式操作系统。这些新技术都是单片机应用系统开发人员必须了解和掌握的。然而,即使使用高级语言编程,有时为了某些需要(如快速、精确定时和精细管理等),也要求插入汇编语言子程序。因此,对于一个优秀的单片机应用开发技术人员来说,汇编语言程序设计是程序设计的基础。
  当今,传统的电子系统已全面转变成以嵌入式系统为核心的现代电子系统。在嵌入式系统低端应用中,存在着大量的小型嵌入式应用系统;这些系统由于资源和控制要求的限制,釆用汇编语言设计程序会成为系统程序设计的一种主要方法。
  在以汇编语言为基础的系统程序设计中,规范化设计至关重要。应当摒弃那种基于指令系统的随意性方法,遵循汇编程序编写格式、规范和计算机软件的工程方法。在系统程序设计中,也要从单纯的功能性设计转变到功能性、可靠性、功耗管理和产品应用优化等综合性设计,充分发挥软件在提高系统综合品质上的效益。《单片机应用程序设计技术》一书就是在这种背景下出版的,对于提高我国单片机应用水平做出了贡献,至今仍有不少读者。为了回应读者要求,並顺应单片机技术的发展,作者在原有基础上进行了修订,但仍保持了原书的严谨风格;在内容上涉及了应用程序设计的各个方面,特别是系统的可靠性设计,从抗干扰、容错到程序测试都提供了完整的范例。这些原理、思路和设计方法都是汇编程序设计的基础,会有很长的时效性。
  本书中的所存范例都是基于80C51系列单片机的。所幸的是80C51系列单片机结构经典,一直长盛不衰,用者甚众。近年来又有许多衍生的80C51系列单片机,如Cygnal公司的C8051F、AD公司的ADμC8xx和TI公司的MSC1210系列都是当今十分优秀的8位单片机系列,会有众多的用户。这些单片机系列像所有80C51系列单片机一样,具有完全相同的指令系统,因此,当今本书的修订具有重要的现实意义。

  2002年9月于北京

第一版序

  本书是单片机应用技术丛书中与读者见面的第一本书,是我国单片微机应用发展阶段上水到渠成的结果。
  在我国,单片机的应用开发已走过了六个年头,由于微电子技术、计算机技术和半导体器件工业的现状,决定了我们在单片机应用系统的开发、研制方面走着一条与外国不尽相同的道路。在此期间,在各个应用领域中涌现了不少专家,这些专家原来都是各个应用领域中的工程技术人员,他们巧妙地将单片机引入到自己熟悉的工程技术领域,并且解决了许多计算机专业人员难以解决的外围工程配套技术,使我国单片机应用提高到了一个新的技术水平,其标志是:

  1. 单片机开始成为广大非计算机专业工程技术人员在电子技术应用中的常规性工具,并形成了一批技术开发队伍。
  2. 8位单片机(包括外围8位的准16位单片机)应用系统结构日趋成熟。应用技术的重点与难点逐渐转向外围接口,转向以提高系统整体可靠性的软硬件的抗干扰设计、容错设计以及冗余技术设计等。
  3. 廉价的普及型开发装置其数量与质量有了较大幅度提高,为大面积推广单片机的应用创造了良好的条件。
  4. 群众性学术团体有了很大的发展,除全国单片机学会外,大部分省、直辖市均已成立相应的单片机学会,每年在各级学术会议、期刊杂志上发表的论文有300余篇。
  5. 单片机的技术教育已开始反映到高等工科院校的计算机应用教学中,在电子技术、自动控制、仪器仪表和机电一体化等专业的毕业设计(论文)中,单片机应用系统占有相当大的比重。早期从事Z80单片机应用系统研究的人们正在或已经开始转向单片机应用系统。

  但是从全国范围来说,单片机技术教育及应用的发展是极不平衡的,不少单位刚刚起步,不少人认识到了单片机技术的巨大潜力但不知从何入手。这些人的首要任务除了学习和掌握单片机的基本结构、原理及接口技术外,最重要的是要了解我国单片机应用开发的现状和单片机的典型应用技术,以便有一个较高的起点,防止盲目的低水平重复。即便对于多年从事单片机应用的人员也要求不断跟踪先进技术,总结交流经验,提高应用水平。为此我们组织了单片机应用技术丛?quot&#59;的编辑出版工作,其指导思想是:

  1. 编辑的目的:为了反映我国在单片机应用技术方面的成果,并自觉地总结经验,将其上升到理性认识的高度来指导今后的研究、开发工作;使新入门者有较高起点,已入门者有较系统的理论、经验指导;使专家们有机会系统地总结自己的研究成果,提高自己的研究水平。
  2. 作者队伍:参加写作的同志都长期从事单片机应用系统研究,具有丰富实践经验和较好的理论基础。他们热心于单片机应用技术推广工作,毫无保留地向读者奉献自己的技术成果并愿意为广大读者提供咨询服务。
  3. 选材:重点是我国现阶段在单片机应用开发中普遍关注的技术问题。内容力求系统、实用和新颖,不脱离我国单片机应用的现实环境。 单片机应用技术丛书组织编写的书目预计有:《单片机应用程序设计技术》,《单片机最小功耗系统设计技术》,《单片单板机的软、硬件设计技术》,《计算机应用系统中的传感器接口技术》,《计算机应用系统中的功率通道接口技术》,《计算机应用系统中的语音接口设计》,《单片机应用系统中的CRT接口设计》,《单片机的分布式网络与多机系统》,《计算机应用系统中的干扰与抗干扰设计》和《单片机应用系统中的电源品质分析与电源系统设计》等。 单片机应用技术丛书是在北京航空航天大学出版社和中国微机学会单片机公共实验室联合组织下,由北京航空航天大学出版社实施出版的。作者队伍的顺利组成则得益于全国单片机学会及Intel用户协会常年组织的各种单片机学术活动,这些活动团结了全国各界的单片机技术专家队伍。大量的学术论文、资料、出版物和技术信息有助于本丛书内容的充实与提高。

  北京航空航天大学出版社在单片机应用技术类书籍出版方面在全国享有较高的地位,为本丛书的出版创造了极为有利的条件。
  作者的无私奉献、积极和热忱,可望本丛书能获得满意的质量。
  在此衷心地感谢关心、支持和帮助本丛书编辑出版的各界人士、作者、读者以及中国微机学会、全国单片机学会和北京电子学会的有关人士。
  《单片机应用程序设计技术》一书是首次系统地总结我国单片机应用系统汇编语言程序设计经验,并上升到一定理论高度的著作,对打破目前单片机软件技术落后的局面会起到重要的作用。
  单片机应用系统中应用程序是半壁河山,是应用系统能否可靠运行的重要技术内容,同时也是研制者不可回避而又比较陌生的领域。在计算机应用中,软件技术开发往往由计算机软件专业人员承担;但在单片机应用系统中,由于软件功能要求与工业测控对象紧密相关,实现工业测控要求的应用程序设计不可避免地落在各个工程技术领域非计算机专业的技术人员的身上。目前单片机应用程序设计的现状是:

   1. 对应用程序的作用认识不足,设计水平不高;对应用程序设计方法、规律及特点比较陌生。
  2. 应用程序设计处于满足系统功能实现的初级阶段,偶尔不自觉地加入抗干扰设计和容错设计。
  3. 没有较规范的设计方法作指导。例如在智能仪表软件设计中,基本上是以汇编指令系统为基础,以键盘管理为核心的随意性逻辑设计方法。

  因此,现阶段提高应用程序设计技术是单片机应用系统研制中的一个重要课题。
  由于单片机面对测控对象的应用环境不同,普及型开发装置大面积的推广以及应用程序规模不大等因素,因此,在未来较长的一段时间内将仍然以汇编语言为主,要认真研究应用程序设计的任务与内容、规范化的设计方法以及灵活多变的设计技巧。
  在确定应用程序设计的任务与内容时,必须摒弃以功能实现为全部内容的思想,牢固树立功能实现不过是应用程序设计的起点的观念。一个在实际工程环境中使用的完善的应用程序必须具有较强的抗干扰能力及容错能力,因此,抗干扰设计、容错设计和功能设计是应用程序设计三位一体、缺一不可的重要内容。
  在应用程序设计中要逐步摒弃满足于熟悉指令系统,按照自己熟悉的思维逻辑的随意性设计方法。在一些典型的应用系统,如智能仪表中,已开始形成一些监控程序设计方法,如状态分析法、图解设计法等。规范的设计方法能使应用程序有条不紊,可读性好并且易移植增删,也便于二次开发;在较大数量的产品开发中能显著地提高效率。
  设计技巧上的灵活、多变以及多形态在很大程度上取决于设计者的经验、逻辑思维能力和对指令系统隐含功能的了解与发掘。应用程序的抗干扰、容错设计也要求有较高的程序设计技巧。
  本书作者周航慈老师长期从事单片机应用程序设计工作,在MCS51汇编语言程序中积累了丰富的经验。经他设计的应用程序,无论是智能仪表、控制系统应用程序还是实用子程序库,在实际使用中都具有较高的可靠性。这在于他已形成了一整套较完善的应用程序设计方法。从本书的内容可看出他已将抗干扰设计、容错设计看做应用程序设计中相当重要的内容,并且在应用程序测试上形成了自己的风格。诚然,他的专业数学基础也有助于实现上述目的。
  《单片机应用程序设计技术》是第一次系统地总结单片机汇编程序设计规律,希望以此为起点,得到广大读者的批评与帮助。

  主编何立民1991年5月于北京

修订版前言
  本书第一版于1991年出版,出版后得到广大读者的好评和支持;但由于出版至今已超过十年,书中的某些内容已经明显过时,需要进行修改,并补充一些新的内容。
  本书第一版中的80C31+373+2764三片基本系统已经过时,现改为片内含程序存储器的80C51系列单片机;用计数器芯片来构成的硬件看门狗系统也已经过时,现改为采用专用系统监视芯片或内含硬件看门狗的增强型单片机;对于比较复杂的实时系统,删去原来介绍的费力不讨好编程方法,推荐采用实时多任务操作系统;在程序编写格式上,对直接地址单元进行操作的编程格式已经非常不实用,不利于移植和重复利用,现全部改为变量和宏定义格式,使软件素质得到质的提高。
  这十年来,我国的单片机应用技术已经得到了很大发展,现在已经正名为嵌入式系统应用技术。笔者在科研和教学中,也积累了一些新的心得,现在得以利用再版的机会与读者进行交流。
  在第一章里,新增加了编程语言与开发环境的选择一节,介绍和比较了当今流行的编程语言与开发环境,供读者参考。
  在第三章里,新增加了菜单驱动的监控程序设计方法一节,这是一种人机界面最友好的监控程序结构,特别适用于高档应用系统,可供读者参考。
  在点阵液晶的性能价格比日益提高和应用日益广泛的情况下,在第四章里新增加了点阵液晶图文混合显示中的软件技术一节,系统地介绍了图文混合显示的编程方法,特别是其中的排版技术很有实用价值。
  在第六章里,新增加了互斥型输出的硬件容错设计一节,介绍了在工业过程控制中的一个麻烦问题的解决方案,供读者参考。
  笔者在教学中发现,学生学习功能模块程序设计比较容易,因为需要解决的问题比较单纯;而学习监控程序设计比较费力,因为需要解决系统整体协调问题,往往不知从何下手。即使是一个很简单的系统,要完成系统程序设计,并将程序代码烧录到芯片里,而且能够正常运行,也只有很少学生能够在规定的时间内独立完成任务。这种教完知识就让学生独立完成系统设计的教学方法已经被证明效率很低。为了加快入门的步伐,笔者在附录A中提供了两个风格完全不同的完整的应用程序样本,作为字帖,供初学者临摹。一般临摹两三次后就可以脱手自行进行简单的系统软件设计了。这比让学生自己瞎折腾要好得多,能够使更多的学生在较短的时间内上路,提高毕业后的就业能力。
  本书第一版附录中的MCS51系列单片机实用子程序库曾经得到广大读者的好评,正版用户遍及全国各地;经过十年来的使用,笔者进行了进一步优化,现在作为附录B提供给读者的MCS51系列单片机实用子程序库是一个经过长期考验的优化的子程序库。
  本书修订版在写作过程中,得到了北京航空航天大学出版社的大力支持和帮助,尤其是得到出版社何立民教授和马广云博士的帮助,在此一并表示感谢!对于书中的错误和不足之处,望广大读者指正。

  周航慈2002年8月于江西抚州

第一版前言
  按照单片机应用技术丛书的规划和要求,笔者将从事单片机教学和科研中得到的经验教训进行了总结,并吸收各方面的有益知识,写成了这本关于单片机应用程序设计技术的书籍。在写这本书时,假定读者已经系统地掌握了单片机的原理,并能使用MCS51指令系统编写各类简单的程序。在此基础上,第一章介绍开发一个应用项目的基本过程。第二章介绍程序设计的基本功。第三章介绍系统软件的骨架如何搭建。第四章介绍常用模块的设计技巧。这四章要达到的目标就是帮助读者设计出一个完整的软件系统,但这样设计出来的软件系统还只能算是纸上谈兵,经不起实践考验,离实际目标还差很远。第五章介绍抗干扰技术,以增强系统软件在实际环境中的生存能力。第六章介绍容错技术,以提高系统软件的先天素质。第七章介绍软件测试的有关方法,以此来发现和纠正软件系统中的绝大部分错误。后三章的内容有一个共同目标,就是使设计出来的软件能够从纸上走下来,并在实际应用中生存下去。因此,本书不但介绍一般的程序设计方法,而且以提高软件生存能力为重点,这对从事单片机开发应用的读者可能更有启发。
  由于笔者搞单片机应用只能算半路出家,现在要写一本程序设计的书,实属班门弄斧,书中错误观点和片面之词可能不少。望各位将读后的意见转告给笔者,使笔者能有所长进。另外,希望本书能起到抛砖引玉的作用,促使更多的这类书籍问世,加速我国单片机事业的发展。
  本书在写作过程中,得到了何为民同志的大力支持和帮助;邓道源同志对本书初稿进行了审阅,并提出了宝贵意见;高斌同志为本书的文字、图表处理做了不少工作。在此一并表示感谢!

  周航慈1991年4月于江西抚州

目  录

第一章 应用程序的设计步骤

1.1 设计任务书的编写1
1.2 硬件电路设计2
1.3 软件任务分析3
1.4 数据类型和数据结构的规划3
1.5 资源分配4
1.6 编程及调试5
1.7 编程语言与开发环境的选择5

第二章 程序流程图与子程序设计
2.1 程序流程图7
2.1.1 程序流程图的画法7
2.1.2 从程序流程图到程序10
2.2 子程序设计11
2.2.1 结构化的程序设计风格12
2.2.2 参数的使用14
2.2.3 算法的合理性和可靠性15
2.2.4 子程序的透明性设计15
2.2.5 子程序的相容性设计16
2.2.6 子程序的容错性设计17

第三章 系统监控程序设计
3.1 监控程序的任务18
3.2 监控程序的结构18
3.2.1 作业顺序调度型19
3.2.2 作业优先调度型19
3.2.3 键码分析作业调度型20
3.3 普通监控程序的设计方法22
3.3.1 系统状态分析23
3.3.2 状态转移分析24
3.3.3 状态顺序编码型监控程序的设计方法29
3.3.4 状态特征编码型监控程序的设计方法34
3.3.5 监控程序的四种设计风格39
3.4 菜单驱动的监控程序设计方法40
3.4.1 系统功能分析和菜单结构设计40
3.4.2 画面设计40
3.4.3 监控程序设计方法42

第四章 常用功能模块的设计
4.1 时钟44
4.1.1 时钟系统的建立44
4.1.2 时钟的校对48
4.1.3 定时任务的触发与撤除49
4.1.4 相对时钟(闹钟)52
4.2 键盘56
4.2.1 软件去抖动处理56
4.2.2 连击的处理56
4.2.3 复合键的处理60
4.2.4 键盘编码61
4.3 数码显示62
4.3.1 显示模块在系统软件中的安排62
4.3.2 显示配置与输出驱动63
4.3.3 灭零处理65
4.3.4 闪烁处理66
4.3.5 模拟串行显示67
4.4 点阵液晶图文混合显示中的软件技术67
4.4.1 图文混合显示的基本原理68
4.4.2 字符的显示69
4.4.3 图形的显示72
4.4.4 汉字的显示79
4.4.5 汉字的排版及其画面的输出82

第五章 抗干扰设计
5.1 干扰的作用机制及后果86
5.2 抗干扰的硬件措施87
5.2.1 抗串模干扰的措施87
5.2.2 抗共模干扰的措施89
5.3 数字信号输入/输出中的软件抗干扰措施90
5.3.1 数字信号的输入方法90
5.3.2 数字信号的输出方法91
5.4 数字滤波92
5.4.1 程序判断滤波93
5.4.2 中值滤波94
5.4.3 算术平均滤波94
5.4.4 去极值平均滤波95
5.4.5 加权平均滤波97
5.4.6 滑动平均滤波98
5.4.7 低通滤波99

5.5 CPU 抗干扰技术101
5.5.1 人工复位101
5.5.2 掉电保护102
5.5.3 睡眠抗干扰103
5.5.4 指令冗余104
5.5.5 软件陷阱105
5.5.6 看门狗系统107
5.6 系统的恢复109
5.6.1 系统复位109
5.6.2 热启动过程111
5.6.3 重要信息的恢复112
5.6.4 系统状态的重入114

第六章 容错设计
6.1 硬件故障的自诊断技术120
6.1.1 CPU的诊断120
6.1.2 程序存储器的诊断125
6.1.3 RAM的诊断126
6.1.4 A/D通道的诊断与校正127
6.1.5 D/A通道的诊断130
6.1.6 数字I/O通道的诊断131
6.1.7 硬件自诊断模块136
6.2 人机界面的容错设计137
6.2.1 输入提示功能的设计138
6.2.2 数据输入的容错设计139
6.2.3 命令输入的容错设计146
6.2.4 输入界面的安全性设计148
6.2.5 输出界面的容错设计152
6.3 软件的一般容错设计154
6.3.1 堆栈溢出的预防154
6.3.2 中断中的资源冲突及其预防156
6.3.3 状态转移的条件审查157
6.3.4 重要模块的安全措施158
6.3.5 运算软件的容错设计159
6.3.6 软件标志的使用166
6.3.7 子程序的使用168
6.4 互斥型输出的硬件容错设计170

第七章 程序测试
7.1 程序测试的心理准备173
7.1.1 程序测试的正确定义173
7.1.2 程序测试结果的正确评价174
7.1.3 培养正常的测试心理状态174
7.2 程序测试方法175
7.2.1 程序会审和口头宣讲176
7.2.2 白盒测试法177
7.2.3 黑盒测试法179
7.2.4 自顶向下测试法181
7.2.5 自底向上测试法182
7.3 程序纠错183
7.3.1 程序跟踪法183
7.3.2 分析推理法183
7.3.3 纠错原则184

附录
附录A 完整的应用程序样本185
附录B MCS51单片机实用子程序库206

作者: suncon    时间: 2003-5-26 08:02
标题: 好书推荐---如何使用KEIL 8051 C编译器
PHILIPS 51LPC系列单片机原理及应用设计

书名:PHILIPS51LPC系列单片机原理及应用设计
作者:周航慈 周立功 朱旻 饶运涛
ISBN 7-81077-062-4
开本:787×1092 1/16
字数: 317千字
定价:19.00元
2002年3月第2版
2001年5月第1次印刷



内容简介
   本书全面地介绍了PHILIPS公司最新推出的与80C51系列单片机兼容的、低功耗、小引脚、低价格的51LPC系列高速单片机的原理、基本功能部件的特点。围绕51LPC系列单片机的新特点,在大量产品开发实践的基础上,作者毫无保留、清楚明晰地公开了经过产品开发检验的系统化、规范化、标准化的51LPC系列单片机的应用软件技术平台,希望对我国的单片机应用开发人员有所启发。同时,本书还可以作为单片机高级培训班的参考用书。
前  言
   作为典型嵌入式系统的单片机,在我国大规模应用已有十余年历史。全国高校工科专业已普遍开设了单片机及其相关的课程,而且许多单片机类课程教材又是以80C51系列为基础来讲授单片机原理及其应用设计。MCS-51系列中的80C51成为许多半导体厂家、电气公司竞相选用的对象,并以此为基核,推出了许多兼容性的CHMOS单片机。我们知道,决定单片机的可靠性不仅仅是设计问题,更重要的是工艺问题。成千上万应用工程师使用单片机的结果表明,具备很强模拟电路设计和生产背景的公司所推出的单片机可信度高。PHILIPS公司本身是一个大电气商,不仅有强大的模拟电路设计和生产能力,而且该公司本身在自产的家用电器中就有大规模使用单片机的丰富经验。无疑PHILIPS公司是80C51系列单片机中的佼佼者!
  作为PHILIPS公司单片机专业代理商,我们在单片机应用方向上已有六年设计、使用、销售及技术支持的丰富经验,开办了一个在行业内有相当知名度的PHILIPS单片机技术支持专业网站。在销售上由广州总部对市场进行全面的整合;与此同时在南京、上海、杭州、北京、成都、深圳、沈阳成立了分公司,致力于人才本地化、销售本地化、服务本地化。为了更好地服务于客户,我们不仅聘请了一批知名的单片机应用专家,而且从全国各地挖掘到了一批特别聪明的、年轻的单片机应用设计专门人才;2001年还成立了单片机化电子产品应用研究中心,专门研究最贴近市场需要的新技术、新产品。我们先后开发成功且已投入大批量生产的、拥有自主品牌的、国内著名的铁将军汽车中控锁、汽车防盗报警器、摩托车防盗报警器、汽车倒车雷达、摩托车车速里程表、家用防盗报警器,还在继续研究和开发汽车、摩托车系列车用电子产品(电动单车控制器、智能电脑点火器、汽车电子及仪表盘)。几年来,我们的产品已成功地与多个品牌的摩托车、汽车配套出厂。我们开发的智能IC卡及射频IC卡水表模块已成功地给第三方进行了大批量的生产。
  在经营活动中,经常有很多用户问我,你们如何进行PHILIPS单片机的技术支持?、PHILIPS单片机会缺货吗?等等一系列问题。我们到底是怎样推广PHILIPS单片机的呢?我们往往在推广一种新的单片机之前,先让我们的合作伙伴万利电子(南京)有限公司设计好仿真器和编程器,设在南京的资料组将英文版翻译成中文版,然后由设在广州的FAE技术支持工程部将单片机新功能做出DEMO软件和相关的应用资料。与此同时,我们赞助的一些大学PHILIPS单片机应用实验室(华东地质学院电子系、江西冶金学院自动化系),也在进行紧张的验证和开发工作。最后由总公司内部的单片机化电子产品应用开发中心开始进入开发阶段,并将有关的技术难点写成规范化的文档。这时,我们的市场策划、推广部可以对外进行宣传推广工作了。对于一些新型单片机,我们会组织专家顾问小组策划、验证有关的性能指标,然后由专家组织写成专著出版。如果您在开发之中遇到难题,我们在广州的FAE工程部就会很快将做好的软、硬件资料交给您,就像我们的FAE在您的身边一样方便。
  去年,在80C51系列单片机大量缺货的情况下,很多人都将单价炒高5元以上。我们没有为短暂的利益所驱动,始终站在客户利益的角度上,即便货源十分紧张,但自始至终没有给客户涨价一分钱。作为一个单片机应用推广爱好者,我始终明白:客户就是老板!--我们做得不好,客户就会炒我们鱿鱼!我们只有将客户服务好,客户才有机会与不是我们的客户去竞争,我们才有机会去得到细水长流的更大利益。我们的成功完全是基于客户的成功,我们与客户之间完全是一个真正双赢的模式!六年来,我们始终坚持:集中资源,注重服务大量库存,低价进货,低价销售,领先同行。宁可做到一处强也不要处处强!要么不做,要做就做到最强。与此同时,我们还充分利用公司内部开发中心的技术力量,将单片机用到为客户和自己设计的最新产品上,以设计应用提高增值潜力为主带动单片机的销售,不仅可以赢得更高的利润,而且还可以弥补因器件销售带来的低利润所产生的负反馈,从而推动了公司高速发展。
  六年前,开始创业时何立民教授给我一个建议:初期要以推广新型单片机加技术支持为主,中期要以为客户开发产品提供增值潜力为主。2000年初,何立民教授又为我们提出了重点抓知识集成,加强产品的可靠性设计、开发自有产品创自有品牌,以为客户提供软、硬件技术平台为主推动PHILIPS单片机的销售,您只要使用我们销售的单片机,我们就给您提供一个软、硬件应用平台。本书的策划、写作在一定意义上充分地体现了这种思想,当然还不可能完全达到客户的意愿,如果您有任何意见和想法,请及时转达给我们,待我们再版时修订。还有,我十分高兴的是请到了国内著名的单片机应用设计专家和学者周航慈教授来主编这本书。作为一个知名的教授亲自动手将每一个功能进行验证,其严谨的治学精神、对读者高度负责的态度都值得我们每一位从事单片机应用的工程师终生学习。
  我曾经生活在湖南的一个小县城里,经过十几年的顽强自学和艰苦的实践,28岁时有幸作为劳动模范被国家保送到中国纺织大学学习了自动化和计算机应用2个专业。1994年11月10日,我用借来的2.15万元与友人合作创业,1999年1月公司经历重组之后迅速成长。回头来看,我的奋斗之路对于现在20岁左右的年轻人来说不无启发。一个人一生的机会就那么几次,在机会还未到来之时,您惟一可以做的事就是学习,提前作好充分的准备。对于今天想要以电子技术作为终生生活目标和事业奋斗的年轻人来说,从现在开始学习单片机应用技术将可能是您最好的选择。事实证明:我所走过的路就是一条充分体现知识价值的成功之路。在此,我诚恳地感谢恩师何立民教授,在15年前将我这个素不相识的无名小卒成功地引入到单片机这一具有远大前程的领域里来!还有我的叔叔周祖艳,在我5岁时开始教我学习组装矿石收音机,从此打开了我进入充满幻想的无线电技术之门;后来又教我学习整流电路、晶体管电路、开关电路等知识,并时常引导我阅读《无线电》、《中学科技》杂志,从而使我在初中阶段就立志成为电子工程师。少儿时代的梦想终于成为现实而且彻底地改变了我的一生,至今仍令我难以忘怀,我多么渴望拥有一番令人骄傲的才干,也希望能改变这世界的某一小部分!这20年来艰难困苦的求学和创业之路,使我深深地体会到成材之不易,因此,我十分尊重人才的个性和价值。面向未来的竞争和发展,我们更加注重寻找那些十分聪明的人才,寻找那些曾经很聪明但因体制所困还未聪明起来的人才,寻找那些现在还不够聪明却正在聪明起来的人才,寻找那些不够聪明却能够管理聪明人的人才。周立功的大门将永远向优秀人才开放,我时刻期盼着您的到来!
  周立功组织完成了第一章和第二章的英文资料翻译工作及附录的编写工作,饶运涛教授进行了资料的校对和整理,编写成本书的第一章和第二章;周航慈教授完成了51LPC系列单片机中模拟比较器、A/D部件、PWM部件和D/A部件的相关应用实验,并将实验心得编写成本书的第三章和第四章;朱旻老师完成了51LPC系列单片机中I??2?C部件和其它部件的相关应用实验,并将实验心得编写成本书第五章和第六章;参加本书编写的人员还有岳宪臣、钟伊峰。周航慈教授负责全书的编写安排和协调工作。
  在此,我很感谢助手、合作伙伴陈智红女士、岳宪臣先生,还有南京分公司李奇刚先生,北京分公司邵映春先生,上海分公司丁寿基教授,深圳分公司周庆峰、卜永东先生,成都分公司周社吉先生,广州专卖店邹繁荣先生。特别要提到的是万利电子有限公司刘强先生六年来的大力支持,如果没有他的热心帮助和真诚合作,我们的推广就没有这么顺利。
  在这本书的出版过程中,得到了PHILIPS公司亚太区微控制器部行销经理彭晓频女士、香港/中国市场及营业经理梅润平先生、助理客户经理李建业先生、香港/中国微控制器部刘俊杰先生、PHILIPS中国区应用工程师刘忠先生、严频小姐、杨俊先生的大力支持、关心和鼓励,在此一并表示感谢!

    周立功  2001年4月20日



目  录
第一章 51LPC系列单片机概述
1.1 主要性能和特点 1
1.2 芯片型号与引脚定义 2
1.3 内部结构框图 3

第二章 51LPC系列单片机硬件结构
2.1 增强型CPU 5
2.2振荡器 5
2.2.1 外接晶振片内振荡器 5
2.2.2 片内RC振荡器 6
2.2.3 外部时钟输入 7
2.2.4 时钟输出 7
2.2.5 系统配置字节UCFG1与特殊功能寄存器 7
2.2.6 振荡器的控制电路与CPU时钟调整 8
2.3 中断系统 9
2.3.1 中断源、中断向量和中断优先级 9
2.3.2 外部中断输入 10
2.3.3 与中断系统有关的特殊功能寄存器 10
2.3.4 键盘中断 12
2.4 I/O端口 13
2.4.1 准双向口 14
2.4.2 开漏输出配置 14
2.4.3上拉输出配置 15
2.4.4与I/O端口有关的特殊功能寄存器 16
2.5 定时器/计数器 17
2.5.1 特殊功能寄存器TMOD和TCON 17
2.5.2 定时器/计数器工作模式 18
2.5.3 定时器溢出触发输出 20
2.6 异步串行通讯(UART)接口 20
2.6.1 串行端口的控制寄存器 20
2.6.2 串行口4种工作模式 21
2.6.3 各种模式的波特率设置 27
2.6.4 地址自动识别 28
2.7 I2C串行总线接口 29
2.7.1 I2C总线概述 29
2.7.2 I2C中断 30
2.7.3 I2C控制寄存器 30
2.7.4 I2C配置寄存器 32
2.7.5 关于数据传输和I2C数据寄存器 34
2.7.6 I2C软件响应时间 34
2.8 模拟比较器 34
2.8.1 比较器的控制寄存器和比较器的设置 35
2.8.2 比较器的内部参考电压 36
2.8.3 比较器中断 36
2.8.4 比较器和省电模式 36
2.8.5比较器配置举例 37
2.9 A/D转换器与P87LPC767 37
2.9.1 P87LPC767芯片结构 37
2.9.2与A/D转换器有关的特殊功能寄存器 37
2.9.3 A/D模拟转换器的结构和工作过程 39
2.9.4 A/D时序 40
2.9.5在掉电模式和空闲模式下的A/D转换 41
2.9.6 A/D转换程序实例 41
2.10 脉冲宽度调制器与P87LPC768 43
2.10.1 P87LPC768芯片结构 43
2.10.2 脉冲宽度调制器与它的特殊功能寄存器 45
2.11 D/A转换器与P87LPC769 49
2.11.1 P87LPC769芯片的结构 49
2.11.2 与D/A转换有关的特殊功能寄存器 51
2.11.3 P87LPC769的D/A功能 51
2.12 看门狗 53
2.12.1 看门狗定时器 53
2.12.2 喂看门狗的顺序 53
2.12.3 看门狗控制寄存器 54
2.12.4 看门狗复位 54
2.13 电源监控 54
2.13.1 掉电检测 54
2.13.2上电检测 55
2.14 低功耗模式 55
2.14.1 电源控制寄存器 55
2.14.2 空闲模式 56
2.14.3 低功耗模式 56
2.14.4 低电压EPROM操作 56
2.15 与系统配置有关的EPROM 57
2.15.1 EPROM特性 57
2.15.2 32字节的用户代码空间 57
2.15.3 系统配置字节 57
2.15.4 保密位 57
2.15.5烧录单片机的注意事项 58
2.16 复位电路 60
2.17 附加功能 61
2.17.1 AUXR1寄存器 61
2.17.2 软件复位 61
2.17.3 双字节数据指针 62
2.18 特殊功能寄存器总表 62 第三章 模拟比较器的应用
3.1 模拟比较器用于超限监测 65
3.1.1 2路相关模拟信号的监测 65
3.1.2 多路独立模拟信号的监测 67
3.1.3 一路模拟信号的多条件监测 69
3.2 模拟比较器用于直流信号的A/D转换(方法一)
3.2.1 原理电路 72
3.2.2 A/D转换过程 72
3.2.3 误差分析 73
3.2.4 电路参数选择 73
3.2.5 表格设计 74
3.2.6 程序设计 76
3.2.7系统标定 83
3.3 模拟比较器用于直流信号的A/D转换(方法二)
3.3.1 原理电路 84
3.3.2 A/D转换过程 85
3.3.3 误差分析 85
3.3.4 电路参数选择 85
3.3.5 表格设计 85
3.3.6 程序设计 88
3.3.7系统标定 94
3.4 模拟比较器用于交流信号的A/D转换 94
3.4.1 原理电路 94
3.4.2 A/D转换过程 96
3.4.3 误差分析 96
3.4.4 电路参数选择 97
3.4.5 表格设计 98
3.4.6 程序设计 98
3.4.7系统标定 103
3.4.8采用片内RC振荡器的交流信号有效值检测方法 103
3.5 模拟比较器用于参量信号的A/D转换 104
3.5.1 原理电路 104
3.5.2 A/D转换过程 105
3.5.3 误差分析 105
3.5.4 电路参数选择 106
3.5.5 表格设计 107
3.5.6 程序设计 113
3.5.7 系统标定 120

第四章?常规模拟部件的应用
4.1 A/D部件的应用 121
4.1.1 A/D部件的基本用法 121
4.1.2 A/D部件的应用示例 125
4.2 PWM部件的应用 130
4.2.1 PWM部件的基本用法 130
4.2.2 PWM部件的应用示例 134
4.3 D/A部件的应用 137
4.3.1 D/A部件的基本用法 137
4.3.2 D/A部件的应用示例 137

第五章?I2C 总线的应用
5.1 P87LPC76X作为主控器 140
5.1.1 数据传送格式 140
5.1.2 主机程序模块 143
5.1.3 应用实例 153
5.2 P87LPC76X作为被控器 157
5.2.1 概述 157
5.2.2 数据传送格式 158
5.2.3 从机程序模块 159

第六章 附加功能的应用
6.1 键盘中断的应用 166
6.2 电源监控和看门狗定时器的应用 168
6.2.1 电源监控 168
6.2.2 看门狗定时器 169
6.2.3 应用实例 169
6.3 低频节电模式及降低功耗模式的应用 171
6.3.1 低频节电模式 172
6.3.2 降低功耗模式 172

附录
附录1 PHILIPS 51LPC系列单片机封装尺寸 173
附录2 PHILIPS 51LPC系列单片机型号 176
附录3 PHILIPS 80C51系列单片机 177
附录4 Insight 80C51系列单片机仿真开发系统
附录5 PHILIPS STARplugTM电池及电源管理IC 180
附录6 热门单片机外围器件 181


作者: 李宝库    时间: 2003-5-28 01:47
标题: 好书推荐---如何使用KEIL 8051 C编译器
这都学完了得啥年月了……




欢迎光临 光电工程师社区 (http://bbs.oecr.com/) Powered by Discuz! X3.2