目录
前言
第1章 微型计算机基础 1
1.1 微型计算机中数制及数的相互转换 1
1.1.1 微型计算机中的数制 1
1.1.2 数制间的相互转换 2
1.2 微型计算机中数的表示形式 4
1.2.1 定点数的表示方法 4
1.2.2 浮点数的表示方法 5
1.2.3 二进制数的运算 5
1.3 微型计算机中数和字符的编码 8
1.3.1 原码、反码和补码 8
1.3.2 补码运算及其变形 10
1.3.3 BCD码和ASCII码 12
1.4 单片微型机的发展及应用 13
1.4.1 单片微型机的发展过程 13
1.4.2 单片微型机的产品近况 14
1.4.3 单片微型机的应用 15
习题 15
第2章 MCS-51单片机工作原理 17
2.1 MCS-51单片机内部结构 17
2.1.1 CPU结构 18
2.1.2 存储器结构 19
2.1.3 I/O端口 24
2.1.4 定时/计数器与中断系统 26
2.2 MCS-51单片机引脚功能 27
2.3 MCS-51草片机工作方式 30
2.3.1 复位方式 30
2.3.2 程序运行方式 31
2.3.3 节电方式 31
2.3.4 编程和校验方式 32
2.4 MCS-51单片机工作时序 33
2.4.1 时钟周期、机器周期、指令周期和典型工作时序 33
2.4.2 单片机的读写时序 35
习题 37
第3章 MCS-51单片机指令系统 39
3.1 指令系统概述 39
3.1.1 指令格式及指令的表示形式 39
3.1.2 指令系统 40
3.1.3 指令分类 40
3.2 寻址方式 42
3.2.1 直接寻址 42
3.2.2 立即数寻址 43
3.2.3 寄存器寻址 44
3.2.4 寄存器间接寻址 44
3.2.5 变址寻址 45
3.2.6 相对寻址 46
3.2.7位寻址 47
3.3 数据传送指令 47
3.3.1 内部数据传送指令 48
3.3.2 外部数据传送指令 50
3.3.3 堆栈操作指令 53
3.3.4 数据交换指令 54
3.4 算术与逻辑运算和移位指令 55
3.4.1 算术运算指令 55
3.4.2 逻辑运算指令 61
3.4.3 移位指令 63
3.5 控制转移和位操作指令 65
3.5.1 控制辖移指令 65
3.5.2 位操作指令 75
习题 77
第4章 汇编语言程序设计 80
4.1 汇编语言概述 80
4.1.1 汇编语言格式 80
4.1.2 汇编语言构成 81
4.2 汇编语言程序设计方法 85
4.2.1 汇编语言源程序的设计步骤 85
4.2.2 程序编写的方法和技巧 86
4.3 常用程序结构设计 87
4.3.1 顺序程序设计 87
4.3.2 分支程序设计 88
4.3.3 循环程序设计 91
4.4 子程序设计 92
4.4.1 调用现场的保护与恢复 93
4.4.2 主程序和子程序的参数传递 94
4.4.3 常用子程序介绍 97
4.5 KeiI μVision及Proteus使用指南 1 1 1
4.5.1 Keil μVision使用入门 1 1 1
4.5.2 Proteus使用入门 124
4.5.3 应用举例 133
习题 137
第5章 MCS-51中断系统 138
5.1 概述 138
5.1.1 中断的定义和作用 138
5.1.2 MCS-51中断源及中断分类 141
5.1.3 MCS-51中断系统 143
5.1.4 中断控制 147
5.2 MCS-51的外部中断 150
5.2.1 MCS-51的外部中断 150
5.2.2 MCS-51的外部中断扩展 152
5.3 MCS-51的定时器/计数器 154
5.3.1 MCS-51的定时器/计数器结构和工作原理 155
5.3.2 MCS-51的定时器/计数器工作方式 157
5.3.3 MCS-51的定时器/计数器应用 159
习题 167
第6章 并行接口技术 169
6.1 1I/O接口概述 169
6.1.1 1I/O接口的定义及作用 170
6.1.2 1I/O接几的叫种传送方式 171
6.1.3 1I/O接口的编址技术 173
6.2 内部I/O端口 174
6.2.1 内部I/O端口的结构与工作原理 174
6.2.2 内部I/O口的应用 177
6.3 MCS-51与外部存储器的接口 179
6.3.1 外部存储器 180
6.3.2 译码技术 186
6.3.3 外部存储器的扩展 194
6.4 8255扩展技术 198
6.4.1 8255概述 198
6.4.2 8255的扩展 206
6.5 显示、键盘接口技术 211
6.5.1 显示接口技术 21 1
6.5.2 键盘接口技术 226
习题 234
第7章 串行接口技术 236
7.1 串行通信概述 236
7.1.1 串行通信基本概念 236
7.1.2 串行通信接口标准 240
7.2 MCS-51单片机串行口及其应用 242
7.2.1 串行口结构 242
7.2.2 串行口工作方式 245
7.2.3 串行口通信波特率 246
7.2.4 串行口应用 247
7.3 I2C总线接口技术 269
7.3.1 I2C总线基础 269
7.3.2 I2C总线时序 272
7.3.3 MCS-51与AT24C02C的接口 274
习题 282
第8章 D/A、A/D接口技术 283
8.1 D/A接口技术 283
8.1.1 D/A转换器的原理 283
8.1.2 D/A转换器的主要技术指标 285
8.1.3 MCS-51与8位D/A转换器的接口 286
8.1.4 MCS-51与12位D/A转换器的接口 293
8.2 A/D接口技术 296
8.2.1 A/D转换器的原理 296
8.2.2 MCS-51与8位A/D转换器的接口 299
8.2.3 MCS-51与12位A/D转换器的接口 305
习题 309
第9章 单片机应用系统抗干扰设计 311
9.1 抗干扰设计的概述 311
9.1.1 干扰及其分类 311
9.1.2 干扰的耦合方式 312
9.1.3 抗干扰技术的重要性 316
9.2 单片机应用系统的硬件抗干扰设计 3 1 7
9.2.1 硬件抗干扰技术原理与方法 317
9.2.2 电源的抗干扰设计 327
9.2.3 主控单元的抗干扰设计 33 1
9.2.4 数字信号传输通道的抗干扰设计 334
9.2.5 PCB电路板的抗干扰设计 338
9.3 单片机应用系统的软件抗干扰设计 343
9.3.1 指令冗余设计 343
9.3.2 软件陷阱设计 344
9.3.3 软件“看门狗”设计 347
9.3.4 数字滤波设计 350
9.3.5 开关量输入输m抗干扰设计 359
习题 360
第10章 单片机应用系统设计实例 362
10.1 手持式抄表系统设计 362
10.1.1 背景意义 362
10.1.2 总体方案设计 362
10.1.3 系统硬件电路的设计 363
10.1.4 单元电路设计 365
10.1.5 系统程序的设计 373
10.2 温度控制系统的设计 380
10.2.1 背景意义 380
10.2.2 总体方案设计 380
10.2.3 系统硬件电路的设计 381
10.2.4 系统程序的设计 388
10.3 基于PTR8000的无线数据传输 393
10.3.1 背景意义 393
10.3.2 总体方案设计 393
10.3.3 系统硬件电路设计 394
10.3.4 系统软件设计 398
习题 401
参考文献 402
附录 MCS-51系列单片机指令表 403