前言页 1
第1章 微型计算机基础 1
1.1 微型计算机概述 1
1.1.1 微型计算机的概念 1
1.1.2 微型计算机的发展 3
1.1.3 微型计算机的应用 7
1.2 微型计算机数制及其转换 9
1.2.1 微型计算机的数制 9
1.2.2 微型计算机数制间的转换 11
1.3 微型计算机的二进制数运算 14
1.3.1 算术运算 15
1.3.2 逻辑运算 18
1.4 微型计算机码制和编码 20
1.4.1 微型计算机中数的表示方法 20
1.4.2 微型计算机的原码、反码和补码 21
1.4.3 微型计算机的二进制编码 25
1.5 微型计算机组成原理 28
1.5.1 微型计算机的基本结构 28
1.5.2 微型计算机的基本原理 32
1.5.3 微型计算机系统的组成 35
1.6 单片微型计算机概述 37
1.6.1 单片机的分代和发展 37
1.6.2 单片机的内部结构 38
1.6.3 典型单片机性能概览 39
1.6.4 单片机在工业控制中的应用 43
习题与思考题 44
第2章 MCS-51单片机结构和时序 46
2.1 MCS-51单片机内部结构 46
2.1.1 CPU结构 46
2.1.2 存储器结构 52
2.1.3 I/O端口 55
2.1.5 中断系统 56
2.1.4 定时器/计数器 56
2.2 MCS-51单片机引脚功能 57
2.2.1 MCS-51单片机引脚功能 57
2.2.2 8031对片外存储器的连接 60
2.3 MCS-51单片机工作方式 62
2.3.1 复位方式 62
2.3.2 程序执行方式 63
2.3.3 节电工作方式 63
2.3.4 编程和校验方式 66
2.4 MCS-51单片机时序 68
2.4.1 机器周期和指令周期 68
2.4.2 MCS-51指令的取指/执行时序 69
2.4.3 访问片外ROM/RAM的指令时序 70
习题与思考题 72
3.1.2 指令的三种表示形式 74
3.1.1 指令格式 74
第3章 MCS-51单片机指令系统 74
3.1 概述 74
3.1.3 指令的字节数 75
3.1.4 指令的分类 77
3.1.5 指令系统综述 78
3.2 寻址方式 79
3.2.1 寄存器寻址 79
3.2.2 直接寻址 79
3.2.4 寄存器间址 81
3.2.3 立即寻址 81
3.2.5 变址寻址 82
3.2.6 相对寻址 83
3.2.7 位寻址 83
3.3 数据传送指令 84
3.3.1 内部数据传送指令(15条) 84
3.3.2 外部数据传送指令(7条) 88
3.3.3 堆栈操作指令(2条) 90
3.3.4 数据交换指令(4条) 91
3.4.1 算术运算指令(24条) 92
3.4 算术运算和移位指令 92
3.4.2 逻辑运算指令(20条) 99
3.4.3 移位指令(5条) 103
3.5 控制转移和位操作指令 105
3.5.1 控制转移指令(17条) 105
3.5.2 位操作指令(17条) 113
习题与思考题 117
第4章 汇编语言程序设计 120
4.1 汇编语言的构成 120
4.1.1 程序设计语言 120
4.1.2 汇编语言格式 121
4.1.3 汇编语言构成 123
4.2 汇编语言源程序的设计和汇编 127
4.2.1 汇编语言程序设计步骤 127
4.2.2 汇编语言源程序的汇编 129
4.3.1 简单程序设计 132
4.3 简单和分支程序设计 132
4.3.2 分支程序设计 134
4.4 循环和查表程序设计 138
4.4.1 循环程序设计 138
4.4.2 查表程序设计 144
4.5 子程序和运算程序设计 147
4.5.1 子程序设计 147
4.5.2 运算程序设计 151
习题与思考题 159
第5章 半导体存储器 162
5.1 半导体存储器基础 162
5.1.1 半导体存储器的分类和作用 162
5.1.2 半导体存储器的技术指标 163
5.1.3 半导体存储器的发展前景 164
5.1.4 半导体存储器的基本结构 165
5.2 只读存储器ROM 167
5.2.1 掩模ROM存储器原理 168
5.2.2 PROM存储器原理 168
5.2.3 EPROM存储器原理 170
5.2.4 ROM存储器举例 171
5.3 随机存取存储器RAM 177
5.3.1 静态RAM基本存储电路 177
5.3.2 动态RAM基本存储电路 178
5.3.3 RAM存储器举例 179
5.4 MCS-51和外部存储器的连接 183
5.4.1 连接中应考虑的问题 184
5.4.2 MCS-51对外部ROM的连接 186
5.4.3 MCS-51对外部RAM的连接 187
5.4.4 MCS-51对外部存储器的连接 189
习题与思考题 190
第6章 MCS-51中断系统 193
6.1 概述 193
6.1.1 中断的定义和作用 193
6.1.2 中断源 194
6.1.4 中断嵌套 195
6.1.3 中断分类 195
6.1.5 中断系统功能 196
6.2 MCS-51的中断系统 197
6.2.1 MCS-51的中断源和中断标志 197
6.2.2 MCS-51对中断请求的控制 200
6.2.3 MCS-51对中断的响应 202
6.2.4 MCS-51对中断的响应时间 203
6.2.5 MCS-51对中断请求的撤除 204
6.2.6 MCS-51中断系统的初始化 205
6.3 中断控制器8259A 206
6.3.1 8259内部结构 206
6.3.2 8259引脚功能 208
6.3.3 8259命令字 208
6.3.4 8259工作模式 215
6.3.5 8259级联 221
6.4 MCS-51对外部中断源的扩展 222
6.4.1 借用定时器溢出中断扩展外部中断源 222
6.4.2 采用查询法扩展外部中断源 223
6.4.3 采用8259扩展外部中断源 224
习题与思考题 226
第7章 并行I/O接口 228
7.1 概述 228
7.1.1 I/O接口的作用 229
7.1.2 外部设备的编址 229
7.1.3 I/O数据的四种传送方式 231
7.1.4 I/O接口的类型 234
7.2 MCS-51内部并行I/O口及其应用 234
7.2.1 MCS-51内部并行I/O端口 234
7.2.2 MCS-51内部并行I/O端口的应用 236
7.3 并行I/O接口芯片 240
7.3.1 Intel 8255A 240
7.3.2 Intel 8155 247
7.4 MCS-51并行I/O口的扩展 255
7.4.1 借用外部RAM地址扩展I/O端口 255
7.4.2 采用8255A扩展I/O端口 257
7.4.3 采用8155扩展I/O端口 259
7.5 MCS-51对LED/键盘的接口 261
7.5.1 MCS-51对LED的接口 261
7.5.2 MCS-51对非编码键盘的接口 266
7.5.3 键盘/显示系统 273
7.6 MCS-51内部定时器/计数器 274
7.6.1 MCS-51对内部定时器/计数器的控制 274
7.6.2 工作方式 276
7.6.3 MCS-51对内部定时器/计数器的初始化 278
7.6.4 应用举例 279
习题与思考题 282
第8章 MCS-51对A/D和D/A的接口 285
8.1 D/A转换器 285
8.1.1 D/A转换器的原理 286
8.1.2 D/A转换器的性能指标 287
8.1.3 DAC0832 288
8.2.1 DAC的应用 289
8.2 MCS-51和D/A的接口 289
8.2.2 MCS-51对8位DAC的接口 292
8.2.3 MCS-51对12位DAC的接口 295
8.3 A/D转换器 297
8.3.1 逐次逼近式A/D转换原理 298
8.3.2 并行A/D转换原理 298
8.3.3 A/D转换器的性能指标 299
8.3.4 ADC0809 300
8.4 MCS-51和A/D的接口 303
8.4.1 MCS-51对ADC0809的接口 303
8.4.2 MCS-51对AD574A的接口 305
习题与思考题 308
第9章 MCS-51的串行通信 311
9.1 串行通信基础 311
9.1.1 串行通信的分类 311
9.1.2 串行通信的制式 313
9.1.3 串行通信中的调制解调器 314
9.1.4 串行通信中串行I/O数据的实现 317
9.2 MCS-51的串行接口 320
9.2.1 串行口的结构 320
9.2.2 串行口的工作方式 323
9.2.3 串行口的通信波特率 325
9.3 MCS-51串行口的应用 327
9.3.1 串行口在方式0下的应用 327
9.3.2 串行口在其他方式下的应用 329
9.3.3 串行口在多机通信中的应用 335
9.4 MCS-51串行口的扩展 341
9.4.1 8251A的基本特点 342
9.4.2 8251A的内部结构和引脚功能 342
9.4.3 8251A的控制字 346
9.4.4 8251A的初始化 348
9.4.5 MCS-51和8251A的接口 348
习题与思考题 351
10.1.1 总线的概念和分类 353
10.1 概述 353
第10章 单片机总线及接口 353
10.1.2 总线及其接口 354
10.1.3 总线标准和总线功能 355
10.2 板级总线 356
10.2.1 MULTIBUS总线 356
10.2.2 STD总线 362
10.3 通信总线 366
10.3.1 IEEE488并行总线 366
10.3.2 RS-232-C串行总线 371
习题与思考题 378
第11章 单片机的其他接口 380
11.1 单片机的驱动和隔离 380
11.1.1 板内总线驱动器 380
11.1.2 线驱动器 383
11.1.3 外围驱动器 385
11.1.4 显示驱动器和电平转换器 388
11.1.5 电气隔离技术 394
11.2 单片机的报警接口 396
11.2.1 单片机的鸣音报警接口 396
11.2.2 单片机的语音报警接口 397
11.3 单片机和执行装置的接口 406
11.3.1 继电器控制接口 406
11.3.2 步进电机控制接口 406
11.3.3 直流电动机控制接口 410
习题与思考题 413
第12章 单片机应用系统的开发 415
12.1 单片机应用系统的研制步骤 415
12.1.1 总体设计 415
12.1.2 硬件设计 416
12.1.3 软件设计 416
12.1.4 系统的调试、运行和维护 417
12.2 应用实例--单片机温度控制系统 418
12.2.1 硬件电路 418
12.2.2 温度控制的算法和程序 421
12.3 系统可靠性设计和故障诊断 432
12.3.1 系统可靠性设计 432
12.3.2 故障诊断 433
12.4 单片机开发系统及其应用 434
12.4.1 单片机开发系统的构成 435
12.4.2 单片机开发系统的功能 435
12.4.3 通用在线仿真器MICE-51及其使用 436
12.4.4 单片机开发软件SK和MBUG简介 451
习题与思考题 459
第13章 实验 461
13.1 指令系统实验 461
实验1 传送指令练习 461
实验2 算逻指令练习 464
实验3 其他指令功能练习 467
13.2 汇编语言程序设计实验 470
实验4 分支和循环程序练习 470
实验5 查表和显示程序练习 472
实验6 运算程序练习 475
13.3 接口实验 477
实验7 存储器扩充和P1口实验 477
实验8 8155(一) 479
实验9 8155(二) 481
实验10 键盘实验 482
实验11 D/A转换实验 483
实验12 A/D转换实验 486
实验13 串行口实验 487
13.4 综合实验 488
实验14 电脑时钟 488
实验15 交通灯控制实验 490
附录 493
附录Ⅰ 常用集成电路引脚图 493
附录Ⅱ ASCⅡ码字符表 496
附录Ⅲ MCS-51系列单片机指令表 497
参考文献 506