第1章 绪论 1
1.1单片机及其特点概述 1
1.1.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
本章小结 8
思考题与习题 9
第2章 MCS-51单片机的硬件结构与工作原理 10
2.1 MCS-51系列单片机的基本组成 10
2.1.1硬件组成 10
2.1.2 MCS-51单片机的引脚功能 12
2.1.3振荡器、时钟电路及时序 13
2.2存储器组织与操作 14
2.2.1 MCS-51程序存储器地址空间 15
2.2.2 MCS-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.4 MCS-51单片机的复位 23
本章小结 25
思考题与习题 25
第3章 MCS-51单片机指令系统与程序设计 26
3.1 MCS-51单片机指令概述 26
3.2 MCS-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.3 MCS-51单片机指令系统 29
3.3.1数据传送与交换类指令 29
3.3.2算术运算类指令 33
3.3.3逻辑运算类与循环移位指令 36
3.3.4控制程序转移类指令 38
3.3.5位操作类指令 40
3.4程序设计方法 43
3.4.1 MCS-51伪指令简介 43
3.4.2汇编语言程序的基本结构 44
3.4.3子程序及其调用程序设计 49
3.5应用程序设计举例 51
3.5.1非数值运算程序设计举例 51
3.5.2算术运算程序设计举例 55
3.5.3 I/O口控制程序设计 57
本章小结 63
思考题与习题 64
第4章 MCS-51中断系统及应用示例 66
4.1 MCS-51中断系统概述 66
4.1.1单片机系统访问外部设备的方式 66
4.1.2 MCS-51中断系统的功能 67
4.2 MCS-51中断系统 67
4.2.1 MCS-51中断系统结构 67
4.2.2 MCS-51的中断源 68
4.3 MCS-51中断控制 70
4.3.1 MCS-51中断控制寄存器 70
4.3.2响应中断的条件及过程 71
4.4中断应用示例 73
4.4.1中断程序设计的一般方法 73
4.4.2 MCS-51中断程序设计示例 73
本章小结 75
思考题与习题 76
第5章 MCS-51定时/计数器及其应用 77
5.1定时/计数器的结构与工作原理 77
5.1.1定时/计数器的逻辑结构 77
5.1.2定时/计数器的工作原理 77
5.2定时/计数器的控制与工作方式 78
5.2.1定时/计数器的管理与控制 78
5.2.2定时/计数器的工作方式 79
5.3定时/计数器的应用 82
5.3.1定时/计数器计数初始化 82
5.3.2定时/计数器计数应用举例 84
5.4 52系列单片机的定时/计数器T2及其应用 91
5.4.1定时/计数器T2的管理与控制 92
5.4.2定时/计数器T2的三种工作模式 93
5.4.3可编程时钟输出 96
5.4.4定时/计数器T2的应用 96
本章小结 98
思考题与习题 98
第6章 MCS-51单片机的串行接口 100
6.1串行通信概述 100
6.1.1并行通信与串行通信 100
6.1.2串行通信的数据传送方向 100
6.1.3同步通信和异步通信 101
6.1.4串行通信的波特率 102
6.1.5串行通信中数据的差错检测与校正 102
6.1.6串行通信中常用的接口电路 102
6.2 MCS-51的串行通信接口 104
6.2.1 MCS-51串行口结构及工作原理 104
6.2.2 MCS-51串行口的控制与管理 105
6.3 MCS-51串行通信接口的工作方式 106
6.3.1方式0 106
6.3.2方式1 107
6.3.3方式2和方式3 108
6.4串行通信的波特率设计 109
6.5串行口的应用程序设计举例 112
6.5.1方式0应用举例 112
6.5.2方式1应用举例 113
6.5.3用方式2作双机点对点通信 114
6.5.4多机通信程序设计 116
6.6单片机与PC的通信接口技术 123
6.6.1 RS-232C接口与单片机的连接 123
6.6.2 MAX485E接口与单片机的连接 123
6.6.3单片机与PC通信编程 124
本章小结 127
思考题与习题 127
第7章 单片机C语言程序设计与应用 128
7.1 C51的特点及其结构 128
7.2 C51语言的编程基础 129
7.2.1 C51语言中的常用标识符和关键字 129
7.2.2 C51语言中的数据类型 130
7.2.3 C51的常量和变量、存储器类型及存储区 130
7.2.4绝对地址访问 132
7.2.5 C51语言常用运算符 133
7.3 C51语言程序设计 136
7.3.1 C51语句和程序结构 136
7.3.2 C51语言中常用库函数 138
7.3.3 C51语言程序常用编译预处理命令 139
7.3.4 C51程序的常用仿真调试工具 140
7.4 C51程序应用举例 140
7.4.1并行输入/输出口 140
7.4.2中断服务程序设计 144
7.4.3定时器/计数器C51程序设计 147
7.4.4串行接口C51程序设计举例 150
本章小结 154
思考题与习题 154
第8章 单片机系统总线与资源扩展 156
8.1单片机系统扩展的一般方法 156
8.1.1系统扩展的基本内容与意义 156
8.1.2系统并行扩展的三总线构造 156
8.1.3 I2C总线的串行扩展技术 158
8.2程序存储器的扩展 161
8.2.1程序存储器扩展的基本方法 161
8.2.2程序存储器扩展实例分析 162
8.3数据存储器的扩展 163
8.3.1数据存储器扩展的基本方法 163
8.3.2数据存储器扩展举例 165
8.4串行EEPROM的扩展与编程方法 166
8.4.1虚拟12C总线扩展串行EEPROM的方法 167
8.4.2串行EEPROM扩展举例 168
8.5 I/O口的扩展 172
8.5.1单片机系统I/O口扩展的基本概念 172
8.5.2一般I/O口的扩展 173
本章小结 181
思考题与习题 181
第9章 单片机系统人机接口技术 183
9.1单片机系统显示器接口技术 183
9.1.1单片机应用系统中常用的显示器 183
9.1.2 LED显示器及其接口设计 183
9.1.3 LCD显示器及其接口设计 188
9.2键盘接口技术 193
9.2.1键盘接口的特点与监控管理程序的任务 193
9.2.2独立式键盘接口 195
9.2.3矩阵式键盘接口 196
9.3遥控输入键盘 202
9.3.1红外遥控输入键盘的特点 202
9.3.2遥控键盘数据输入的解码 202
本章小结 207
思考题与习题 208
第10章 数-模与模-数转换接口 209
10.1 D-A转换器及其接口电路 209
10.1.1 D-A转换器的主要技术参数 209
10.1.2 D-A转换器与单片机的接口方法 210
10.1.3并行D-A转换器接口电路的设计与应用 211
10.1.4串行D-A转换器与单片机的接口与应用 217
10.2 A-D转换器及其接口电路 222
10.2.1 A-D转换器的主要技术参数 222
10.2.2 A-D转换器与单片机的接口方法 222
10.2.3并行A-D转换器接口电路的设计与应用 224
10.2.4串行A-D转换器与单片机的接口与应用 226
本章小结 235
思考题与习题 236
第11章 单片机应用系统设计与项目实例 237
11.1单片机应用系统设计概述 237
11.1.1明确任务要求及确定设计方案 237
11.1.2应用系统的硬件设计 238
11.1.3应用系统的软件设计 238
11.2单片机应用系统设计举例 239
11.2.1系统设计要求与方案确定 239
11.2.2硬件电路设计与器件选择 240
11.2.3系统软件设计 247
11.3应用系统调试与运行 261
11.3.1系统硬件制作及硬件调试方法 261
11.3.2软件调试方法 262
11.4提高单片机应用系统可靠性的方法与措施 263
11.4.1单片机应用系统中常见的干扰现象及影响 263
11.4.2单片机应用系统的抗干扰设计 264
本章小结 266
思考题与习题 266
附录 267
附录A MCS-51单片机指令表 267
附录B ASCII码(美国标准信息交换)表 271
附录C ANSI C标准的关键字 271
参考文献 273