第1章 微型计算机基础 1
1.1 计算机中的数制及数的转换 1
1.1.1 计算机中的数制 1
1.1.2 计算机中数制间数的转换 4
1.2 计算机中数的表示方法 7
1.2.1 定点机中数的表示方法 7
1.2.2 浮点机中数的表示方法 8
1.2.3 二进制数的运算 9
1.3 计算机中数的表示形式 13
1.3.1 机器数的原码、反码和补码 13
1.3.2 补码的加减运算 16
1.3.3 补码运算的正确性及变形码 17
1.4 计算机中数和字符的编码 21
1.4.1 BCD码和ASCII码 21
1.4.2 汉字的编码 24
1.4.3 校验码编码 25
1.5 单片微型计算机概述 29
1.5.1 单片机的内部结构 29
1.5.2 单片机的基本原理 32
1.5.3 单片机的分类及发展 35
1.5.4 典型单片机性能概览 36
1.5.5 单片机在工业控制中的应用 46
习题与思考题 47
第2章 MCS-51单片机结构与时序 49
2.1 MCS-51单片机内部结构 49
2.1.1 CPU结构 49
2.1.2 存储器结构 55
2.1.3 I/O端口 59
2.1.4 定时器/计数器 61
2.1.5 中断系统 61
2.2 MCS-51单片机引脚功能 61
2.2.1 MCS-51单片机引脚及其功能 63
2.2.2 8031对片外存储器的连接 65
2.3 MCS-51单片机的工作方式 66
2.3.1 复位方式 67
2.3.2 程序执行方式 67
2.3.3 节电方式 68
2.3.4 EPROM的编程和校验方式 70
2.4 MCS-51单片机时序 73
2.4.1 机器周期和指令周期 73
2.4.2 MCS-51指令的取指/执行时序 74
2.4.3 访问片外ROM/RAM的指令时序 75
习题与思考题 78
第3章 MCS-51单片机指令系统 79
3.1 概述 79
3.1.1 指令格式 79
3.1.2 指令的3种表示形式 80
3.1.3 指令的字节数 80
3.1.4 指令的分类 82
3.1.5 指令系统综述 83
3.2 寻址方式 84
3.2.1 寄存器寻址 84
3.2.2 直接寻址 84
3.2.3 立即寻址 86
3.2.4 寄存器间址 86
3.2.5 变址寻址 87
3.2.6 相对寻址 88
3.2.7 位寻址 89
3.3 数据传送指令 90
3.3.1 内部数据传送指令(15条) 90
3.3.2 外部数据传送指令(7条) 93
3.3.3 堆栈操作指令(2条) 96
3.3.4 数据交换指令(4条) 97
3.4 算术与逻辑运算和移位指令 98
3.4.1 算术运算指令(24条) 98
3.4.2 逻辑运算指令(20条) 105
3.4.3 移位指令(5条) 108
3.5 控制转移和位操作指令 110
3.5.1 控制转移指令(17条) 110
3.5.2 位操作指令(17条) 119
习题与思考题 122
第4章 汇编语言程序设计 126
4.1 汇编语言的构成 126
4.1.1 程序设计语言 126
4.1.2 汇编语言的格式 127
4.1.3 汇编语言的构成 129
4.2 汇编语言源程序的设计与汇编 133
4.2.1 汇编语言源程序的设计步骤 134
4.2.2 汇编语言源程序的汇编 135
4.2.3 μVision 3集成开发环境简介 138
4.3 简单程序与分支程序设计 139
4.3.1 简单程序设计 139
4.3.2 分支程序设计 141
4.4 循环与查表程序设计 146
4.4.1 循环程序设计 146
4.4.2 查表程序设计 152
4.5 子程序与运算程序设计 156
4.5.1 子程序设计 156
4.5.2 运算程序设计 160
习题与思考题 167
第5章 半导体存储器 170
5.1 半导体存储器基础 170
5.1.1 半导体存储器的分类和作用 170
5.1.2 半导体存储器的技术指标 173
5.1.3 半导体存储器的现状和前景 174
5.1.4 半导体存储器的基本结构 175
5.2 只读存储器 178
5.2.1 掩膜ROM的原理 178
5.2.2 PROM的原理 179
5.2.3 EPROM的原理 180
5.2.4 ROM举例 181
5.3 随机存取存储器 187
5.3.1 静态RAM的基本存储电路 187
5.3.2 动态RAM的基本存储电路 188
5.3.3 RAM举例 189
5.4 MCS-51和外部存储器的连接 193
5.4.1 连接中应考虑的问题 193
5.4.2 MCS-51对外部ROM的连接 196
5.4.3 MCS-51对外部RAM的连接 198
5.4.4 MCS-51对外部存储器的连接 202
习题与思考题 203
第6章 MCS-51中断系统 206
6.1 概述 206
6.1.1 中断的定义和作用 206
6.1.2 中断源 207
6.1.3 中断的分类 208
6.1.4 中断的嵌套 208
6.1.5 中断系统的功能 209
6.2 MCS-51的中断系统 210
6.2.1 MCS-51的中断源和中断标志 210
6.2.2 MCS-51对中断请求的控制 213
6.2.3 MCS-51对中断的响应 216
6.2.4 MCS-51对中断的响应时间 216
6.2.5 MCS-51对中断请求的撤除 217
6.2.6 MCS-51中断系统的初始化 218
6.2.7 MCS-51外部中断的应用 219
6.3 中断控制器8259A 224
6.3.1 8259的内部结构 224
6.3.2 8259的引脚功能 225
6.3.3 8259的命令字 226
6.3.4 8259的工作模式 233
6.3.5 8259的级联 238
6.4 MCS-51对外部中断源的扩展 239
6.4.1 借用定时器溢出中断扩展外部中断源 240
6.4.2 采用查询法扩展外部中断源 240
6.4.3 采用8259扩展外部中断源 242
习题与思考题 244
第7章 并行I/O接口 246
7.1 概述 246
7.1.1 I/O接口的作用 247
7.1.2 外部设备的编址 247
7.1.3 I/O数据的4种传送方式 249
7.1.4 I/O接口的类型 252
7.2 MCS-51内部并行I/O端口及其应用 253
7.2.1 MCS-51内部并行I/O端口 253
7.2.2 MCS-51内部并行I/O端口的应用 253
7.3 MCS-51并行I/O端口的扩展 260
7.3.1 Intel 8155 260
7.3.2 MCS-51对并行I/O端口的扩展 267
7.4 MCS-51对LED/键盘的接口 273
7.4.1 MCS-51对LED的接口 273
7.4.2 MCS-51对非编码键盘的接口 277
7.4.3 键盘/显示系统 284
7.5 MCS-51内部定时器/计数器 285
7.5.1 MCS-51对内部定时器/计数器的控制 286
7.5.2 MCS-51内部定时器/计数器的工作方式 288
7.5.3 MCS-51对内部定时器/计数器的初始化 289
7.5.4 应用举例 291
7.6 MCS-51对LCD的接口 294
7.6.1 字段式LCD液晶显示器 294
7.6.2 点阵式LCD液晶显示器 302
习题与思考题 324
第8章 MCS-51对A/D和D/A的接口 326
8.1 D/A转换器 326
8.1.1 D/A转换器的原理 327
8.1.2 D/A转换器的性能指标 328
8.1.3 DAC0832 329
8.2 MCS-51对D/A的接口 330
8.2.1 DAC的应用 331
8.2.2 MCS-51对8位DAC的接口 333
8.2.3 MCS-51对12位DAC的接口 338
8.3 A/D转换器 340
8.3.1 逐次逼近式A/D转换原理 341
8.3.2 并行A/D转换原理 341
8.3.3 A/D转换器的性能指标 343
8.3.4 ADC0809 343
8.4 MCS-51对A/D的接口 346
8.4.1 MCS-51对ADC0809的接口 346
8.4.2 MCS-51对AD574A的接口 350
习题与思考题 353
第9章 MCS-51的串行通信 356
9.1 串行通信基础 356
9.1.1 串行通信的分类 356
9.1.2 串行通信的制式 358
9.1.3 串行通信中的调制解调器 359
9.1.4 串行通信中串行I/O数据的实现 362
9.2 MCS-51的串行接口 365
9.2.1 串行口的结构 365
9.2.2 串行口的工作方式 368
9.2.3 串行口的通信波特率 370
9.3 MCS-51串行口的应用 371
9.3.1 串行口在方式0下的应用 371
9.3.2 串行口在其他方式下的应用 373
9.4 单片机的多机通信 379
9.4.1 软件中断型主从式多机通信 380
9.4.2 硬件中断型主从式多机通信 386
9.4.3 分布式通信系统 387
9.4.4 光纤通信简介 392
习题与思考题 396
第10章 单片机应用系统的设计 398
10.1 单片机的总线结构 398
10.1.1 单片机总线概述 398
10.1.2 板级总线 401
10.1.3 通信总线 406
10.2 单片机前向通道的设计 414
10.2.1 传感器和模拟信号放大器 415
10.2.2 多路开关和采样保持器 418
10.2.3 DS18B20的原理及应用 422
10.3 单片机后向通道的设计 439
10.3.1 线路驱动器和接收器 439
10.3.2 外围驱动器 441
10.3.3 显示驱动器和电平转换器 444
10.3.4 电气隔离技术 446
10.4 单片机应用系统的抗干扰设计 451
10.4.1 单片机应用系统的硬件抗干扰设计 451
10.4.2 单片机应用系统的软件抗干扰设计 460
习题与思考题 467
附录A ASCII码字符表 469
附录B 图形字符代码表(汉字编码部分)示例图 470
附录C MCS-51系列单片机指令表 471
附录D LCD控制芯片RD44780中CGROM字符表 480
附录E PROTEUS多功能EDA软件简介 481
附录F 配套光盘简介 483
参考文献 485