
本书是根据普通高等教育“单片机原理与接口技术”课程教学基本要求,由多年从事本科教学和科研的教师编写。
本书选择MCS51系列单片机作为主讲机型,系统全面地介绍MCS51单片机内部的功能结构、软硬件资源的原理与应用,以及使用外部电路进行功能扩展的方法,最后以两个完整的实例系统全面的介绍了单片机应用的设计方法及步骤。全书共10章,并附有习题。
本书可用作高等理工科专业的单片机教材或教学参考书,也可供从事相关专业的技术人员参考。
本书是作者在多年从事单片机原理及接口技术课程教学实践和科研经验的基础上,参考了大量相关文献资料,组织编写而成。本书主要目的是使理工科非计算机专业的研究生或本科生了解MCS51单片机发展的新技术和应用领域,掌握单片机的基本结构、工作原理、接口技术及单片机汇编语言程序设计等内容,具有单片机硬件和软件开发能力。
本书在编写过程中,结合教育部提出的加强本科生实践能力培养的精神,重点叙述了MCS51单片机的基本原理以及与外设的接口技术。本书的主要内容分两大部分:第一部分是单片机基本原理与接口部分,共9章;第二部分是单片机设计应用实例部分,共1章。第1章讲述单片微机的发展过程、数制、编码以及二进制数运算知识;第2章介绍MCS51单片机的结构、工作原理及特点;第3章详细介绍MCS51单片机的寻址方式及其指令系统;第4章简要介绍MCS51单片机的汇编语言特点及伪指令,重点介绍汇编语言的程序设计及应用实例;第5章介绍半导体存储器的分类,详细阐述MCS51单片机的存储器扩展技术以及存储器与CPU连接间要注意的问题;第6章介绍MCS51单片机内部中断系统和内部定时计数器;第7章介绍输入/输出技术和I/O地址的分配问题,重点讲述MCS51单片机的内部并行口和可编程的并行接口芯片8255A、8155A的工作原理及应用实例;第8章介绍串行通信基本概念、MCS51单片机的内部串行通信接口的工作原理与应用;第9章介绍数/模转换技术(D/A转换器)及应用,以及模/数转换技术(A/D转换器)及应用;第10章主要介绍MCS51单片机最新的设计开发应用和大学生电子设计大赛实例。
本书在内容安排方面,从理工科非计算机专业的特点出发,注重应用,叙述由浅入深,逐层递进。由于本课程是一门实践性很强的课程,在采用本书作为教材时,还应注意加强实践环节,通过大量的上机实验,培养学生基于51单片机的实验研究能力以及软硬件方面的动手开发能力。
本书第1章由袁臣虎编写;第2、3、4、9章由陈伏荣编写;第5、6、7、8章由冯慧编写;第10章实例由徐伟编写;附录由王敏编写。王敏负责全书的大纲拟定、组织编写与统稿工作。
本书由天津工业大学沈乃才教授主审,对书稿进行了认真的审阅和指导,提出了许多宝贵意见,在此表示衷心的感谢。
在编写过程中,得到了清华大学出版社支持和帮助,在此也表示诚挚的谢意。对本书编写过程中所参考的书籍和有关文献的作者也表示衷心感谢。
由于编者水平有限,加之时间比较仓促,书中难免有不妥或错误之处,恳请读者提出宝贵意见和建议。
编者2012年11月
第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微型计算机的主要性能指标6
1.3微机中的数制和数的表示8
1.3.1数制的基与权8
1.3.2数制的转换方法9
1.3.3二进制数的表示10
1.3.4微机中数的表示13
1.4微机中的常见编码14
1.4.1ASCII码14
1.4.28421 BCD码14
1.5计算机中的运算电路及补码运算16
1.5.1计算机中的运算电路16
1.5.2补码运算17
习题19
第2章MCS51单片机结构组成及时序20
2.1MCS5l系列单片机内部结构20
2.1.1中央处理器CPU结构21
2.1.2存储器结构25
2.1.3I/O端口30
2.1.4定时器/计数器(T/C)31
2.1.5中断系统32
2.1.6时钟电路32
2.2MCS51单片机引脚及其功能34
2.2.1引脚信号功能介绍34
2.2.2引脚信号的第二功能35
2.3MCS51 单片机复位36
2.4MCS51 单片机时序36
2.4.1时序的定时单位36
2.4.2MCS51指令的取指/执行时序37
2.4.3读片外ROM/RAM的时序38
2.5MCS51单片机特性39
习题40
第3章MCS51单片机指令系统42
3.1指令系统概述42
3.1.1指令格式42
3.1.2指令的分类43
3.2寻址方式44
3.2.1立即寻址44
3.2.2直接寻址44
3.2.3寄存器寻址45
3.2.4寄存器间接寻址46
3.2.5基址加变址寄存器间接寻址46
3.2.6相对寻址47
3.2.7位寻址47
3.3MCS51系列单片机指令系统48
3.3.1寻址空间及符号注释48
3.3.2数据传送指令49
3.3.3算术运算指令58
3.3.4逻辑运算类指令64
3.4移位和位操作类指令66
3.4.1移位指令66
3.4.2位操作类指令(也称布尔操作指令)67
3.5跳转及控制类指令68
3.5.1无条件转移指令(4条)68
3.5.2条件转移指令70
3.5.3子程序调用指令和返回指令73
3.5.4空操作指令74
习题74
第4章汇编语言程序设计78
4.1汇编语言的构成78
4.1.1程序设计语言78
4.1.2汇编语言的格式79
4.1.3汇编语言的构成81
4.1.4汇编语言程序设计步骤86
4.1.5汇编语言源程序的汇编方法87
4.2MCS51单片机汇编语言程序设计90
4.2.1简单程序设计90
4.2.2分支程序设计92
4.2.3循环程序设计95
4.2.4查表程序设计99
4.2.5子程序结构程序设计102
习题104
第5章MCS51与存储器的扩展技术105
5.1存储器的分类106
5.1.1随机存储器(RAM)107
5.1.2只读存储器(ROM)113
5.2MCS51与存储器的连接120
5.2.1MCS51与存储器的总线结构121
5.2.2存储器容量的扩展122
5.2.3存储器的译码方式123
5.3MCS51与外部ROM的扩展连接125
5.4MCS51与外部RAM的扩展连接129
5.5MCS51同时扩展RAM和ROM131
习题132
第6章MCS51中断系统与定时计数器134
6.1MCS51内部定时器/计数器134
6.1.1MCS51对内部定时器/计数器的控制136
6.1.2定时器/计数器的工作方式137
6.1.3定时器/计数器的初始化140
6.1.4应用举例141
6.2MCS51中断系统144
6.2.1MCS51中断系统的结构145
6.2.2MCS51对中断请求的控制148
6.2.3MCS51对中断的响应150
6.2.4MCS51中断系统的初始化153
习题155
第7章MCS51输入/输出接口技术157
7.1概述157
7.1.1I/O接口的作用与编址方式157
7.1.2I/O端口编址160
7.1.3I/O接口的数据传送方式161
7.1.4I/O接口的类型164
7.2MCS51内部并行I/O口165
7.2.1MCS51内部并行I/O接口的应用166
7.2.2可编程并行接口芯片(Intel 8255A)169
7.2.3并行I/O接口8155A175
7.3并行I/O接口的扩展182
习题187
第8章MCS51串行通信技术189
8.1串行通信基础189
8.1.1串行通信的分类189
8.1.2串行通信的方式190
8.2MCS51的串行接口192
8.2.1串行口控制寄存器194
8.2.2串行口工作方式195
8.3串行口应用举例197
习题210
第9章D/A和A/D转换技术212
9.1D/A转换与D/A转换接口212
9.1.1D/A转换器的原理212
9.1.2D/A转换器的性能指标213
9.1.3DAC0832214
9.1.4DAC0832与MCS51单片机连接应用216
9.2A/D转换与A/D转换接口220
9.2.1A/D转换器的原理220
9.2.2A/D转换器的性能指标222
9.2.3ADC0809222
9.2.4双积分式A/D转换器5G14433226
9.2.5LMX31系列V/F转换器231
习题234
第10章单片机应用系统的设计235
10.1基于MCS51电子钟的设计235
10.2基于增强型51单片机音乐频谱显示241附录1ASCII码表 248
附录2MCS51单片机指令表250
参考文献255