目录 1
1 绪论 1
1.1 微型计算机的发展和应用概况 1
1.1.1 微型计算机的发展简史 1
1.1.2 微型计算机的特点 2
1.1.3 微型计算机的应用 3
1.2 微型计算机硬件的组成及工作过程 3
1.2.1 微型计算机硬件的构成 3
1.2.2 微型计算机软件 5
1.2.3 微型计算机的工作过程 6
1.3 运算基础 7
1.3.1 计算机中采用的数制及转换 7
1.3.2 计算机中数的表示和编码 12
1.3.3 数码运算方法 15
1.3.4 数的定点与浮点表示 19
2 Z80中央处理器与指令系统 24
2.1 Z80中央处理器 25
2.1.1 Z80-CPU的主要特性 25
2.1.2 Z80-CPU的内部结构 25
2.1.3 Z80-CPU的引脚及其功能 31
2.1.4 Z80-CPU时序 35
2.2 Z80的指令格式和寻址方式 41
2.2.1 指令及其表示法 41
2.2.2 Z80寻址方式 43
2.3 Z80-CPU指令系统 48
2.3.1 数据传送与交换指令 48
2.3.2 数据块传送与查找指令 55
2.3.3 算术和逻辑运算指令 58
2.3.4 程序控制指令 65
2.3.5 循环和移位类指令 69
2.3.6 位操作指令 72
2.3.7 输入输出指令 73
2.3.8 CPU控制指令 74
3 汇编语言程序设计 76
3.1 程序设计语言和汇编程序 76
3.1.1 程序设计语言简介 76
3.1.2 汇编程序 77
3.2 Z80汇编语言 78
3.2.1 Z80汇编语言源程序的格式 78
3.2.2 伪指令 81
3.2.3 宏指令和条件汇编 85
3.3 汇编语言程序设计 88
3.3.1 程序设计方法概述 88
3.3.2 顺序程序的设计 90
3.3.3 分支程序的设计 92
3.3.4 循环程序的设计 96
3.3.5 子程序设计 103
3 4.1 算术运算程序 105
3.4 实用程序设计举例 105
3.4.2 代码转换程序 107
3.4.3 数据处理程序 113
4 存贮器 120
4.1 存贮器概述 120
4.1.1 半导体存贮器分类 120
4.2 随机存取存贮器RAM 122
4.2.1 静态RAM 122
4.1.2 半导体存贮器的主要参数 122
4.2.2 动态RAM 125
4.3 只读存贮器 127
4.3.1 掩膜只读存贮器ROM 127
4.3.2 可编程共读存贮器PROM 129
4.3.3 紫外光擦除PROM(也称EPROM) 129
4.3.4 电擦除PROM(即EEPROM或E2PROM) 131
4.4 存贮器与CPU的连接 132
4.4.1 存贮器的编址方式 132
4.4.2 动态RAM芯片与CPU的连接 139
4.4.3 TP-801单板机的存贮器系统 142
5 输入输出与中断 145
5.1 概述 145
5.1.1 I/O端口的寻址方式 146
5.1.2 Z80-CPU的I/O时序 148
5.2 CPU与外设数据传送的方式 149
5.2.1 CPU与I/O之间的接口信号 149
5.2.2 输入输出的操作过程 150
5.2.3 输入输出传送方式 151
5.2.4 简单的I/O接口芯片Intel 8212 164
5.3 中断综述 166
5.3.1 中断概述 166
5.3.2 中断处理过程 168
5.4 Z80-CPU中断系统及其应用 177
5.4.1 Z80中断系统的组成 177
5.4.2 可屏蔽中断(INT)及其中断方式 178
5.4.3 Z80硬件中断优先权管理结构原理 183
5.4.4 中断应用 184
6 接口芯片 186
6.1 可编程序的并行I/O接口芯片 186
6.1.1 Z80-PIO 186
6.1.2 Intel 8255A PPI 198
6.2 计数/定时器接口芯片 204
6.2.1 Z80-CTC 204
6.2.2 Intel 8253 213
6.3.1 串行通信的基本概念 220
6.3.2 Intel 825 lA 223
6.3 串行通信接口 229
6.3.3 Z80-SIO 230
6.4 数/模转换接口与模/数转换接口 240
6.4.1 基本概念 240
6.4.2 典型D/A转换接口及其应用 241
6.4.3 典型A/D转换接口及其应用 247
7 TP-801单板微型计算机及其应用 254
7.1 TP-801单板机的原理和结构 254
7.1.1 概述 254
7.1.2 时钟和复位电路 255
7.1.3 Z80-CPU 256
7.1.4 存贮器 256
7.1.5 I/O接口、LED显示和键盘 257
7.2.1 TPBUG模块的组成 263
7.2 TPBUG监控程序模块及流程 263
7.2.2 TPBUG的简单流程 265
7.2.3 TPBUG部分程序分析 265
7.3 TP-801单板机应用系统设计示例 270
7.3.1 交通灯管理系统 270
7.3.2 步进电机的控制系统设计 272
7.3.3 幅频特性的自动测量系统 278
7.3.4 脉冲数据采集系统 281
8.1 总线概述 289
8 微型计算机的通用标准总线 289
8.2 总线的分类 290
8.2.1 专用总线和非专用总线 290
8.2.2 单总线结构和多总线结构 290
8.2.3 片总线、内总线、外总线 290
8.3 系统总线 291
8.3.1 MULTI总线 291
8.3.2 S-100总线 292
8.3.3 STD总线 292
8.4 通信总线 295
8.4.1 IEEE-488总线 295
8.4.2 RS-232C总线 298
9 单片机概述 300
9.1 单片机及其特点 300
9.2 单片机的发展和应用 301
9.3.1 MCS-48系列单片机 302
9.3 Intel单片机系列简介 302
9.3.2 MCS-51系列单片机 303
9.3.3 MCS-96系列单片机 303
10 MCS-51单片机结构 305
10.1 MCS-51单片机内部结构 305
10.2 MCS-51单片机的引脚功能 305
10.3 中央处理器CPU 307
10.3.1 运算部分 307
10.3.2 堆栈及栈指针SP 308
10.3.3 数据指针DPTR和程序计数器PC 309
10.3.4 定时控制部分 309
10.4 存贮器结构 309
10.4.1 程序存贮器空间 310
10.4.2 数据存贮器空间 311
10.5 并行I/O口 314
10.5.1 I/O端口结构 314
10.5.2 I/O端口功能 315
10.6 定时/计数器 316
10.6.1 工作方式寄存器TMOD 316
10.6.2 标志控制寄存器TCON 317
10.6.3 定时/计数器的四种工作方式 317
10.6.4 定时/计数器应用举例 319
10.7 串行I/O口 320
10.7.1 与串行口有关的特殊功能寄存器 320
10.7.2 波特率 321
10.7.3 串行口工作方式 323
10.7.4 MCS-51多机通讯原理 324
10.8 中断系统 325
10.8.1 中断源 325
10.8.2 中断允许控制寄存器IE 326
10.8.3 中断优先级控制寄存器IP 327
10.8.4 中断响应 328
11.1.1 寄存器寻址 329
11 MCS-51单片机指令系统 329
11.1 寻址方式 329
11.1.2 直接寻址 330
11.1.3 寄存器间接寻址 330
11.1.4 立即寻址 331
11.1.5 基址寄存器加变址寄存器间接寻址 331
11.2 位寻址和布尔处理器 332
11.3 指令系统 332
11.3.1 数据传送指令 333
11.3.2 算术运算指令 337
11.3.3 逻辑运算指令 341
11.3.4 控制转移指令 344
11.3.5 位操作指令 346
11.4 MCS-51单片机汇编语言程序设计举例 348
11.4.1 多字节无符号整数加法程序 348
11.4.3 七段显示码查表程序 350
11.4.2 二-十进制转换程序 350
11.4.4 散转程序 351
11.4.5 逻辑电路软件实现举例 352
11.4.6 无符号双字节快速乘程序 353
11.4.7 多字节十进制加法程序 354
11.4.8 无符号数排序程序 356
12 MCS-51单片机系统扩展与开发 358
12.1 存贮器扩展 359
12.1.1 程序存贮器扩展 360
12.1.2 数据存贮器扩展 363
12.1.3 用E2PROM作存贮器扩展 365
12.2 I/O口扩展 367
12.2.1 简单的并行I/O口扩展 367
12.2.2 8155 RAM/IO接口扩展 370
12.2.3 8255并行I/O口扩展 376
12.3.1 键盘 377
12.3 键盘、显示器接口设计 377
12.3.2 LED显示器 379
12.3.3 用8155接口的键盘、显示器电路 380
12.3.4 用串行口扩展键盘、显示器接口 385
12.3.5 8279可编程键盘、显示器接口 389
12.4 打印机接口 401
12.4.1 GP16打印机介绍 401
12.4.2 MCS-51和GP16打印机接口 404
12.4.3 打印程序设计举例 405
12.5 A/D、D/A接口 408
12.5.1 A/D接口 408
12.5.2 D/A接口 418
12.6 单片机的开发 419
12.6.1 单片机开发步骤 419
12.6.2 单片机开发工具 421
12.7 单片机应用系统开发实例 422
12.7.1 引言 423
12.7.2 动物细胞培养的特点和对控制的要求 423
12.7.3 控制方案的确定 424
12.7.4 以MCS-51为核心的细胞培养控制系统开发 426
13 16位微处理器Intel 8086/8088 429
13.1 8086/8088 CPU的内部结构 429
13.1.1 内部结构框图 429
13.1.2 寄存器 430
13.2 8086/8088引脚功能说明和总线周期 434
13.2.1 8088 CPU引脚说明 435
13.2.2 8086 CPU有关引脚说明 439
13.2.3 总线周期 440
13.3 中断系统 442
13.3.1 8086/8088中断结构 442
13.3.2 外部中断 445
13.4 其它常用芯片、外围电路及IBM PC/XT的CPU系统 452
13.4.1 时钟发生器8284A 453
13.4.2 8282/8283 I/O锁存器 455
13.4.3 8286/8287 8位并行双向总线驱动器 456
13.4.4 总线控制器8288 457
13.4.5 总线仲裁器8289 458
13.4.6 IBM PC/XT机概况 461
14 8088指令系统与汇编语言程序设计 470
14.1 8088的寻址方式 470
14.1.1 立即寻址 470
14.1.2 直接寻址 470
14.1.3 寄存器寻址 471
14.1.4 寄存器间接寻址 471
14.1.5 变址寻址 471
14.1.6 基址加变址的寻址方式 472
14.1.7 字符串寻址 473
14.1.8 I/O端口的寻址 473
14.2 8088指令系统 474
14.2.1 数据传送指令 476
14.2.2 算术运算指令 479
14.2.3 逻辑运算和移位指令 484
14.2.4 字符串操作指令 487
14.2.5 程序转移指令 490
14.2.6 处理机控制指令 494
14.3 8088的汇编语言及程序设计举例 495
14.3.1 常用伪指令 495
14.3.2 段的定义 497
14.3.3 有属性的符号 500
14.3.4 结构 505
14.3.5 过程 511
14.3.6 8088汇编语言程序设计举例 513
附录A 习题与思考题 519
附录B Z80指令表 534
附录C MCS-51指令表 544
附录D 8086/8088指令表 547