第1章 绪论 1
1.1 单片微型计算机及其发展趋势 1
1.1.1 单片机的概念 1
1.1.2 单片机的发展趋势 1
1.2 MCS-51及其兼容的单片机 2
1.2.1 MCS-51系列单片机 2
1.2.2 8051兼容的单片机 3
1.3 单片机的应用领域 4
1.4 单片机的开发工具和仿真调试方式 5
1.4.1 单片机的开发工具 5
1.4.2 单片机的仿真调试方式 6
习题与思考题 6
第2章 MCS-51系列单片机的结构及原理 7
2.1 MCS-51单片机内部结构 7
2.1.1 MCS-51单片机组成 7
2.1.2 MCS-51单片机存储器结构 13
2.2 单片机的外部结构 20
2.3 单片机的工作方式 22
2.3.1 单片机的运行方式 22
2.3.2 复位和复位电路 26
2.3.3 掉电保护和低功耗方式 28
习题与思考题 29
第3章 MCS-51系列单片机的指令系统 31
3.1 指令格式及分类 31
3.1.1 指令格式 31
3.1.2 指令分类 32
3.2 寻址方式 33
3.3 数据传送类指令 35
3.4 算术运算类指令 40
3.5 逻辑操作与移位操作类指令 44
3.5.1 逻辑操作指令 44
3.5.2 循环移位操作指令 47
3.6 位操作类指令 47
3.7 控制转移类指令 50
习题与思考题 55
第4章 MCS-51系列单片机的汇编语言程序设计 57
4.1 程序设计概述 57
4.1.1 程序设计语言简介 57
4.1.2 汇编语言指令类型 58
4.1.3 汇编语言格式 59
4.2 汇编语言源程序常用的伪指令 59
4.3 汇编语言源程序的编辑与汇编 63
4.3.1 源程序的编辑 63
4.3.2 源程序的人工汇编 63
4.3.3 源程序的自动汇编 64
4.4 汇编语言程序基本结构 64
4.4.1 顺序结构 65
4.4.2 分支结构 66
4.4.3 循环结构 71
4.5 主程序 74
4.6 子程序 75
4.6.1 使用子程序的优点 75
4.6.2 子程序的调用与返回 77
4.6.3 子程序的入口参数与出口参数 77
4.6.4 主程序与子程序之间的参数传递 78
4.6.5 子程序的规范化设计 79
4.6.6 中断服务子程序 80
4.6.7 子程序的现场保护与恢复 80
4.7 汇编语言程序设计与调试 81
4.7.1 汇编语言程序设计步骤 81
4.7.2 汇编语言程序调试步骤和调试方法 81
习题与思考题 82
第5章 MCS-51系列单片机的中断系统 83
5.1 概述 83
5.2 MCS-51单片机的中断系统 85
5.2.1 MCS-51单片机中断系统的内部结构 85
5.2.2 MCS-51单片机与中断有关的特殊功能寄存器 86
5.3 MCS-51单片机的中断响应与撤销 88
5.3.1 MCS-51单片机的中断响应 88
5.3.2 MCS-51单片机对中断请求的撤销 89
5.4 MCS-51单片机外部中断源的扩展 91
5.5 MCS-51单片机中断系统的应用举例 92
习题与思考题 95
第6章 MCS-51系列单片机的定时器/计数器 96
6.1 定时器/计数器结构 96
6.1.1 定时器/计数器的工作原理与控制寄存器 96
6.1.2 定时器/计数器的工作模式 98
6.2 定时器/计数器的初始化 100
6.3 定时器/计数器的应用 103
习题与思考题 107
第7章 MCS-51系列单片机的串行接口 108
7.1 串行通信的基本知识 108
7.1.1 通信概述 108
7.1.2 串行数据通信的波特率 110
7.1.3 串行数据通信的差错检测和校正 110
7.2 MCS-51系列单片机的串行接口 111
7.2.1 串行口寄存器结构 111
7.2.2 串行口通信控制 112
7.3 串行口工作方式与波特率设置 113
7.3.1 串行口工作方式 113
7.3.2 串行口的通信波特率设置 116
7.4 串行口应用举例 117
7.4.1 串行口扩展并行口 117
7.4.2 双机通信 118
7.4.3 多机通信 122
7.4.4 单片机与PC的通信 123
习题与思考题 127
第8章 MCS-51单片机的存储器系统扩展 128
8.1 概述 128
8.1.1 MCS-51单片机最小系统 128
8.1.2 MCS-51单片机扩展总线的产生 129
8.2 程序存储器扩展 131
8.2.1 外部程序存储器扩展原理 131
8.2.2 EPROM扩展电路 131
8.2.3 只读存储器(ROM) 132
8.2.4 EEPROM 133
8.3 数据存储器扩展 134
8.3.1 外部数据存储器的扩展方法 134
8.3.2 静态RAM的扩展 135
8.3.3 静态随机存储器芯片 135
8.4 多片存储器芯片的扩展 136
习题与思考题 139
第9章 MCS-51单片机的接口技术及应用 140
9.1 接口技术概述 140
9.2 并行I/O接口技术与应用 141
9.2.1 简单I/O接口扩展 142
9.2.2 可编程I/O接口扩展 142
9.3 可编程并行I/O接口芯片8155 143
9.3.1 8155的结构 143
9.3.2 8155的引脚功能 144
9.3.3 8155的RAM和I/O口的编址 145
9.3.4 8155的I/O端口工作原理 145
9.3.5 MCS-51单片机通过8155扩展I/O接口的方法 147
9.4 数码显示器及键盘接口 148
9.4.1 LED显示器结构与原理 149
9.4.2 键盘接口 152
9.4.3 MCS-51单片机扩展键盘与显示器接口 153
9.4.4 其他常用可编程接口芯片 157
9.5 D/A转换与D/A转换器 160
9.5.1 D/A转换原理 160
9.5.2 并行D/A转换器的接口与应用 162
9.5.3 串行D/A转换器TLC5617 168
9.6 A/D转换与A/D转换器 171
9.6.1 A/D转换原理 171
9.6.2 并行A/D转换器的接口与应用 174
9.6.3 串行A/D转换器TLC1543及应用 182
习题与思考题 186
第10章 MCS-51单片机的C51程序设计及应用 188
10.1 C51数据类型与存储类型 188
10.2 运算符 195
10.3 流程控制语句 198
10.3.1 选择语句 199
10.3.2 循环语句 203
10.4 构造数据类型 204
10.5 C51指针(*) 210
10.6 C51函数 212
10.7 预处理器 220
10.8 基于C51的MCS-51单片机接口程序设计 228
10.8.1 MCS-51单片机的端口操作 228
10.8.2 MCS-51单片机扩展的简单I/O接口 230
10.8.3 MCS-51单片机中断功能程序设计 231
10.8.4 MCS-51单片机定时器/计数器功能程序设计 232
10.8.5 MCS-51单片机串口方式程序设计 234
10.8.6 MCS-51单片机键盘功能程序设计 237
10.8.7 MCS-51单片机通过8155扩展的显示模块程序设计 240
10.8.8 D/A转换器0832的应用 242
10.8.9 ADC0809的应用 243
习题与思考题 245
第11章 MCS-51单片机组成的测控系统应用实例 246
11.1 单片机应用系统的设计方法 246
11.2 土工布渗透率测控系统 249
11.2.1 土工布渗透率的测试过程 249
11.2.2 测控系统的硬件电路设计 249
11.2.3 软件设计及部分典型程序 251
11.3 无线掌上抄表系统 257
11.3.1 系统组成及功能要求 257
11.3.2 硬件电路设计 258
11.3.3 软件设计及部分典型程序 259
11.4 大屏幕显示及应用 273
11.4.1 功能要求 273
11.4.2 硬件电路设计 274
11.4.3 软件设计 275
习题与思考题 278
第12章 MCS-51单片机兼容机及I2C串行总线技术 280
12.1 ATMEL89系列单片机 280
12.1.1 AT89C52的主要性能参数 280
12.1.2 AT89C52的结构及引脚 281
12.1.3 AT89C52的定时器T2 281
12.2 华邦W77E58单片机 285
12.2.1 W77E58性能 285
12.2.2 W77E58的硬件结构及引脚 285
12.2.3 特殊功能寄存器(SFR) 286
12.3 I2C串行总线扩展技术及应用 294
12.3.1 I2C总线简介 294
12.3.2 I2C总线通用软件模拟驱动程序 296
12.3.3 I2C接口器件24C04的读/写程序 300
习题与思考题 305
第13章 单片机应用系统抗干扰技术设计 306
13.1 概述 306
13.2 干扰源 307
13.2.1 形成干扰的基本要素 307
13.2.2 干扰的耦合方式 307
13.2.3 抑制干扰措施 307
13.3 模拟信号输入通道的抗干扰 309
13.3.1 采用隔离技术隔离干扰 309
13.3.2 采用滤波器滤除干扰 311
13.3.3 采用浮置措施抑制干扰 311
13.3.4 A/D转换器的抗干扰 311
13.3.5 印刷电路板及电路的抗干扰设计措施 312
13.4 单片机系统常用软件抗干扰 314
13.4.1 数据采集和滤波软件抗干扰 314
13.4.2 CPU抗干扰 316
习题与思考题 320
附录A ASClI码表 321
附录B MCS-51单片机指令表 322
附录C 单片机学习与开发应用常用网站 326
附录D 常用芯片引脚和内部结构图 327
附录E MCS-51单片机寄存器定义头文件REG51.H内容 331
参考文献 334