第1章 微型计算机基础知识 1
1.1微型计算机系统概述 1
1.1.1微型计算机系统的基本组成和各部分的作用 1
1.1.2单片微型计算机的发展及其应用 4
1.2计算机中的数制与编码 7
1.2.1进位计数制及其转换 7
1.2.2编码 9
1.3计算机中数的表示与运算 12
1.3.1机器数及其表示方法 12
1.3.2数的运算 14
延伸与拓展 17
本章小结 18
思考题与习题 19
参考文献 19
第2章51系列单片机的结构及原理 20
2.1 51系列单片机的结构 20
2.1.1 51系列单片机的基本组成 20
2.1.2 51系列单片机的内部结构 21
2.1.3 51系列单片机的引脚及功能 22
2.2 51系列单片机的存储器组织 25
2.2.1程序存储器的地址空间 26
2.2.2数据存储器的地址空间 27
2.2.3特殊功能寄存器简介 29
2.3 51系列单片机并行输入/输出端口的结构与操作方法 33
2.3.1 P0口 33
2.3.2 P1口 34
2.3.3 P2口 34
2.3.4 P3口 35
2.3.5端口的带负载能力与应用方法 35
2.4 51系列单片机的时钟电路与时序 36
2.4.1片内振荡器及时钟信号的产生 36
2.4.2时序及有关概念 37
2.4.3指令的取指令/执行时序 37
2.4.4访问片外存储器的操作时序 38
2.5 51系列单片机的复位电路 39
2.5.1复位与复位电路介绍 39
2.5.2单片机复位后的状态 40
2.6 AT89S51单片机的低功耗工作方式与“看门狗”定时器 40
2.6.1低功耗工作方式 40
2.6.2低功耗方式下的“看门狗”定时器 41
本章小结 42
思考题与习题 42
参考文献 42
第3章51系列单片机的指令系统和程序设计方法 44
3.1指令系统概述 44
3.1.1指令分类 44
3.1.2指令格式 45
3.1.3指令中常用缩写符号的意义 45
3.2寻址方式 46
3.2.1立即寻址 46
3.2.2直接寻址 46
3.2.3寄存器寻址 47
3.2.4寄存器间接寻址 47
3.2.5变址寻址 48
3.2.6相对寻址 48
3.2.7位寻址 48
3.3数据传送类指令 49
3.3.1片内RAM数据传送类指令 50
3.3.2片外RAM数据传送类指令 52
3.3.3程序存储器向累加器A传送数据类指令 53
3.3.4数据交换类指令 55
3.3.5堆栈操作类指令 55
3.4算术运算类指令 56
3.4.1加法指令 57
3.4.2减法指令 58
3.4.3乘法指令 60
3.4.4除法指令 61
3.5逻辑运算类指令 62
3.5.1累加器A的逻辑运算指令 62
3.5.2两个操作数的逻辑操作运算指令 63
3.6位操作类指令 65
3.6.1位变量传送指令 65
3.6.2位变量修改指令 66
3.6.3位变量逻辑操作指令 66
3.7控制转移类指令 66
3.7.1无条件转移指令 67
3.7.2条件转移指令 68
3.7.3调用与返回指令 71
3.8汇编语言程序设计 74
3.8.1汇编语言程序设计概述 74
3.8.2常用伪指令 75
3.8.3顺序结构程序设计 77
3.8.4分支结构程序设计 77
3.8.5循环结构程序设计 80
3.8.6子程序设计 82
3.8.7综合编程举例 87
本章小结 90
思考题与习题 91
参考文献 93
第4章 中断系统 94
4.1中断系统概述 94
4.1.1中断的概念 94
4.1.2中断系统的功能及特点 94
4.2 51系列单片机的中断系统 95
4.2.1中断系统的结构与中断源 95
4.2.2中断控制 96
4.3中断处理过程 99
4.3.1中断响应与过程 99
4.3.2中断处理 100
4.3.3中断返回 101
4.3.4中断请求撤销 101
4.3.5中断响应时间 102
4.4中断系统应用 102
延伸与拓展 107
本章小结 109
思考题与习题 109
参考文献 110
第5章51系列单片机的定时器/计数器 111
5.1定时器/计数器简介 111
5.1.1定时器/计数器的一般工作方式 111
5.1.2定时器/计数器的结构与原理 112
5.2定时器/计数器控制 113
5.2.1定时器/计数器的工作模式寄存器 113
5.2.2定时器/计数器的控制寄存器 114
5.2.3定时器/计数器的初始化 114
5.3定时器/计数器的工作模式及应用 115
5.3.1模式0及应用 115
5.3.2模式1及应用 117
5.3.3模式2及应用 121
5.3.4模式3及应用 123
5.3.5定时器/计数器门控位的应用 126
5.3.6“看门狗”定时器 127
延伸与拓展 128
本章小结 132
思考题与习题 132
参考文献 133
第6章51系列单片机的串行通信 134
6.1串行通信概述 134
6.1.1串行通信的基本方式 134
6.1.2串行通信的数据传送方式 135
6.1.3串行通信的接口标准 136
6.2串行接口的结构与控制 137
6.2.1串行接口的结构 137
6.2.2串行接口的控制 138
6.2.3波特率设计 140
6.3串行接口的工作模式 141
6.3.1模式0 141
6.3.2模式1 142
6.3.3模式2 143
6.3.4模式3 144
6.3.5串行接口的初始化与应用编程方法举例 144
6.4 51系列单片机的通信 147
6.4.1 51系列单片机的双机通信技术 148
6.4.2 51系列单片机的多机通信技术 152
6.4.3 51系列单片机与PC通信技术 157
本章小结 159
思考题与习题 159
参考文献 160
第7章51系列单片机的系统扩展 161
7.1程序存储器扩展 161
7.1.1总线扩展 161
7.1.2典型程序存储器芯片 162
7.1.3程序存储器扩展举例 164
7.2数据存储器扩展 166
7.2.1典型数据存储器芯片 166
7.2.2数据存储器扩展举例 166
7.3并行I/O接口扩展 167
7.3.1 I/O接口电路的功能 168
7.3.2简单并行I/O接口扩展 168
7.3.3 8255A可编程并行I/O接口扩展 170
7.3.4 8155可编程并行I/O接口扩展 175
7.4用串行接口扩展并行接口 180
7.4.1串行接口扩展并行输入口 180
7.4.2串行接口扩展并行输出口 180
延伸与拓展 181
本章小结 184
思考题与习题 185
参考文献 185
第8章51系列单片机的接口技术 186
8.1键盘接口技术 186
8.1.1键盘工作原理 186
8.1.2独立式键盘接口技术 187
8.1.3矩阵式键盘接口技术 188
8.2显示器接口技术 191
8.2.1 LED显示器的结构与原理 192
8.2.2静态显示接口技术 193
8.2.3动态显示接口技术 196
8.2.4液晶显示接口技术 198
8.3键盘和显示器组合接口技术 204
8.3.1键盘及动态显示接口电路 204
8.3.2键盘及静态显示接口电路 205
8.4 D/A转换器与单片机接口技术 207
8.4.1 D/A转换器概述 207
8.4.2 DAC0832芯片及其与单片机的接口 209
8.5 A/D转换器与单片机接口技术 213
8.5.1 A/D转换器的工作原理 213
8.5.2 A/D转换器的技术指标与选取原则 214
8.5.3 ADC0809接口芯片及其与单片机的接口 214
8.5.4 AD574A芯片与单片机接口 218
8.6开关量输入/输出接口技术 220
8.6.1开关量输入接口技术 220
8.6.2开关量输出接口技术 222
本章小结 225
思考题与习题 226
参考文献 226
第9章51系列单片机应用系统设计 227
9.1单片机应用系统设计概述 227
9.1.1单片机应用系统的结构与设计要求 227
9.1.2单片机应用系统的设计过程 229
9.2单片机应用系统的设计方法 229
9.3单片机应用系统的抗干扰技术 231
9.3.1单片机应用系统的硬件抗干扰技术 231
9.3.2单片机应用系统的软件抗干扰技术 232
9.4单片机应用系统设计举例 234
9.4.1电阻炉温度控制系统设计 234
9.4.2步进电动机控制系统设计 241
本章小结 243
思考题与习题 244
参考文献 244
第10章C51程序设计基础与开发环境 245
10.1单片机的C语言概述 245
10.1.1 C51程序开发流程 245
10.1.2 C51程序结构 246
10.2 C51的数据类型 250
10.2.1 C51的标识符与关键字 250
10.2.2 C51的数据类型与存储类型 251
10.2.3 51系列单片机硬件结构的C51定义 253
10.3 C51的运算符、表达式和规则 255
10.3.1 C51的算术运算符和算术表达式 255
10.3.2 C51的关系运算符、关系表达式和优先级 256
10.3.3 C51的逻辑运算符、逻辑表达式和优先级 257
10.3.4 C51的位操作及表达式 257
10.3.5逗号表达式与条件表达式 258
10.4 C51流程控制语句 259
10.5 C51的数组和结构 260
10.5.1数组 260
10.5.2结构 261
10.6 C51的指针与函数 262
10.6.1 C51的指针概述 262
10.6.2 C51函数的定义 265
10.7 Keil C51开发环境与程序调试 267
10.7.1建立Keil C51程序 267
10.7.2 Keil C51的程序调试 271
10.8 Proteus6.9与Keil C51的联合调试 272
10.8.1 Proteus6.9与Keil C51的联调环境建立 272
10.8.2 Proteus6.9与Keil C51的联调举例 275
延伸与拓展 276
本章小结 279
思考题与习题 280
参考文献 280
附录 51系列单片机指令表 281