第1章 微处理机概论 1
1.1 微处理机的产生与发展 1
1.1.1 微处理机的应用范围 1
1.1.2 微处理机及微型计算机的产生与发展 3
1.1.3 微处理机的分类及特点 4
1.1.4 微处理机的发展趋势 6
1.2 微处理机的基本概念 7
1.2.1 冯·诺依曼型计算机的基本组成 7
1.2.2 冯·诺依曼型计算机的特点 9
1.2.3 冯·诺依曼型计算机的工作过程 10
1.2.4 微处理机的相关概念 11
1.3 微处理机的系统开发 13
1.3.1 微处理机应用系统 13
1.3.2 应用系统开发 13
1.3.3 源程序的获得 16
1.3.4 源程序汇编 17
1.3.5 仿真调试设备 19
1.3.6 程序的仿真调试 20
1.3.7 程序的固化 21
1.4 微处理机的硬件基础 22
1.4.1 布尔代数 22
1.4.2 基本逻辑部件的外部特性 23
1.4.3 触发器 27
1.5 微处理机的数据表达 29
1.5.1 数制 29
1.5.2 计算机中数的表示 31
1.5.3 数码 32
习题与思考1 34
第2章 MCS-51微处理机 36
2.1 微处理机概述 36
2.1.1 微处理机的体系结构 36
2.1.2 4位、8位、16位和32位单片机 37
2.1.3 微处理机的基本组成 38
2.1.4 运算器和运算结果 40
2.1.5 控制器和指令执行 42
2.1.6 寄存器组 45
2.1.7 总线和存储组织 47
2.1.8 堆栈存储器 48
2.2 MCS-51系列微控制器 51
2.2.1 硬件资源 51
2.2.2 结构框图 52
2.2.3 封装与引脚功能 54
2.2.4 存储空间配置 56
2.3 时钟、复位和时序 65
2.3.1 时钟与时钟电路 65
2.3.2 复位和复位电路 66
2.3.3 总线组成和时序 68
习题与思考2 73
第3章 MCS-51微处理机指令系统 74
3.1 数据与寻址 74
3.1.1 计算机指令格式 74
3.1.2 指令系统支持的数据形式 75
3.1.3 指令系统支持的寻址方式 76
3.1.4 指令系统支持的辅助结果 80
3.2 数据传送类指令 81
3.2.1 内部数据传送指令 81
3.2.2 外部数据传送指令 84
3.2.3 堆栈操作指令 86
3.2.4 数据交换指令 87
3.3 数据运算类指令 88
3.3.1 加法指令 89
3.3.2 减法指令 93
3.3.3 乘法指令 94
3.3.4 除法指令 94
3.4 逻辑操作类指令 95
3.4.1 逻辑与指令 95
3.4.2 逻辑或指令 96
3.4.3 逻辑异或指令 96
3.4.4 累加器清零和取反指令 97
3.4.5 移位操作指令 97
3.5 程序控制类指令 98
3.5.1 无条件转移指令 98
3.5.2 条件转移指令 101
3.5.3 子程序调用和返回指令 104
3.5.4 空操作指令 106
3.6 布尔操作类指令 107
3.6.1 布尔数据传送指令 107
3.6.2 布尔状态设置指令 108
3.6.3 位运算指令 108
3.6.4 位控制转移指令 109
习题与思考3 110
第4章 汇编语言程序设计 112
4.1 汇编语言源程序 112
4.1.1 程序设计语言 112
4.1.2 汇编语言源程序的格式 113
4.1.3 汇编语言伪指令 114
4.2 汇编语言程序设计 117
4.2.1 汇编语言程序设计步骤 117
4.2.2 程序流程图 118
4.2.3 结构程序设计模块 119
4.2.4 子程序 121
4.3 汇编语言程序设计实例 123
4.3.1 数据传送程序 123
4.3.2 数值运算程序 124
4.3.3 数码转换程序 130
4.3.4 数据处理程序 133
4.3.5 其他类型程序 139
习题与思考4 141
第5章 存储器及其扩展 143
5.1 存储器概述 143
5.1.1 计算机中的存储器 143
5.1.2 存储器的分类 144
5.1.3 PC机中的主存储器 147
5.1.4 微处理机系统中存储器的组织 148
5.2 MCS-51单片机的存储器 149
5.2.1 MCS-51单片机中存储器的总体结构 149
5.2.2 半导体存储器芯片的基本结构 150
5.2.3 MCS-51单片机常用程序存储器 150
5.2.4 MCS-51单片机常用数据存储器 152
5.3 MCS-51存储器扩展 153
5.3.1 系统扩展三总线 153
5.3.2 并行扩展时的地址译码 154
5.3.3 常用译码芯片 155
5.3.4 特殊译码方法 158
5.3.5 程序存储器的扩展 159
5.3.6 数据存储器的扩展 161
习题与思考5 164
第6章 输入输出与中断 165
6.1 输入输出与接口 165
6.1.1 输入输出接口概念 165
6.1.2 I/O接口的作用与分类 168
6.1.3 外设的数据传送控制方式 169
6.2 中断的基本概念 171
6.2.1 中断的作用和功能 171
6.2.2 中断的相关概念 172
6.2.3 中断的实现方法 173
6.3 MCS-51的中断系统 175
6.3.1 MCS-51中断结构 175
6.3.2 MCS-51的中断应用编程 179
6.3.3 MCS-51的中断扩展 181
习题与思考6 183
第7章 定时器/计数器 184
7.1 定时器/计数器概述 184
7.1.1 定时器/计数器的作用 184
7.1.2 定时器/计数器的结构方法 185
7.1.3 定时器/计数器的扩展应用 185
7.2 MCS-51的定时器/计数器 186
7.2.1 MCS-51定时器/计数器的结构特点 186
7.2.2 MCS-51定时器/计数器的工作原理 187
7.2.3 MCS-51定时器/计数器的特殊功能寄存器 187
7.2.4 MCS-51定时器/计数器的四种工作方式 189
7.2.5 MCS-51定时器/计数器的应用编程 193
7.3 MCS-51的定时器/计数器T2 203
7.3.1 T2的工作方式控制 203
7.3.2 T2的工作方式 204
7.4 实时时钟芯片DS1302 207
7.4.1 DS1302的结构及工作原理 208
7.4.2 DS1302的应用 209
习题与思考7 211
第8章 并行I/O接口 213
8.1 MCS-51的片内并行I/O接口 213
8.1.1 MCS-51片内并行口 213
8.1.2 片内并行口操作指令 217
8.1.3 片内并行口应用实例 218
8.2 简单并行I/O接口扩展 220
8.2.1 简单并行输入口扩展 221
8.2.2 简单并行输出口扩展 222
8.3 可编程并行接口8255 224
8.3.1 8255的结构 224
8.3.2 8255的控制字 226
8.3.3 8255的工作方式 228
8.3.4 8255的应用实例 231
8.3.5 可编程并行接口芯片8155简介 234
习题与思考8 235
第9章 串行I/O接口 237
9.1 串行通信的基本概念 237
9.1.1 串行通信的基本方式 237
9.1.2 串行通信的基本类型 239
9.1.3 串行通信的波特率和传输速率 239
9.1.4 串行通信的出错校验 240
9.2 MCS-51串行I/O接口 241
9.2.1 MCS-51串行口概述 241
9.2.2 MCS-51串行口结构 241
9.2.3 串行口的特殊功能寄存器 242
9.2.4 串行口的工作方式 244
9.2.5 波特率的设定 247
9.2.6 串行口的应用实例 248
9.3 串行方式的系统扩展技术 254
9.3.1 系统扩展的串行接口方式 254
9.3.2 串行方式的存储器扩展技术 256
9.3.3 串行方式的I/O接口扩展技术 263
习题与思考9 267
第10章 模拟通道接口技术 269
10.1 模拟通道概述 269
10.1.1 模拟通道的构成 269
10.1.2 模模拟输入通道的基本类型与组成结构 270
10.1.3 检测信号的形式 273
10.1.4 A/D转换器与特性 274
10.1.5 模拟多路开关 276
10.1.6 采样与保持电路 277
10.1.7 模拟量输出通道 279
10.2 数/模转换技术 281
10.2.1 并行8位D/A转换器芯片DAC0832 281
10.2.2 DAC0832的扩展与应用 283
10.2.3 并行12位D/A转换器芯片DAC1208 289
10.2.4 SPI总线的D/A转换器芯片LTC1446 290
10.2.5 I2C总线的D/A转换器芯片MAX518 293
10.2.6 PWM技术 297
10.3 模/数转换技术 299
10.3.1 并行8位A/D转换芯片ADC0809 299
10.3.2 ADC0809的扩展与应用 301
10.3.3 并行12位A/D转换器芯片AD574A 304
10.3.4 SPI总线的A/D转换器芯片TLC549 307
10.3.5 I2C总线的A/D转换器芯片MAX127 310
10.3.6 V/F转换及其接口技术 317
习题与思考10 320
第11章 人机接口技术 322
11.1 人机接口技术概述 322
11.1.1 PC机中的人机输入接口 322
11.1.2 PC机中的人机输出接口 324
11.2 单片机常用输入设备接口 328
11.2.1 单片机常用输入设备与特点 328
11.2.2 扳动开关与MCS-51接口 329
11.2.3 拨盘开关与MCS-51接口 330
11.2.4 按钮开关与MCS-51接口 331
11.2.5 非编码键盘与MCS-51接口 331
11.2.6 触摸屏与MCS-51接口 333
11.3 单片机常用输出设备接口 336
11.3.1 单片机常用输出设备与特点 336
11.3.2 LED与MCS-51的接口 337
11.3.3 七段数码管与MCS-51的接口 338
11.3.4 LED列阵与MCS-51的接口 340
11.3.5 LCD显示器与MCS-51的接口 340
11.4 可编程键盘、显示接口芯片7279 344
11.4.1 7279的功能和引脚 344
11.4.2 7279的指令和控制 345
11.4.3 7279的连接和时序 349
11.4.4 7279与MCS-51系统的硬件接口 350
11.4.5 7279的应用编程 351
11.5 并行接口8279芯片简介 353
习题与思考11 354
第12章 嵌入式微控制器 355
12.1 嵌入式微控制器概述 355
12.1.1 单片机的片上系统化 355
12.1.2 嵌入式系统 356
12.1.3 嵌入式单片机 358
12.1.4 常见的嵌入式功能模块 358
12.2 Philips公司的MCS-51兼容嵌入式微控制器 364
12.2.1 Philips公司单片机特色简介 364
12.2.2 Philips公司单片机分类 364
12.2.3 电源低功耗控制 367
12.2.4 P8XC552单片机 368
12.3 Atmel公司的MCS-51兼容嵌入式微控制器 370
12.3.1 AT89C系列单片机特色简介 370
12.3.2 AT89C系列单片机分类 371
12.3.3 AT89S系列单片机 372
12.3.4 Atmel公司最近推出的单片机 373
12.4 ADI公司的MCS-51兼容嵌入式微控制器 374
12.4.1 ADμC8XX特色简介 374
12.4.2 ADμC812单片机 374
12.4.3 ADμC816单片机 376
12.4.4 ADμC824单片机 376
12.5 Silabs公司的MCS-51兼容嵌入式微控制器 379
12.5.1 C8051F系列特色简介 379
12.5.2 C8051F不带模拟通道单片机 380
12.5.3 C8051F带模拟通道单片机 380
12.5.4 C8051F带精密模拟通道单片机 382
12.6 Motorola公司的MC68HC08嵌入式微控制器 383
12.6.1 MC68HC08特色简介 383
12.6.2 MC68HC08的CPU结构 384
12.6.3 MC68HC08的时钟与复位 386
12.6.4 MC68HC08的存储空间 387
12.6.5 MC68HC08的指令系统 388
12.7 Microchip公司的PIC系列嵌入式微控制器 392
12.7.1 PIC系列单片机特色简介 392
12.7.2 PIC系列单片机分类 392
12.7.3 PIC系列单片机的指令系统 393
12.7.4 PIC系列单片机的在线串行编程 394
习题与思考12 395
附录 396
A:ASCII(美国标准信息交换)码表 396
B:部分相关缩写词参考词义表 397
C:MCS-51指令系统表 402
参考文献 407