本书主要面向高等院校工科非计算机专业的学生。本次修订注意强化计算机近年来的最新发展和应用的内容,同时删减比较陈旧的内容和非教学重点的内容,进一步加强实用性和教学适用性。全书正文包括6章,内容分别是微型计算机基础、微型计算机指令系统、汇编语言程序设计、半导体存储器、数字量输入输出以及模拟量输入输出。
本书结合大量实例来讲述微型计算机的系统原理和应用,内容简明扼要,深入浅出,循序渐进,便于学生自学,可以作为高等院校的教材,也可作为工程技术人员自学计算机知识的参考书。
《微型计算机系统原理及应用》一书,自1995年出版,并于2003年修订第2版以来,一直受到广大读者的欢迎,被许多高等院校选为相关课程的教材或参考书,至今已共计重印将近30次。在此期间,微型计算机技术以及高等学校的微型计算机课程建设都有了迅速的发展。为了适应新的形势,我们编写了本书的第3版。
编写第3版的指导思想是,首先,既要保证基础,又要面向更新,加强新技术。一方面注意培养学生掌握计算机软硬件基本知识,为今后在专业中应用计算机打下牢固基础;另一方面要适应计算机技术飞速发展的形势,加强介绍计算机近年来的最新发展和应用。其次,删减比较陈旧的内容和非教学重点的内容,进一步加强实用性和教学适用性。第三,力求简明扼要,深入浅出,循序渐进,便于学生自学,适当减少全书的篇幅,防止教材“越编越厚”的倾向。例如,加强Intel公司近几年研制的新型微处理器以及相应的指令系统的介绍,进一步介绍新一代的存储器,如DDR内存和Flash存储器,介绍比较实用的RS-485接口、USB接口和SPI接口,增加新推出的高精度D/A和A/D芯片的介绍等。进一步删减比较低档的微处理器的介绍,删减了汇编语言部分的篇幅,特别是汇编语言的机器码。此外,存储器I/O接口和A/D、D/A部分也删减了比较陈旧的内容。
本教材主要面向高等院校非计算机专业的本科生和研究生。同时,本书不仅可以作为高等院校的教材,也可作为工程技术人员自学计算机知识的参考书。
第3版的修订工作由以下几位老师承担:刘慧银负责修订第1章和第3章的3.4节,杨素行负责修订第2章和第3章的3.1节、3.2节、3.3节和3.5节,赵长德负责修订第4章,唐光荣负责修订第5章,黄益庄负责修订第6章。
清华大学自动化系罗予频教授,作为使用本书的在第一线进行微型计算机教学工作的教师,参加了第3版的修订工作,对修订大纲和书中许多内容提出了宝贵的意见,在此表示深深的感谢。
由于作者水平有限,本书的第3版中一定存在有错误或不妥之处,敬请广大读者给予批评指正,以便今后不断改进。
编者2008年12月
第1章 微型计算机基础1
1.1 概述1
1.2 计算机中的数制和编码3
1.2.1 无符号数的表示及运算3
1.2.2 带符号数的表示及运算7
1.2.3 二进制编码11
1.2.4 计算机中数的定点表示和浮点表示12
1.3 微型计算机系统的组成、分类和配置14
1.3.1 微型计算机系统的组成14
1.3.2 微型计算机的分类16
1.3.3 IBM PC及PC/XT的配置16
1.4 微处理器18
1.4.1 Intel 8086/808818
1.4.2 Intel 8028626
1.4.3 Intel 8038627
1.4.4 Intel 8048628
1.4.5 Pentium系列微处理器29
1.4.6 Core及Core2--酷睿及酷睿2微处理器34
1.4.7 核心类型38
1.4.8 移动计算技术--迅驰39
1.4.9 Intel Celeron赛扬41
1.4.10 AMD微处理器41
习题143
第2章 微型计算机指令系统44
2.1 寻址方式44
2.1.1 立即寻址44
2.1.2 寄存器寻址44
2.1.3 直接寻址45
2.1.4 寄存器间接寻址46
2.1.5 变址寻址47
2.1.6 基址寻址48
2.1.7 基址变址寻址48
2.2 8086指令系统52
2.2.1 数据传送指令53
2.2.2 算术运算指令64
2.2.3 逻辑运算和移位指令79
2.2.4 串操作指令88
2.2.5 控制转移指令94
2.2.6 处理器控制指令103
2. 3 80486扩充及增加的指令105
2. 3. 1 80486扩充功能的指令105
2. 3. 2 80486增加的指令107
习题2114
第3章 汇编语言程序设计119
3.1 汇编语言源程序的格式120
3.2 汇编语言语句的组成121
3.2.1 名字121
3.2.2 助记符和伪操作122
3.2.3 操作数122
3.2.4 注释127
3.3 伪操作命令127
3.3.1 处理器方式伪操作128
3.3.2 数据定义伪操作128
3.3.3 符号定义伪操作130
3.3.4 段定义伪操作132
3.3.5 过程定义伪操作135
3.3.6 模块定义与连接伪操作136
3.3.7 宏处理伪操作137
3.3.8 条件伪操作142
3.4 DOS和BIOS调用145
3.4.1 概述145
3.4.2 DOS软中断及系统功能调用147
3.4.3 BIOS调用156
3.5 汇编语言程序设计举例170
习题3185
第4章 半导体存储器188
4.1 概述188
4.1.1 存储器的分类188
4.1.2 半导体存储器的分类188
4.1.3 半导体存储器的主要指标190
4.2 随机读写存储器190
4.2.1 静态RAM191
4.2.2 动态RAM192
4.2.3 双口RAM198
4.3 只读存储器200
4.3.1 掩膜ROM201
4.3.2 可擦可编程只读存储器201
4.3.3 电可擦可编程ROM204
4.3.4 闪速存储器208
4.4 CPU与存储器的连接212
4.4.1 连接时应注意的问题212
4.4.2 典型CPU与存储器的连接213
4.4.3 IBM PC/XT中的存储器215
4.5 微型计算机的扩展存储器及其管理218
4.5.1 存储器体系的分级结构218
4.5.2 高速缓冲存储器219
4.5.3 微型计算机的内存配置222
4.5.4 存储器管理223
习题4224
第5章 数字量输入输出228
51 概述228
511 I/O信号的形式228
512 I/O接口229
513 I/O编址231
514 I/O的控制方式 232
52 系统总线及接口234
521 总线概述234
522 系统总线标准235
523 总线信号与接口的连接243
53 中断控制系统249
531 中断的基本概念249
532 可编程中断控制电路252
533 Intel 8259A的应用260
534 高档微机的中断系统263
54 计数定时接口264
541 基本概念264
5.4.2 可编程计数/定时电路265
543 Intel 8253的应用272
544 其他可编程计数/定时电路275
55 并行输入输出接口275
551 可编程并行接口Intel 8255A275
552 Intel 8255A的应用281
56 串行输入输出接口282
561 基本概念282
562 可编程串行接口电路Ins 8250286
563 Ins 8250的应用举例296
5.6.4 其他串行接口298
57 直接存储器存取DMA300
571 DMA控制器基本功能300
572 可编程DMA控制器Intel 8237301
573 Intel 8237的应用310
58 高档微机中的I/O接口电路311
581 82380的结构311
582 82380的DMA功能312
583 82380的中断功能313
584 82380的定时器313
习题5314
第6章 模拟量输入输出318
6.1 模拟量的输入与输出通道318
6.1.1 模拟量输入通道的组成318
6.1.2 模拟量输出通道的组成319
6.2 D/A转换器320
6.2.1 D/A转换器的工作原理320
6.2.2 D/A转换器的主要技术参数323
6.2.3 典型的D/A转换器芯片324
6.2.4 D/A转换器与微处理器的接口329
6.3 A/D转换器332
6.3.1 A/D转换器的工作原理332
6.3.2 A/D转换器的主要技术性能336
6.3.3 典型的A/D转换器芯片337
6.3.4 A/D转换器与CPU的接口343
6.3.5 V/F转换器346
6.4 多路转换器349
6.4.1 多路转换器的作用和要求349
6.4.2 几种常用的多路开关集成电路芯片349
6.4.3 多路开关的主要技术参数351
6.5 采样保持器352
6.5.1 采样保持器的工作原理353
6.5.2 常用的采样保持器集成芯片354
6.5.3 采样保持电路主要技术参数的含义355
6.6 数据采集系统356
6.6.1 模拟量输入通道的技术要求356
6.6.2 高集成度的数据采集系统356
6.7 采样定理358
习题6359
附录362
附录1 IBM PC ASCII码字符表362
附录2 8086指令系统363
附录3 MASM伪操作命令表384
附录4 DOS系统功能调用(INT 21H)387
附录5 BIOS调用391
附录6 IBM PC 键盘扫描码396
附录7 字符的扩充码396
附录8 IBM PC/XT的中断矢量表397
附录9 部分习题参考答案398
参考文献404