目录
第3版前言
第1版前言
第1章绪论1
1.1单片机及其特点概述1
11.1微处理器、微机和单片机的
概念1
1.1.2单片机的一般结构及特点2
1.2单片机的发展与常用系列简介2
1.2.1单片机的发展概况2
1.2.2常用单片机系列简介3
1.3单片机的应用领域7
1.3.1单片机在实时控制系统中的
应用7
1.3.2单片机在智能仪器仪表中的
应用7
1.3.3单片机在家用电器中的应用8
1.3.4单片机在网络通信中的应用8
1.3.5单片机在智能机器人中的应用8
本章小结9
思考题与习题9
第2章MCS ̄51单片机的硬件结构与
工作原理10
2.1MCS ̄51系列单片机的基本组成10
2.1.1硬件组成10
2.1.2MCS ̄51单片机的引脚功能12
2.1.3振荡器、时钟电路及时序13
2.2存储器组织与操作15
2.2.1MCS ̄51程序存储器地址
空间15
2.2.2MCS ̄51数据存储器地址
空间16
2.2.3特殊功能寄存器地址空间17
2.3并行I/O接口20
2.3.1并行I/O接口的内部结构20
2.3.2并行I/O接口的“读—改—写
操作23
2.3.3并行I/O接口的负载能力23
2.4MCS ̄51单片机的复位23
本章小结25
思考题与习题25
第3章MCS ̄51单片机指令系统与
程序设计26
3.1MCS ̄51单片机指令概述26
3.2MCS ̄51单片机的寻址方式27
3.2.1立即寻址27
3.2.2直接寻址28
3.2.3寄存器寻址28
3.2.4寄存器间接寻址28
3.2.5变址寻址28
3.2.6相对寻址28
3.2.7位寻址28
3.3MCS ̄51单片机指令系统29
3.3.1数据传送与交换类指令29
3.3.2算术运算类指令33
3.3.3逻辑运算类与循环移位指令36
3.3.4控制程序转移类指令38
3.3.5位操作类指令41
3.4程序设计方法43
3.4.1MCS ̄51伪指令简介43
3.4.2汇编语言程序的基本结构44
3.4.3子程序及其调用程序设计48
3.5应用程序设计举例50
3.5.1非数值运算程序设计举例50
3.5.2算术运算程序设计举例52
3.5.3I/O口控制程序设计53
本章小结58
思考题与习题58
第4章MCS ̄51中断系统及应用
示例60
4.1MCS ̄51中断系统概述60
4.1.1单片机系统访问外部设备的
方式60
4.1.2MCS ̄51中断系统的功能61
4.2MCS ̄51中断系统61
4.2.1MCS ̄51中断系统结构61
4.2.2MCS ̄51的中断源62
4.3MCS ̄51中断控制64
4.3.1MCS ̄51中断控制寄存器64
4.3.2响应中断的条件及过程65
4.4中断应用示例67
4.4.1中断程序设计的一般方法67
4.4.2MCS ̄51中断程序设计示例68
本章小结70
思考题与习题70
第5章MCS ̄51定时器/计数器
及其应用71
5.1定时器/计数器的结构与工作原理71
5.1.1定时器/计数器的逻辑结构71
5.1.2定时器/计数器的工作原理71
5.2定时器/计数器的控制与工作方式72
5.2.1定时器/计数器的管理与控制72
5.2.2定时器/计数器的工作方式73
5.3定时器/计数器的应用76
5.3.1定时器/计数器计数初始化76
5.3.2定时器/计数器计数应用举例78
5.452系列单片机的定时器/计数器T2
及其应用86
5.4.1定时器/计数器T2的管理与
控制86
5.4.2定时器/计数器T2的三种工作
模式87
5.4.3可编程时钟输出90
5.4.4定时器/计数器T2的应用90
本章小结92
思考题与习题92
第6章MCS ̄51单片机的串行接口94
6.1串行通信概述94
6.1.1并行通信与串行通信94
6.1.2串行通信的数据传送方向94
6.1.3同步通信和异步通信95
6.1.4串行通信的波特率96
6.1.5串行通信中数据的差错检测与
校正96
6.1.6串行通信中常用的接口电路97
6.2MCS ̄51的串行通信接口98
6.2.1MCS ̄51串行口结构及
工作原理98
6.2.2MCS ̄51串行口的控制与
管理99
6.3MCS ̄51串行通信接口的工作方式100
6.3.1方式0100
6.3.2方式1101
6.3.3方式2和方式3102
6.4串行通信的波特率设计104
6.5串行口的应用程序设计举例106
6.5.1方式0应用举例106
6.5.2方式1应用举例107
6.5.3用方式2作双机点对点通信109
6.5.4多机通信程序设计111
本章小结117
思考题与习题117
第7章单片机C语言程序设计与
应用118
7.1C51的特点及其结构118
7.2C51语言的编程基础119
7.2.1C51语言中的常用标识符和
关键字119
7.2.2C51语言中的数据类型120
7.2.3C51的常量和变量、存储器类型
及存储区120
7.2.4绝对地址访问122
7.2.5C51语言常用运算符123
7.3C51语言程序设计126
7.3.1C51语句和程序结构126
7.3.2C51语言中常用库函数128
7.3.3C51语言程序常用编译预处理
命令129
7.3.4C51程序的常用仿真调试
工具130
.Ⅷ.单片机原理与应用第3版
7.4C51程序应用举例130
7.4.1并行输入/输出口130
7.4.2中断服务程序设计135
7.4.3定时器/计数器C51程序设计137
7.4.4串行接口C51程序设计举例141
7.4.5直流电动机控制148
7.4.6步进电动机控制150
本章小结154
思考题与习题154
第8章单片机系统总线与资源扩展155
8.1单片机系统扩展的一般方法155
8.1.1系统扩展的基本内容与意义155
8.1.2系统并行扩展的三总线构造155
8.1.3I2C总线的串行扩展技术157
8.2程序存储器的扩展160
8.2.1程序存储器扩展的基本方法160
8.2.2程序存储器扩展实例分析161
8.3数据存储器的扩展162
8.3.1数据存储器扩展的基本方法162
8.3.2数据存储器扩展举例164
8.4串行EEPROM的扩展与编程方法165
8.4.1虚拟I2C总线扩展串行EEPROM
的方法165
8.4.2串行EEPROM扩展举例167
8.5I/O口的扩展170
8.5.1单片机系统I/O口扩展的
基本概念170
8.5.2一般I/O口的扩展172
本章小结179
思考题与习题179
第9章单片机系统人机接口技术181
9.1显示器接口技术181
9.1.1单片机应用系统中常用的
显示器181
9.1.2LED显示器及其接口设计181
9.1.3LCD及其接口设计186
9.2键盘接口技术191
9.2.1键盘接口的特点与监控管理
程序的任务191
9.2.2独立式键盘接口193
9.2.3矩阵式键盘接口194
本章小结201
思考题与习题201
第10章数模与模数转换接口203
10.1DA转换器及其接口电路203
10.1.1DA转换器的主要技术
参数203
10.1.2DA转换器与单片机的
接口方法204
10.1.3并行DA转换器接口电路的
设计与应用205
10.1.4串行DA转换器与单片机的
接口与应用212
10.2AD转换器及其接口电路216
10.2.1AD转换器的主要技术
参数217
10.2.2AD转换器与单片机的
接口方法217
10.2.3并行AD转换器接口电路的
设计与应用219
10.2.4串行AD转换器与单片机的
接口与应用223
本章小结232
思考题与习题233
第11章单片机应用系统设计与
项目实例234
11.1单片机应用系统设计概述234
11.1.1明确任务要求及确定设计
方案234
11.1.2应用系统的硬件设计235
11.1.3应用系统的软件设计235
11.2项目设计示例1———数字温度测量
系统设计236
11.2.1系统设计要求与方案确定236
11.2.2硬件电路设计与器件选择237
11.2.3系统软件设计242
11.3项目设计示例2———红外遥控避障小车
应用系统设计257
11.3.1系统设计要求与方案确定257
11.3.2硬件电路设计与器件选择258
11.3.3系统软件设计262
11.4应用系统调试与运行271
目录.Ⅸ.
11.4.1系统硬件制作及硬件调试
方法272
11.4.2软件调试方法272
11.5提高单片机应用系统可靠性的
方法与措施274
11.5.1单片机应用系统中常见的
干扰现象及影响274
11.5.2单片机应用系统的抗干扰
设计274
本章小结277
思考题与习题277
附录278
附录AMCS ̄51单片机指令表278
附录BASCII码表282
附录CANSIC标准的关键字282
参考文献284