第1章 绪论 1
1.1 微型计算机概述 2
1.1.1 微型计算机的发展 2
1.1.2 微型计算机的特点 5
1.1.3 微型计算机的新技术 6
1.1.4 微型计算机的应用 7
1.2 微型计算机系统的组成 9
1.2.1 硬件系统 10
1.2.2 软件系统 12
1.2.3 主要性能指标 14
1.3 机器数的概念 15
1.3.1 二进制数 15
1.3.2 十进制数 17
1.3.3 不同数制之间的转换 18
1.3.4 有符号数在计算机中的表示方法 23
习题 26
第2章 微型计算机原理及结构特点 27
2.1 微型计算机的组成原理 27
2.1.1 主存储器 27
2.1.2 中央处理器 30
2.1.3 微型计算机的工作过程 33
2.1.4 微型计算机的工作过程举例 34
2.2 8086 MPU的结构特点 38
2.2.1 流水线结构 38
2.2.2 编程结构 40
2.2.3 存储分段结构——存储器的管理 43
2.2.4 总线周期 46
2.2.5 8086引脚功能及其工作模式 48
2.2.6 外部设备 53
习题 54
第3章 8086/8088 MPU的指令系统 56
3.1 指令与指令系统 56
3.1.1 指令的组成 56
3.1.2 指令的分类 57
3.1.3 指令系统 57
3.2 寻址方式 58
3.2.1 立即数寻址方式 58
3.2.2 寄存器寻址方式 58
3.2.3 RAM寻址方式 59
3.3 8086指令系统 62
3.3.1 数据传送指令 63
3.3.2 地址传送指令 66
3.3.3 标志寄存器传送指令 67
3.3.4 算术运算指令 67
3.3.5 逻辑运算指令 70
3.3.6 移位指令 71
3.3.7 控制转移指令 73
3.3.8 字符串操作指令 76
3.3.9 处理器控制指令 78
3.4 中断及中断返回 79
习题 80
第4章 汇编语言 82
4.1 汇编语言程序 82
4.1.1 汇编语言的基本概念 82
4.1.2 汇编语言源程序的格式 83
4.2 汇编语言的语句 84
4.2.1 指令语句 84
4.2.2 伪指令语句 85
4.2.3 宏指令语句 91
4.3 汇编语言程序的上机过程及调试 93
4.3.1 编辑源程序 93
4.3.2 汇编源程序 93
4.3.3 连接程序 94
4.3.4 运行程序 95
4.4 汇编语言程序设计 95
4.4.1 程序设计的基本方法 96
4.4.2 顺序结构程序设计 96
4.4.3 分支结构程序设计 100
4.4.4 循环结构程序设计 102
4.4.5 子程序的调用 106
4.4.6 DOS功能调用与输入/输出 109
4.5 汇编编程举例 110
习题 113
第5章 存储器 116
5.1 半导体存储器 116
5.1.1 概述 116
5.1.2 半导体存储器的分类 118
5.1.3 半导体存储器的主要技术指标 119
5.2 随机存储器 119
5.2.1 RAM芯片的内部结构 119
5.2.2 RAM存储元件 121
5.2.3 RAM操作的时序 122
5.2.4 集成RAM芯片介绍 122
5.3 只读存储器 124
5.3.1 ROM芯片的内部结构 124
5.3.2 集成ROM芯片介绍 124
5.4 存储器的设计方法 126
5.4.1 存储器芯片的选择 126
5.4.2 存储器容量的扩展 126
5.4.3 存储器与CPU的连接 128
5.4.4 存储器地址空间的分配方法 128
5.4.5 存储器设计举例 131
习题 136
第6章 输入/输出系统 137
6.1 输入/输出系统概述 137
6.1.1 外部设备的分类和特征 137
6.1.2 I/O接口的构成及功能 138
6.2 I/O端口编址 139
6.2.1 I/O端口的编址方式 139
6.2.2 I/O端口地址分配 142
6.2.3 I/O端口地址译码 144
6.3 I/O端口数据传送的控制方式 149
6.3.1 程序传送控制方式 149
6.3.2 中断传送控制方式 153
6.3.3 DMA控制方式 154
6.3.4 I/O处理机方式 154
习题 155
第7章 中断与DMA技术 156
7.1 中断原理 156
7.1.1 中断的定义与作用 156
7.1.2 中断源 157
7.1.3 中断优先权与中断嵌套 157
7.1.4 中断过程 160
7.2 8086/8088 CPU中断系统 162
7.2.1 8086/8088的中断类型 162
7.2.2 8086/8088的中断向量及中断向量表 163
7.2.3 DOS下中断服务程序的编写 166
7.3 可编程中断控制器8259A 168
7.3.1 8259A的引脚及内部结构 168
7.3.2 8259A的工作方式 171
7.3.3 8259A的级联 173
7.3.4 8259A的命令字 174
7.4 8259A的应用举例 178
7.5 DMA控制器 181
7.5.1 DMA系统概述 181
7.5.2 8237内部结构及引脚 183
7.5.3 DMA控制器在系统中的使用 192
7.5.4 DMA控制器8237A的初始化编程 195
7.5.5 DMA控制器的应用举例 197
习题 199
第8章 Proteus仿真平台的使用 201
8.1 初识Proteus 201
8.1.1 进入Proteus ISIS 201
8.1.2 工作界面 201
8.1.3 Proteus ISIS中的主要操作 203
8.1.4 Proteus ISIS电路原理图输入 204
8.2 在Proteus中创建新的元件 209
8.3 Proteus电路仿真 215
8.3.1 Proteus ISIS交互式仿真 215
8.3.2 Proteus ISIS基于图表的仿真 219
8.4 Proteus ISIS下8086的仿真 222
8.4.1 编辑电路原理图 223
8.4.2 设置外部代码编译器 223
8.4.3 添加源代码并选择编译器 226
习题 227
第9章 微型计算机接口技术与应用 228
9.1 接口概述 228
9.1.1 接口及相关概念 228
9.1.2 接口的I/O端口与系统的连接 229
9.2 并行I/O接口 230
9.2.1 并行接口的功能与特点 231
9.2.2 并行接口的分类 231
9.2.3 非编程并行接口 232
9.2.4 可编程并行接口芯片8255A概述 239
9.2.5 8255A的初始化编程 242
9.2.6 8255A的工作方式 243
9.2.7 8255A的应用举例 254
9.3 串行通信接口 256
9.3.1 串行通信概述 256
9.3.2 串行传送总线接口 259
9.3.3 可编程串行接口芯片8251A 263
9.3.4 8251A的编程 266
9.3.5 8251A的应用举例 268
9.4 计数与定时技术 272
9.4.1 计数与定时概述 272
9.4.2 定时/计数器8253 273
9.4.3 8253的初始化及编程 276
9.4.4 工作方式及特点 278
9.4.5 8253的应用举例 286
习题 290
第10章 ProteuS仿真实例 292
10.1 基本I/O应用 292
10.1.1 实验要求 292
10.1.2 实验目的 292
10.1.3 实验电路 292
10.1.4 代码设计 293
10.2 8255并行I/O扩展实验 293
10.2.1 实验要求 293
10.2.2 实验目的 293
10.2.3 实验电路 294
10.2.4 代码设计 294
10.3 可编程定时/计数器8253实验 295
10.3.1 实验要求 295
10.3.2 实验目的 295
10.3.3 实验电路 295
10.3.4 代码设计 296
10.4 可编程串行通信控制器8251A实验 296
10.4.1 实验要求 296
10.4.2 实验目的 296
10.4.3 实验电路 297
10.4.4 代码设计 297
10.5 D/A数模转换实验 298
10.5.1 实验要求 298
10.5.2 实验目的 299
10.5.3 实验电路 299
10.5.4 代码设计 299
10.6 A/D模数转换实验 300
10.6.1 实验要求 300
10.6.2 实验目的 300
10.6.3 实验电路 300
10.6.4 代码设计 300
附录A 8086/8088汇编语言指令表 302
附录B ASCⅡ码字符与编码对照表及各种控制字符 311
附录C DOS功能调用 313
参考文献 318