第1章 计算机基础 1
1.1 概述 1
1.1.1 第一代微处理器 2
1.1.2 第二代微处理器 2
1.1.3 第三代微处理器 2
1.1.4 第四代高档微处理器 3
1.1.5 第五代高档微处理器 4
1.1.6 第六代Pentium微处理器 4
1.2 计算机中数据的表示 5
1.2.1 计算机中的数制 5
1.2.2 计算机中数据的表示方法 10
1.2.3 计算机中非数值数据信息的表示方法 15
1.3 微型计算机的系统 18
1.3.1 硬件系统 18
1.3.2 微处理器的内部总线结构 20
1.3.3 引脚的功能复用 21
1.3.4 流水线技术 22
1.3.5 软件系统 23
思考题与习题 23
第2章 80x86/Pentium微处理器 25
2.1 8086微处理器 25
2.1.1 8086CPU结构与特点 25
2.1.2 8086的工作模式和引脚特性 31
2.1.3 8086的总线操作和时序 35
2.1.4 8086 CPU系统结构 39
2.2 80x86/Pentium高档微处理器 44
2.2.1 80286微处理器 45
2.2.2 80386微处理器 49
2.2.3 804.8 6微处理器 56
2.2.4 Pentium微处理器 58
思考题与习题 60
第3章 80x86/Pentium指令系统 61
3.1 8086/8088 CPU指令系统 61
3.1.1 寻址方式 61
3.1.2 指令系统 67
3.2 80x86/Pentium指令系统 106
3.2.1 80286增强与增加的指令 107
3.2.2 80386/80486增强与增加的指令 111
3.2.3 Pentium系列处理器增加的指令 115
思考题与习题 117
第4章 汇编语言程序设计 123
4.1 概述 123
4.2 汇编语言源程序的结构 124
4.2.1 汇编语言源程序结构特点 125
4.2.2 源程序与PC DOS的接口 126
4.3 汇编语言的语句 127
4.3.1 语句的种类 127
4.3.2 语句格式 128
4.3.3 语句中的操作数 129
4.4 汇编语言的伪指令语句 135
4.4.1 基本伪指令语句 136
4.4.2 80x86/Pentium扩展伪指令语句 147
4.5 汇编语言程序设计基础 153
4.5.1 概述 153
4.5.2 程序的基本结构 154
4.5.3 程序设计基本方法 155
4.5.4 子程序设计与调用技术 164
4.6 模块化程序设计技术 172
4.6.1 概述 172
4.6.2 程序中模块间的关系 173
4.6.3 模块化程序设计举例 175
4.7 实用程序设计举例 178
思考题与习题 185
第5章 Proteus应用指南 189
5.1 Proteus ISIS工作界面 189
5.1.1 ISIS命令工具栏 191
5.1.2 原理图编辑窗口 193
5.1.3 预览窗口 193
5.1.4 对象选择器 194
5.1.5 ISIS模式选择工具栏 195
5.1.6 仿真控制按钮 196
5.1.7 ISIS旋转、镜像控制按钮 196
5.2 原理图设计 197
5.2.1 原理图设计的方法和步骤 197
5.2.2 ISIS鼠标使用规则 197
5.2.3 原理图设计过程 198
5.3 Proteus VSM电路仿真分析 206
5.3.1 虚拟仪器 206
5.3.2 Proteus信号发生器 211
5.3.3 探针 212
5.3.4 仿真图表分析 214
5.3.5 电源与地 215
5.3.6 交互式电路仿真 215
5.4 Proteus 8086源代码调试方法 217
5.4.1 Proteus 8086汇编源代码调试方法 217
5.4.2 Proteus 8086 C语言源代码调试方法 220
5.4.3 Proteus仿真与调试技巧 222
第6章 存储器 225
6.1 概述 225
6.1.1 存储器的分类 226
6.1.2 存储器的基本结构 228
6.1.3 主要技术指标 229
6.2 随机存储器 230
6.2.1 静态RAM 230
6.2.2 动态RAM 233
6.3 只读存储器 235
6.3.1 掩膜ROM 236
6.3.2 可编程ROM 236
6.3.3 可擦除可编程ROM 237
6.3.4 电可擦除可编程ROM 240
6.4 半导体存储器与CPU的连接 242
6.4.1 需要考虑的问题 242
6.4.2 存储器容量扩充 244
6.4.3 8086/8088与存储器连接 246
思考题与习题 248
第7章 微机的中断系统 250
7.1 中断系统 250
7.1.1 中断的基本概念 250
7.1.2 中断系统功能 251
7.1.3 中断处理过程 252
7.1.4 中断管理 254
7.2 80x86中断结构 257
7.2.1 中断分类 257
7.2.2 中断管理过程 258
7.2.3 中断向量和中断向量表 260
7.2.4 8086的中断 262
7.3 中断控制器8259A 264
7.3.1 8259A的功能 264
7.3.2 8259A的内部结构和引脚特性 265
7.3.3 8259A的工作方式 267
7.3.4 8259A的编程 270
7.3.5 8259A的级联 277
思考题与习题 279
第8章 输入/输出接口 280
8.1 概述 280
8.1.1 I/O信息 280
8.1.2 I/O接口要解决的问题 281
8.1.3 I/O接口的功能 282
8.1.4 I/O端口的编址方法 283
8.1.5 简单的I/O接口 283
8.2 输入和输出的传送方式 287
8.2.1 程序控制的输入和输出 287
8.2.2 中断控制的输入和输出 291
8.2.3 直接存储器存取(DMA)方式 292
思考题与习题 293
第9章 定时计数技术 295
9.1 概述 295
9.2 可编程定时器/计数器8253 296
9.2.1 内部结构 296
9.2.2 引脚信号 298
9.2.3 8253计数器的计数启动方式和计数结束方式 299
9.2.4 工作方式 299
9.2.5 8253的方式控制字 304
9.3 定时器/计数器应用实例 306
9.3.1 8253的编程逻辑 306
9.3.2 8253的实际应用 306
思考题与习题 310
第10章 并行、串行(I/O)接口 312
10.1 并行(I/O)接口 312
10.1.1 并行接口的特点 312
10.1.2 可编程并行接口芯片8255A 312
10.2 8255A应用举例 321
10.3 键盘、显示及其接口 324
10.3.1 概述 324
10.3.2 键盘识别原理 325
10.3.3 LED显示器及其接口 329
10.4 串行接口和串行通信 333
10.4.1 串行通信的基本概念 333
10.4.2 串行接口 333
10.4.3 串行通信的3种方式 334
10.4.4 串行数据传送方式 335
10.4.5 信号的调制与解调 337
10.4.6 RS-232C串行通信标准 338
10.5 可编程串行I/O接口8251A 339
10.5.1 8251A的基本工作原理 339
10.5.2 8251A的引脚特性 341
10.5.3 8251A的控制字和状态字 344
10.5.4 8251A的初始化编程 345
10.5.5 8251A的应用举例 347
思考题与习题 348
第11章 数/模转换及模/数转换 350
11.1 概述 350
11.2 数/模(D/A)转换原理 351
11.2.1 D/A转换的工作原理 351
11.2.2 D/A转换器的主要性能指标 351
11.3 常用数/模(D/A)转换芯片的使用 352
11.3.1 8位DAC芯片——DAC 0832 352
11.3.2 12位DAC芯片——AD567 355
11.4 模/数(A/D)转换原理 358
11.4.1 常用A/D转换方法 358
11.4.2 A/D转换器的主要技术参数 359
11.5 常用模/数(A/D)转换芯片的使用 360
11.5.1 8位ADC 芯片——ADC 0809 360
11.5.2 12位ADC芯片——AD574 363
思考题与习题 366
第12章 基于Proteus仿真的8086微型处理器实验 367
12.1 基本I/O口的应用 367
12.2 可编程定时器/计数器8253实验 371
12.3 并行接口芯片8255的应用——键盘和数码管 374
12.4 外部中断实验 380
12.5 模数转换——ADC 0809的使用 385
12.6 数模转换——DAC 0832的使用 389
12.7 串行通信——8251A的使用 393
附录A 指令系统表 399
附录B 指令对标志位的影响 405
附录C 中断向量地址表 406
附录D DOS调用表(INT21H) 407
附录E BIOS中断调用表 412
参考文献 416