第1章 计算机基础知识 1
1.1 计算机的产生、发展及应用特点 1
1.1.1 计算机产生的结构思想 1
1.1.2 计算机的发展过程 2
1.1.3 计算机的特点及应用 3
1.2 计算机中数据的表示及电路 4
1.2.1 计算机使用的数制及转换 4
1.2.2 二进制运算及电路实现 9
1.2.3 二进制数编码 14
1.2.4 数的定点和浮点表示 18
1.3 微型计算机的发展、特点及分类 20
1.3.1 微型计算机的发展及特点 20
1.3.2 微型计算机分类 21
1.4 微型计算机常用术语及性能指标 22
1.4.1 常用术语 22
1.4.2 性能指标 23
1.5 微型计算机系统组成 24
1.5.1 硬件组成 24
1.5.2 软件系统 26
1.6 微型计算机工作过程 28
1.7 习题 29
第2章 微处理器及其体系结构 32
2.1 8086微处理器 32
2.1.1 8086微处理器的内部结构和功能 32
2.1.2 8086微处理器的寄存器组 33
2.1.3 8086微处理器的引脚分布与工作模式 36
2.1.4 8086微处理器对存储器的管理 39
2.1.5 8086微处理器的工作过程 42
2.2 8086微处理器的总线周期和操作时序 43
2.2.1 时钟周期、总线周期和指令周期 43
2.2.2 基本的总线时序 44
2.3 从8086到80x86微处理器技术的发展 47
2.3.1 80286和80386 47
2.3.2 80486 CPU 48
2.4 Pentium(奔腾)CPU 52
2.4.1 Pentium(奔腾)CPU概述 53
2.4.2 Pentium 4简介 55
2.4.3 新一代微处理器——Itanium(安腾)CPU简介 56
2.5 习题 57
第3章 微型计算机指令系统 59
3.1 指令系统简介 59
3.1.1 指令及指令系统 59
3.1.2 指令格式 59
3.2 8086指令的寻址方式 60
3.2.1 操作数及分类 60
3.2.2 8086数据寻址方式 61
3.2.3 8086转移地址寻址方式 68
3.3 8086指令系统 69
3.3.1 数据传送指令 70
3.3.2 算术运算指令 75
3.3.3 逻辑运算及移位指令 81
3.3.4 串操作类指令 86
3.3.5 控制转移类指令 93
3.3.6 处理器控制指令 100
3.4 从8086到80x86指令系统的变化 101
3.4.1 80x86系统寻址方式 101
3.4.2 80x86增强和扩展指令 103
3.5 汇编指令EMU8086仿真调试 105
3.6 习题 107
第4章 80x86汇编语言及程序设计 112
4.1 汇编语言语法基本知识 112
4.1.1 汇编语言和汇编程序 112
4.1.2 汇编语言语句 113
4.1.3 汇编语言的数据和表达式 114
4.1.4 汇编语言源程序的结构 117
4.2 常用汇编伪指令 118
4.2.1 符号定义伪指令 118
4.2.2 数据定义伪指令 119
4.2.3 程序分段定义伪指令 120
4.2.4 定位操作伪指令 121
4.2.5 程序模块的定义和通信 121
4.2.6 宏操作伪指令 122
4.3 80x86宏汇编伪指令增强与扩充 122
4.4 汇编语言程序设计的基本方法 124
4.4.1 程序设计步骤及技术 124
4.4.2 顺序程序设计 125
4.4.3 选择程序设计 126
4.4.4 循环程序设计 127
4.5 子程序设计 130
4.5.1 过程定义伪指令 130
4.5.2 子程序调用与返回指令 131
4.5.3 子程序设计举例 132
4.6 汇编语言程序上机过程 133
4.6.1 上机步骤 133
4.6.2 调试工具DEBUG 134
4.7 常用汇编语言仿真软件及程序调试示例 134
4.7.1 EMU8086汇编语言仿真软件简介 134
4.7.2 Masm for Windows集成实验环境简介 137
4.7.3 使用EMU8086汇编语言仿真软件调试示例 138
4.8 习题 142
第5章 存储器及应用技术 145
5.1 存储器概述 145
5.1.1 主存储器结构及存储系统的层次结构 145
5.1.2 存储器分类及特点 146
5.1.3 存储器的主要性能参数 148
5.2 读写存储器(RAM) 149
5.2.1 静态RAM(SRAM) 149
5.2.2 动态RAM(DRAM) 150
5.2.3 RAM的工作时序 152
5.3 只读存储器(ROM) 153
5.3.1 只读存储器的结构 153
5.3.2 只读存储器EPROM 154
5.3.3 只读存储器EEPROM 155
5.3.4 快闪存储器Flash 156
5.4 存储器系统设计 156
5.4.1 确定存储器结构 156
5.4.2 存储器地址分配及译码 158
5.4.3 存储器与微处理器的接口连接 160
5.4.4 简单存储器子系统的设计 161
5.5 80x86存储系统简介 164
5.5.1 并行存储器 164
5.5.2 高速缓冲存储器 165
5.6 习题 167
第6章 输入/输出及总线技术 169
6.1 输入/输出接口 169
6.1.1 输入/输出接口基本结构及工作过程 169
6.1.2 输入/输出编址及电路实现 171
6.2 微处理器与外设之间数据控制方式 175
6.2.1 无条件传送方式 175
6.2.2 查询传送方式 176
6.2.3 中断传送方式 177
6.2.4 DMA控制方式 177
6.3 可编程序DMA控制器 179
6.3.1 8237功能及内部结构 179
6.3.2 8237工作方式 180
6.3.3 8237芯片引脚功能 180
6.3.4 内部计数器及寄存器组 182
6.3.5 DMA应用编程 184
6.4 总线技术简介 185
6.4.1 标准总线及分类 185
6.4.2 微机系统总线 187
6.4.3 总线驱动 191
6.4.4 串行通信总线标准 193
6.4.5 串行通信传输通道配置 196
6.5 习题 198
第7章 中断及应用技术 200
7.1 中断系统 200
7.1.1 中断概述 200
7.1.2 80x86中断系统 204
7.2 8259A可编程序中断控制器 208
7.2.1 8259A中断控制器逻辑功能 208
7.2.2 8259A内部结构及引脚功能 208
7.2.3 8259A的工作过程 210
7.2.4 8259A编程 210
7.2.5 8259A应用实例 215
7.3 中断应用 217
7.3.1 ROM BIOS中断调用 217
7.3.2 DOS系统功能调用 218
7.3.3 中断程序设计 219
7.3.4 基于Protues软件的8259A接口电路仿真调试 221
7.4 习题 225
第8章 常用可编程序接口芯片及应用技术 227
8.1 串行通信及可编程序接口芯片应用技术 227
8.1.1 串行通信 227
8.1.2 可编程序接口芯片8251A 230
8.1.3 8251A控制字及初始化编程 235
8.1.4 8251A的应用实例 242
8.1.5 8251A串行通信Proteus仿真示例 245
8.2 并行通信及可编程序接口芯片应用技术 250
8.2.1 并行通信及接口基本概念 250
8.2.2 简单并行I/O接口芯片 252
8.2.3 可编程序并行接口芯片8255A 253
8.2.4 8255A控制字及工作方式 257
8.2.5 8255A应用举例 266
8.2.6 8255A并行通信Proteus仿真示例 271
8.3 可编程序定时器/计数器芯片及应用技术 274
8.3.1 8253的性能、结构及引脚功能 274
8.3.2 8253控制字及工作方式 278
8.3.3 8253编程 288
8.3.4 8253应用实例 290
8.3.5 8253A定时/计数器Proteus仿真示例 291
8.4 习题 295
第9章 数-模/模-数转换及应用技术 298
9.1 计算机闭环控制系统 298
9.1.1 模拟信号获取及变换 298
9.1.2 计算机闭环控制系统 300
9.1.3 一个典型实时控制系统 301
9.2 D-A转换器 302
9.2.1 D-A转换器的基本原理 302
9.2.2 D-A转换器的主要参数 303
9.2.3 8位集成D-A转换器——DAC0832 303
9.2.4 DAC0832应用接口及编程 305
9.3 A-D转换器 308
9.3.1 A-D转换器的基本原理 308
9.3.2 A-D转换器的主要技术指标 310
9.3.3 A-D转换器的外部特性 310
9.3.4 集成8位A-D转换器——ADC0809 310
9.3.5 ADC0809应用接口及编程 313
9.4 D-A及A-D应用Proteus仿真示例 317
9.4.1 DAC0832接口电路软硬件仿真示例 317
9.4.2 ADC0809接口电路软硬件仿真示例 319
9.5 习题 323
附录 324
附录A ASCⅡ(美国标准信息交换码)码表 324
附录B 80x86指令系统表 325
附录C DOS系统功能调用 333
附录D BIOS中断调用 337
参考文献 340