第1章 微型计算机系统概述 1
1.1 微型计算机组成结构与数据的表示 1
1.1.1 概述 1
1.1.2 CPU 2
1.1.3 微型计算机 2
1.1.4 微型计算机系统 3
1.1.5 微机系统的性能指标 3
1.1.6 数据在计算机中的表示方法 4
1.1.7 位、字节、字和字长 7
1.2 现代微机系统的基本组成 7
1.2.1 现代微机系统简介 7
1.2.2 控制逻辑芯片 9
1.3 微型计算机接口组成 9
1.3.1 接口简介 9
1.3.2 接口功能 10
1.3.3 接口组成 11
1.3.4 I/O端口和I/O操作 11
1.3.5 I/O端口的编址方式 12
1.3.6 CPU与接口数据的交换技术 13
1.4 I/O端口地址分配与地址译码技术 14
1.4.1 I/O端口地址分配 14
1.4.2 I/O端口地址译码 15
1.5 拓展工程训练项目 17
1.5.1 项目1:认识微型计算机的组成结构 17
1.5.2 项目2:认识微型计算机的常用接口 18
1.5.3 项目3:设计具有6组I/O端口地址的译码电路 19
1.5.4 拓展工程训练项目考核 19
同步练习题 21
第2章 8086微处理器 22
2.1 8086微处理器概述 22
2.1.1 8086 CPU的内部结构 22
2.1.2 8086存储器的管理 27
2.1.3 8086存储区的分配 28
2.2 8086微处理器引脚功能 29
2.2.1 8086 CPU引脚 29
2.2.2 最小模式和最大模式的典型配置 31
2.3 8086总线的操作时序 33
2.3.1 时序的基本概念 33
2.3.2 典型的8086时序分析 34
2.4 Intel 80x86系列微处理器简介 40
2.4.1 80x86系列微处理器发展简介 40
2.4.2 8086和80286 41
2.4.3 80386和80486 41
2.4.4 Pentium(奔腾)和P6系列处理器 42
2.4.5 奔腾Ⅱ和奔腾Ⅲ 43
2.4.6 Intel Pentium 4处理器 43
2.4.7 Intel超线程处理器 44
2.4.8 Intel双核技术处理器 44
2.5 拓展工程训练项目 45
2.5.1 项目1:认识8086 CPU 45
2.5.2 项目2:认识8086 CPU引脚 45
2.5.3 项目3:8086控制LED灯右循环亮 46
2.5.4 项目4:认识典型的CPU微处理器 48
2.5.5 拓展工程训练项目考核 50
同步练习题 50
第3章 8086指令系统及汇编语言程序设计 52
3.1 指令格式与寻址方式 52
3.1.1 指令格式 52
3.1.2 8086/8088的寻址方式 53
3.2 数据传送类指令与串操作类指令 59
3.2.1 概述 59
3.2.2 数据传送类指令 59
3.2.3 串操作类指令 66
3.3 算术运算指令与位操作指令 70
3.3.1 概述 70
3.3.2 算术运算指令 70
3.4 控制转移指令与处理器控制指令 78
3.4.1 控制转移指令 79
3.4.2 处理器控制指令 88
3.5 汇编语言程序格式 90
3.5.1 概述 90
3.5.2 汇编程序开发过程 90
3.5.3 汇编语言程序书写格式 91
3.5.4 表达式与运算符 92
3.5.5 伪指令语句 93
3.5.6 汇编语言程序的上机过程 97
3.6 程序的基本结构 98
3.6.1 概述 98
3.6.2 程序的基本结构概述 98
3.7 BIOS和DOS中断 105
3.7.1 概述 105
3.7.2 BIOS和DOS的中断类型 106
3.7.3 BIOS和DOS功能调用的基本步骤 107
3.7.4 常见的BIOS和DOS功能调用 107
3.8 子程序结构 111
3.8.1 概述 111
3.8.2 子程序基本概念 111
3.8.3 子程序的结构形式 111
3.8.4 子程序的定义 112
3.8.5 子程序的参数传送 113
3.8.6 子程序设计举例 116
3.9 拓展工程训练项目 118
3.9.1 项目1:认识8086的寻址方式 118
3.9.2 项目2:内存数据的移动 121
3.9.3 项目3:多字节的乘法 122
3.9.4 项目4:计算|x-y| 127
3.9.5 项目5:把字符串显示到屏幕上 129
3.9.6 项目6:折半查找 132
3.9.7 项目7:从键盘中接收字符 134
3.9.8 项目8:排序 137
3.9.9 拓展工程训练项目考核 140
同步练习题 141
第4章 存储器 144
4.1 存储器的分类 144
4.1.1 存储器的概述 144
4.1.2 存储器的分类方法 144
4.1.3 存储器的层次结构 145
4.1.4 存储器的性能指标 146
4.2 读写存储器RAM 147
4.2.1 静态读写存储器SRAM 147
4.2.2 动态读写存储器DRAM 148
4.2.3 现代RAM简介 150
4.3 只读存储器ROM 154
4.3.1 掩膜只读存储器ROM 155
4.3.2 紫外光擦除可编程只读存储器EPROM 155
4.3.3 电可擦除可编程只读存储器EEPROM 156
4.3.4 闪速只读存储器Flash ROM 158
4.4 存储器分配与存储器扩展技术 159
4.4.1 PC的内存地址空间分配 159
4.4.2 存储器与CPU的连接 159
4.4.3 存储芯片的选择 161
4.4.4 存储器接口中的片选 161
4.4.5 存储容量的扩展 162
4.4.6 扩展应用举例 164
4.5 拓展工程训练项目 169
4.5.1 项目1:认识各种存储器芯片 169
4.5.2 项目2:设计一个容量为4KB RAM的存储器 171
4.5.3 项目3:设计一个容量为8KB ROM的存储器 172
4.5.4 项目4:设计一个容量为16KB ROM和8KB RAM的存储器 174
4.5.5 拓展工程训练项目考核 176
同步练习题 176
第5章 可编程并行接口8255A 178
5.1 8255A芯片引脚和内部结构 178
5.1.1 概述 178
5.1.2 8255A芯片引脚 178
5.1.3 8255A内部结构 180
5.2 8255A控制字及状态字 181
5.2.1 工作方式选择控制字 181
5.2.2 端口C按位置位/复位控制字 182
5.3 8255A的工作方式 183
5.3.1 方式0 183
5.3.2 方式1 184
5.3.3 方式2 186
5.4 拓展工程训练项目 188
5.4.1 项目1:8255A读取开关的状态并显示 188
5.4.2 项目2:8255A控制LED灯左循环亮 190
5.4.3 项目3:8255A控制LED灯左右循环亮 191
5.4.4 项目4:8255A控制继电器 194
5.4.5 项目5:8255A控制步进电机 197
5.4.6 拓展工程训练项目考核 201
同步练习题 201
第6章 中断系统与可编程8259A 203
6.1 8086中断系统 203
6.1.1 中断基本概念 203
6.1.2 中断类型与中断向量表 205
6.1.3 中断响应过程 206
6.1.4 8086中断结构 207
6.2 8259A芯片引脚和内部结构 209
6.2.1 概述 209
6.2.2 8259A芯片引脚与内部结构 209
6.2.3 8259A的中断工作过程 211
6.3 8259A控制字及编程应用 212
6.3.1 8259A控制字 212
6.3.2 8259A操作方式说明 217
6.3.3 8259A的初始化编程 219
6.3.4 8259A的应用 220
6.4 拓展工程训练项目 221
6.4.1 项目1:外部中断控制继电器 221
6.4.2 项目2:用8259A中断控制LED灯左循环亮 224
6.4.3 项目3:外部中断次数显示 227
6.4.4 项目4:中断控制流水灯 230
6.4.5 项目5:两个外部中断源中断 233
6.4.6 拓展工程训练项目考核 237
同步练习题 237
第7章 可编程定时器/计数器8253 239
7.1 8253的功能、引脚与内部结构 239
7.1.1 定时器/计数器的基本概念与分类 239
7.1.2 8253的主要功能 240
7.1.3 8253的引脚 240
7.1.4 8253的内部结构 241
7.2 8253的控制字和读写操作 242
7.2.1 8253的控制字 242
7.2.2 8253的初始化编程(写操作) 244
7.2.3 8253当前计数值的读取(读操作) 245
7.3 8253的工作方式 246
7.3.1 方式0——计数到零产生中断请求 246
7.3.2 方式1——可重触发的单稳态触发器 248
7.3.3 方式2——分频器 249
7.3.4 方式3——方波发生器 250
7.3.5 方式4——软件触发选通方式 251
7.3.6 方式5——硬件触发选通方式 252
7.3.7 6种工作方式小结 253
7.4 拓展工程训练项目 254
7.4.1 项目1:用8253对外部事件进行计数 254
7.4.2 项目2:用8253控制LED闪烁 256
7.4.3 项目3:用8253控制继电器 258
7.4.4 项目4:电子琴 259
7.4.5 项目5:用8253实现生产流水线上的工件计数 263
7.4.6 拓展工程训练项目考核 267
同步练习题 268
第8章 串行通信与可编程8251A 270
8.1 串行通信基础 270
8.1.1 概述 270
8.1.2 单工、半双工和全双工通信 270
8.1.3 串行通信方式 271
8.1.4 通信速率 273
8.1.5 串行通信接口标准 273
8.2 8251A芯片引脚、内部结构和工作过程 278
8.2.1 概述 278
8.2.2 8251A芯片引脚 278
8.2.3 8251A的内部结构 280
8.2.4 8251A的工作过程 281
8.3 8251A方式控制字及初始化编程 282
8.3.1 8251A的方式控制字 282
8.3.2 操作命令字 282
8.3.3 状态字 283
8.3.4 初始化编程 285
8.4 拓展工程训练项目 287
8.4.1 项目1:两台微机之间进行通信 287
8.4.2 项目2:8251A“自发自收”通信 288
8.4.3 项目3:上位PC与8251A串行口通信 291
8.4.4 项目4:用1号机控制2号机LED左循环显示 293
8.4.5 项目5:用PC控制LED显示 299
8.4.6 拓展工程训练项目考核 302
同步练习题 303
第9章 可编程DMA控制器8237A 305
9.1 8237A的引脚与内部结构 305
9.1.1 DMA传送的基本概念 305
9.1.2 8237A引脚与内部结构 306
9.2 8237A的控制字及应用 311
9.2.1 8237A的控制字 311
9.2.2 8237A的初始化编程及应用 316
9.3 拓展工程训练项目 318
9.3.1 项目1:利用8237A进行存储器到存储器的数据传送 318
9.3.2 项目2:用8237A从接口向RAM输入数据并显示 320
9.3.3 项目3:DMA进行存储器到存储器的数据传送 322
9.3.4 项目4:DMA进行存储器到I/O的数据传送 325
9.3.5 拓展工程训练项目考核 328
同步练习题 329
第10章 D/A数模转换 330
10.1 DAC0832芯片引脚和内部结构 330
10.1.1 概述 330
10.1.2 D/A转换器的主要技术指标 331
10.1.3 DAC0832芯片引脚 332
10.1.4 DAC0832芯片内部结构 333
10.1.5 D/A转换器的输出 333
10.1.6 DAC0832的工作方式 334
10.2 12位D/A转换芯片DAC1210与DAC0832应用 336
10.2.1 DAC1210的引脚与内部结构 336
10.2.2 DAC0832应用 337
10.3 拓展工程训练项目 339
10.3.1 项目1:DAC0832输出连续的锯齿波 339
10.3.2 项目2:DAC0832输出连续的三角波和锯齿波 340
10.3.3 项目3:用DAC0832控制直流电机 343
10.3.4 项目4:直流电机转速控制 346
10.3.5 拓展工程训练项目考核 348
同步练习题 349
第11章 A/D模数转换 350
11.1 ADC0809芯片引脚和内部结构 350
11.1.1 概述 350
11.1.2 A/D转换器的主要技术指标 350
11.1.3 ADC0809芯片特点 351
11.1.4 ADC0809芯片引脚功能与内部结构 351
11.1.5 ADC0809的工作过程 353
11.1.6 12位A/D转换器AD574的结构及引脚 354
11.2 A/D转换器与CPU的接口及应用 356
11.2.1 ADC0809转换器与CPU的接口 356
11.2.2 ADC0809转换器的应用 357
11.2.3 12位AD574转换器的应用 359
11.3 拓展工程训练项目 360
11.3.1 项目1:ADC0809转换的值用LED显示 360
11.3.2 项目2:ADC0809采集的值用于控制直流电机转速 362
11.3.3 项目3:ADC0809采集的温度值用于控制直流电机转速 364
11.3.4 项目4:数据采集综合应用 366
11.3.5 拓展工程训练项目考核 370
同步练习题 371
第12章 总线技术 372
12.1 总线概述 372
12.1.1 总线的含义 372
12.1.2 总线的分类 372
12.1.3 总线的主要技术指标 373
12.1.4 微机常用总线简介 375
12.1.5 总线与CPU的连接 377
12.2 系统总线 377
12.2.1 S-100总线 377
12.2.2 STD总线 378
12.2.3 ISA总线 380
12.2.4 EISA总线 382
12.2.5 PCI局部总线 382
12.3 外部总线 386
12.3.1 USB总线 386
12.3.2 IEEE-488总线 387
12.4 拓展工程训练项目 388
12.4.1 项目1:利用ISA总线的IRQ7进行中断,在屏幕上显示一个“7” 388
12.4.2 项目2:利用系统总线进行存储器扩展 390
12.4.3 项目3:认识USB接口 392
12.4.4 项目4:利用ISA总线的IRQ2进行中断,在屏幕上显示一个“黑桃” 393
12.4.5 项目5:利用ISA总线扩展键盘 395
12.4.6 拓展工程训练项目考核 398
同步练习题 399
第13章 工程应用与课程设计题目 400
13.1 项目1:数据采集工程应用 400
13.1.1 项目要求与目的 400
13.1.2 项目电路连接与说明 400
13.1.3 项目电路原理框图 401
13.1.4 项目程序设计 401
13.2 项目2:模拟交通灯控制 404
13.2.1 项目要求与目的 404
13.2.2 项目电路连接与说明 405
13.2.3 项目电路原理框图 405
13.2.4 项目程序设计 405
13.3 课程设计题目 409
13.3.1 音乐发生器 409
13.3.2 简易数码管移位显示器 410
13.3.3 串行通信设计 410
13.3.4 数字密码锁 411
13.3.5 D/A转换器设计 411
13.3.6 步进电机控制 412
13.3.7 模拟交通灯控制 413
13.3.8 电子时钟 413
13.3.9 2路A/D转换并显示 414
13.3.10 上位PC控制直流电机转速 414
13.3.11 利用ISA总线设计16路模拟数据采集器 415
13.3.12 利用ISA总线设计8路数据采集和单通道模拟量输出器 416
13.4 综合实训项目考核评价 416
附录A IBMPC/XT中断向量地址表 418
附录B 8086指令表 419
附录C DOS功能调用(INT21H)表 427
附录D BIOS中断调用表 432
附录E 常用集成芯片引脚图 436
参考文献 439