目录 1
第1章 MCS-51单片机基本结构 1
1.1 MCS-51单片机的结构 1
1.1.1 MCS-51单片机家族 1
1.1.2 MCS-51单片机的内部结构简介 2
1.1.3 MCS-51单片机外部引线 3
1.2 MCS-51单片机的内部结构 4
1.2.1 MCS-51的CPU 4
1.2.2 MCS-51单片机的存储器组织 6
1.2.3 MCS-51的输入输出接口 9
1.2.4 MCS-51的中断系统 12
1.2.5 MCS-51的定时/计数器 12
1.2.6 MCS-51的串行接口 12
1.3 MCS-51单片机的工作时序 13
1.3.1 MCS-51的3种周期 13
1.3.2 指令执行时序 13
1.4 MCS-51单片机的相关问题 16
1.4.1 复位 16
1.4.3 编程和校验 17
1.4.2 时钟电路 17
1.5 MCS-51的总线扩展 18
1.5.1 最小系统 18
1.5.2 MCS-51的总线扩展内容 18
习题 21
第2章 MCS-51指令系统及汇编语言程序设计 22
2.1 概述 22
2.1.1 MCS-51的指令编码 22
2.2.2 直接寻址 23
2.2.1 立即寻址 23
2.2 指令寻址方式 23
2.1.2 指令系统中用到的符号 23
2.2.3 寄存器寻址 24
2.2.4 寄存器间接寻址 24
2.2.5 相对寻址 24
2.2.6 基址加变址寻址 25
2.2.7 位寻址 25
2.3 MCS-51的指令系统 26
2.3.1 传送指令 26
2.3.2 算术运算指令 30
2.3.3 逻辑及移位指令 32
2.3.4 控制指令 35
2.3.5 位操作指令 40
2.4 汇编语言程序设计 42
2.4.1 汇编语言的语句格式 42
2.4.2 伪指令 43
2.4.3 基本的程序设计方法 46
2.4.4 汇编语言程序的开发过程 55
习题 57
3.1 概述 59
3.1.1 外设接口的编址方式 59
第3章 MCS-51单片机的中断系统 59
3.1.2 外设接口的基本模型 60
3.2 程序控制输入输出 61
3.2.1 无条件传送方式 61
3.2.2 查询方式 63
3.3 中断方式 67
3.3.1 中断的基本概念 67
3.3.2 MCS-51的中断系统 71
3.3.3 中断控制器8259 76
习题 90
4.1.1 MCS-51单片机直接构成最小系统 91
4.1 MCS-51单片机构成的最小系统 91
第4章 MCS-51单片机系统部件 91
4.1.2 利用外接ROM构成最小系统 92
4.2 MCS-51的外部存储器 93
4.2.1 存储器的分类 93
4.2.2 存储器的主要性能指标 94
4.2.3 RAM的连接使用 95
4.3 MCS-51定时/计数器 108
4.3.1 工作方式 108
4.3.2 定时/计数器的控制寄存器 110
4.3.3 定时/计数器的应用 111
4.4 MCS-51的串行接口 114
4.4.1 概述 114
4.4.2 MCS-51单片机串行口的控制寄存器 114
4.4.3 串行口的工作方式 117
4.4.4 串行口的应用 118
习题 121
第5章 总线及接口技术 123
5.1 总线概述 123
5.1.1 总线的分类与标准 123
5.1.3 外总线 124
5.1.2 内总线 124
5.2 总线驱动与控制 125
5.2.1 总线竞争的概念 125
5.2.2 负载的计算 126
5.2.3 总线驱动与控制的实现 128
5.3 MCS-51的总线扩展 133
5.3.1 概述 133
5.3.2 扩展总线的形成 133
5.4.1 可编程并行接口8255 135
5.4 MCS-51扩展总线上的典型外设接口 135
5.4.2 键盘接口 146
5.4.3 打印机接口 151
5.4.4 显示器接口 155
5.4.5 光电隔离输入输出接口 158
5.4.6 数模转换器接口 164
5.4.7 模数转换器接口 172
5.4.8 电机接口 184
习题 194
6.1 嵌入式系统软件概述 198
6.1.1 最小系统 198
第6章 嵌入式计算机系统软件 198
6.1.2 驻留监控程序 199
6.2 嵌入式系统实时操作系统内核开发 201
6.2.1 嵌入式操作系统的特点 201
6.2.2 实时内核所涉及的概念 202
6.2.3 实时内核的开发 206
6.2.4 嵌入式操作系统的移植 216
6.3 用户程序的开发 218
6.3.1 用户程序的基本要求 218
6.3.2 用户程序的开发过程 220
6.3.3 高级语言与汇编语言混合编程 225
习题 234
第7章 嵌入式系统的可靠性设计 236
7.1 概述 236
7.1.1 可靠性的基本指标 236
7.1.2 故障因素 239
7.2 故障检测技术 240
7.2.1 嵌入式系统的脱机自检 240
7.2.2 嵌入式系统的在线故障检测 248
7.3 硬件可靠性设计 267
7.3.1 硬件故障 267
7.3.2 影响硬件可靠性的因素 268
7.3.3 硬件可靠性措施 273
7.4 软件可靠性设计 280
7.4.1 软件故障的特点 280
7.4.2 软件可靠性指标 281
7.4.3 软件错误的来源 281
7.4.4 软件可靠性模型 283
7.4.5 提高软件可靠性的方法 285
7.5.1 抗干扰的三要素 289
7.5.2 干扰的来源及耦合方式 289
7.5 系统的抗干扰设计 289
7.5.3 系统的抗干扰措施 291
7.6 总线的有关问题 303
7.6.1 总线上的交叉串扰 303
7.6.2 总线的延时 305
7.6.3 总线上的反射与终端网络 306
7.7 可靠性的总体设计 308
7.7.1 设计过程 308
7.7.2 可靠性的分配方法 309
习题 313
8.1.1 静态测试仪器 316
第8章 系统调试与维修 316
8.1 测试仪器简介 316
8.1.2 动态测试仪器 318
8.2 传统的调试方法 328
8.2.1 静态调试 328
8.2.2 动态调试 329
8.3 系统故障的检测与维护 335
8.3.1 故障的诊断方法概述 336
8.3.2 人工诊断 337
8.3.3 自动诊断 343
8.4.2 嵌入式计算机系统的构成 347
8.4 嵌入式计算机系统概要说明 347
8.4.1 嵌入式计算机系统的定义 347
8.5 嵌入式计算机系统的设计要求和设计步骤 350
8.5.1 系统设计的基本要求 350
8.5.2 系统设计步骤 352
8.5.3 系统设计中应注意的问题 358
习题 359
附录A MCS-51单片机指令系统表 361
参考文献 365