第1章 数的表示与运算 1
1.1 数制 1
1.1.1 数制的表示 1
1.1.2 数制之间的转换 2
1.2 二进制数的表示与运算 5
1.2.1 无符号二进制数的表示 5
1.2.2 无符号二进制数的运算 5
1.2.3 有符号二进制数的表示 6
1.2.4 有符号二进制数的运算 8
1.3 BCD码的表示与运算 9
1.3.1 BCD码的编码方法 9
1.3.2 8421BCD码的加减运算 10
1.4 字符的表示 12
习题1 13
第2章 8086微机系统 14
2.1 概述 14
2.1.1 微机系统的工作原理 14
2.1.2 微机系统的硬件组成 14
2.2 8086微处理器的结构 16
2.2.1 8086的内部结构 16
2.2.2 8086的工作模式 18
2.3 8086微处理器的引脚特性 18
2.3.1 两种工作模式的公共引脚 19
2.3.2 最小模式下的引脚 21
2.3.3 最大模式下的引脚 21
2.4 8086微机系统的总线时序 22
2.4.1 基本概念 22
2.4.2 最小模式下的总线周期时序 24
2.4.3 最大模式下的总线周期时序 27
2.5 8086微机系统的硬件组成与组织 28
2.5.1 8086微机系统的硬件组成 28
2.5.2 8086微机系统的存储器组织 30
2.5.3 8086微机系统的I/O组织 31
2.5.4 8086的寄存器结构 32
习题2 34
第3章 8086寻址方式与指令系统 36
3.1 概述 36
3.2 8086寻址方式 36
3.2.1 立即寻址 36
3.2.2 寄存器寻址 37
3.2.3 直接寻址 37
3.2.4 寄存器间接寻址 38
3.2.5 寄存器相对寻址 39
3.2.6 基址变址寻址 40
3.2.7 相对基址变址寻址 40
3.3 8086指令系统 41
3.3.1 数据传送指令 42
3.3.2 算术运算指令 48
3.3.3 位运算指令 54
3.3.4 串操作指令 58
3.3.5 控制转移指令 61
3.3.6 处理器控制指令 66
习题3 67
第4章 8086汇编语言程序设计 70
4.1 汇编语言基础知识 70
4.1.1 概述 70
4.1.2 汇编语言程序的结构 70
4.1.3 汇编语言的语句 71
4.1.4 汇编语言的数据 73
4.1.5 汇编语言的操作符与表达式 74
4.2 汇编语言的伪指令 77
4.2.1 变量定义伪指令 77
4.2.2 符号定义伪指令 77
4.2.3 段定义伪指令 78
4.2.4 过程定义伪指令 79
4.2.5 模块定义和结束伪指令 80
4.2.6 其他伪指令 80
4.3 系统功能调用 81
4.3.1 DOS功能调用 81
4.3.2 BIOS功能调用 83
4.4 汇编语言程序设计 83
4.4.1 程序的质量标准 83
4.4.2 汇编语言程序设计的基本步骤 84
4.4.3 顺序结构程序设计 84
4.4.4 分支结构程序设计 85
4.4.5 循环结构程序设计 87
4.4.6 子程序设计 89
4.4.7 汇编语言程序设计举例 92
4.5 汇编语言程序的上机过程 97
4.5.1 上机环境 97
4.5.2 上机过程 98
4.5.3 运行调试 98
习题4 101
第5章 Proteus仿真平台的使用 103
5.1 Proteus简介 103
5.1.1 Proteus主界面和基本配置 103
5.1.2 创建Proteus仿真工程 104
5.2 Proteus基本使用与原理图绘制 105
5.2.1 可视化界面及工具 105
5.2.2 基本操作 108
5.2.3 元件的查找与选取 109
5.2.4 元件的使用 111
5.2.5 连线 114
5.2.6 元件标签 116
5.2.7 元件标注 117
5.2.8 属性分配工具 117
5.2.9 全局标注器 118
5.3 Proteus下8086的仿真 118
5.3.1 编辑电路原理图 119
5.3.2 添加源代码 119
5.3.3 仿真调试 121
5.4 自定义仿真元件 122
5.4.1 Proteus的电气模型 122
5.4.2 自定义仿真模型 124
习题5 127
第6章 存储器 128
6.1 半导体存储器的分类 128
6.1.1 RAM的分类 129
6.1.2 ROM的分类 129
6.2 半导体存储器的主要技术指标 130
6.3 典型存储器芯片介绍 130
6.4 存储器与系统的连接 134
6.4.1 存储器扩展 134
6.4.2 存储器地址译码方法 135
6.4.3 8086 CPU与存储器的连接 136
习题6 141
第7章 输入/输出接口 142
7.1 I/O接口概述 142
7.1.1 CPU与外设之间交换的信息 142
7.1.2 I/O接口的主要功能 143
7.1.3 I/O接口的结构 143
7.1.4 I/O寻址方式 144
7.2 简单I/O接口芯片 146
7.3 CPU与外设之间的数据传送方式 146
7.3.1 程序控制方式 146
7.3.2 中断方式 150
7.3.3 直接存储器存取方式 150
7.3.4 通道控制方式 151
习题7 151
第8章 可编程接口芯片 153
8.1 可编程接口芯片概述 153
8.2 可编程并行接口芯片8255A 153
8.2.1 8255A的内部结构及引脚功能 153
8.2.2 8255A的工作方式 155
8.2.3 8255A的编程 157
8.2.4 8255A的应用举例 158
8.3 可编程定时/计数器8253/8254 163
8.3.1 8253的内部结构及引脚功能 163
8.3.2 8253的工作方式 165
8.3.3 8253初始化 168
8.3.4 8253的应用举例 170
8.4 可编程串行通信接口芯片8251A 174
8.4.1 串行数据传送方式 174
8.4.2 传输速率和传输距离 175
8.4.3 同步串行通信与异步串行通信 175
8.4.4 8251A简介及应用 176
习题8 185
第9章 中断与中断管理 187
9.1 中断的概念 187
9.1.1 中断与中断源 187
9.1.2 中断系统的功能 187
9.1.3 中断源识别及中断优先级判优 188
9.2 8086的中断系统 191
9.2.1 8086的中断类型 191
9.2.2 中断类型号的获取 192
9.2.3 中断向量和中断向量表 193
9.2.4 8086的中断响应和处理过程 196
9.2.5 8086的中断处理顺序 198
9.3 可编程中断控制器8259A 199
9.3.1 8259A的结构 199
9.3.2 8259A的引脚及其功能 201
9.3.3 8259A的中断处理过程 201
9.3.4 8259A的工作方式 202
9.3.5 8259A的编程与应用 205
9.4 中断程序设计 211
9.4.1 中断设计方法 211
9.4.2 中断程序设计举例 212
习题9 217
第10章 数模与模数转换及应用 218
10.1 物理信号到电信号的转换 218
10.1.1 概述 218
10.1.2 常见的传感器 218
10.2 数模转换及应用 219
10.2.1 D/A转换器的基本原理 219
10.2.2 D/A转换器的性能参数 222
10.2.3 8位D/A转换器DAC0832 223
10.3 模数转换及应用 226
10.3.1 A/D转换器的基本原理 226
10.3.2 A/D转换器的性能参数 227
10.3.3 8位A/D转换器ADC0808/0809 227
习题10 233
第11章 总线 234
11.1 总线的概念 234
11.2 系统总线 235
11.2.1 ISA总线 235
11.2.2 EISA总线 237
11.2.3 PCI总线 237
11.3 外部总线 239
11.3.1 RS-232C串行总线 239
11.3.2 通用串行总线(USB) 242
习题11 244
第12章 Proteus仿真基础实例 245
12.1 基本I/O应用——I/O译码 245
12.1.1 功能说明 245
12.1.2 Proteus电路设计 245
12.1.3 代码设计 248
12.1.4 仿真分析与思考 248
12.2 定时/计数器8253的应用——波形发生器 249
12.2.1 功能说明 249
12.2.2 Proteus电路设计 249
12.2.3 代码设计 251
12.2.4 仿真分析与思考 252
12.3 并行接口芯片8255A的应用——键盘与数码管 253
12.3.1 功能说明 253
12.3.2 Proteus电路设计 253
12.3.3 代码设计 254
12.3.4 仿真分析与思考 256
12.4 中断应用——8259A芯片的使用 257
12.4.1 功能说明 257
12.4.2 Proteus电路设计 257
12.4.3 代码设计 258
12.4.4 仿真分析与思考 259
12.5 A/D转换——ADC0808的使用 260
12.5.1 功能说明 260
12.5.2 Proteus电路设计 260
12.5.3 代码设计 262
12.5.4 仿真分析与思考 264
12.6 D/A转换——DAC0832的使用 264
12.6.1 功能说明 264
12.6.2 Proteus电路设计 264
12.6.3 代码设计 265
12.6.4 仿真分析与思考 266
12.7 串行通信——8251A的使用 266
12.7.1 功能说明 266
12.7.2 Proteus电路设计 266
12.7.3 代码设计 268
12.7.4 仿真分析与思考 269
12.8 字符输出——字符型LCD的使用 270
12.8.1 功能说明 270
12.8.2 Proteus电路设计 270
12.8.3 代码设计 271
12.8.4 仿真分析与思考 272
第13章 Proteus仿真综合实例 273
13.1 电子秒表 273
13.1.1 设计任务 273
13.1.2 设计原理 273
13.1.3 设计方案 273
13.1.4 Proteus电路设计 274
13.1.5 代码设计 274
13.1.6 仿真分析与思考 282
13.2 电压监控报警器 282
13.2.1 设计任务 282
13.2.2 设计原理 283
13.2.3 设计方案 283
13.2.4 Proteus电路设计 284
13.2.5 代码设计 285
13.2.6 仿真分析与思考 290
13.3 电机转向和转速控制 291
13.3.1 设计任务 291
13.3.2 设计原理 291
13.3.3 设计方案 291
13.3.4 Proteus电路设计 292
13.3.5 代码设计 292
13.3.6 仿真分析与思考 298
习题13 298
附录A VSM仿真的元件库 302
参考文献 304