第1章 单片微型计算机概述 1
1.1 微型计算机概述 1
1.1.1 微型计算机的组成及应用形态 1
1.1.2 单片机内部结构及单片机应用系统组成 2
1.1.3 80C51单片机系列 3
1.2 单片机的发展过程及产品近况 5
1.3 单片机的特点及应用领域 6
1.4 单片机的发展趋势 6
本章小结 7
思考题与习题 7
第2章 80C51单片机的结构及原理 8
2.1 80C51单片机的结构与原理 8
2.1.1 80C51单片机的结构 8
2.1.2 80C51单片机的内部结构 9
2.1.3 80C51单片机的引脚及功能 10
2.2 80C51单片机的存储器组织 12
2.2.1 80C51单片机的程序存储器ROM 12
2.2.2 80C51 ROM低地址特殊单元 13
2.2.3 80C51单片机的数据存储器RAM 13
2.2.4 特殊功能寄存器(SFR)简介 16
2.3 80C51的并行输入/输出端口结构与操作 19
2.4 80C51时钟电路与时序 22
2.4.1 时钟电路 22
2.4.2 时序 23
2.5 80C51复位电路 25
本章小结 26
思考题与习题 27
第3章 80C51的指令系统和程序设计 28
3.1 指令概述 28
3.2 寻址方式 30
3.3 80C51的指令系统 33
3.3.1 数据传送类指令 33
3.3.2 算术运算类指令 38
3.3.3 逻辑操作类指令 41
3.3.4 控制转移类指令 44
3.3.5 位操作指令 48
3.3.6 常用伪指令 49
3.4 80C51汇编程序设计 52
3.4.1 顺序结构程序设计 53
3.4.2 分支结构程序设计 54
3.4.3 循环结构程序设计 57
3.4.4 子程序设计 58
本章小结 60
思考题与习题 60
第4章 80C51的定时器/计数器与中断系统 62
4.1 80C51定时器/计数器的结构与原理 62
4.2 80C51定时器/计数器的控制 64
4.2.1 定时器/计数器方式寄存器TMOD 64
4.2.2 定时器/计数器控制寄存器TCON 64
4.2.3 定时器/计数器的初始化 65
4.3 80C51定时器/计数器的工作方式及应用 67
4.4 80C51的中断系统 72
4.4.1 中断的特点及功能 72
4.4.2 80C51中断系统的结构及中断源 73
4.4.3 80C51中断的控制 74
4.5 80C51中断处理过程 77
4.5.1 中断响应与中断响应时间 77
4.5.2 中断响应过程 77
4.5.3 中断处理 78
4.5.4 中断返回 78
4.6 80C51外部中断扩展与中断系统的应用 80
本章小结 83
思考题与习题 83
第5章 80C51单片机的串行接口技术 85
5.1 串行通信概述 85
5.1.1 串行通信的分类 86
5.1.2 串行通信制式 87
5.1.3 串行通信接口标准 87
5.2 80C51的串行接口及工作方式 90
5.2.1 80C51串行接口的结构 90
5.2.2 80C51的串行接口的控制寄存器 90
5.3 80C51串行口的工作方式及波特率 92
5.4 80C51之间的通信 98
5.4.1 MCS-51双机通信技术 98
5.4.2 MCS-51多机通信技术 101
5.5 PC与80C51的通信 102
5.5.1 MSComm控件的属性 102
5.5.2 MSComm控件的通信处理方法 104
5.6 I2C串行扩展总线 104
5.6.1 I2C总线的结构原理 105
5.6.2 I2C串行扩展应用实例 106
5.7 SPI串行扩展接口 110
本章小结 113
思考题与习题 113
第6章 80C51单片机的系统扩展 114
6.1 程序存储器扩展 114
6.1.1 扩展总线 114
6.1.2 常用程序存储器芯片 115
6.1.3 程序存储器扩展实例 116
6.2 数据存储器扩展 118
6.2.1 常用数据存储器芯片 118
6.2.2 数据存储器扩展实例 119
6.3 简单并行I/O接口的扩展 121
6.4 8255可编程并行接口扩展 123
6.4.1 Intel 8255A的结构与功能 123
6.4.2 Intel 8255A的控制字 125
6.4.3 Intel 8255A的工作方式 126
6.4.4 8255A可编程并行接口扩展应用实例 127
本章小结 128
思考题与习题 128
第7章 80C51单片机接口技术 130
7.1 键盘接口技术 130
7.1.1 键的特性 131
7.1.2 独立键盘接口技术 133
7.1.3 矩阵式键盘接口技术 134
7.2 数码显示接口技术 136
7.2.1 数码显示原理 136
7.2.2 静态显示技术 138
7.2.3 动态显示技术 139
7.3 液晶显示接口技术 142
7.3.1 液晶显示器简介 142
7.3.2 LCD1602字符型液晶显示器与单片机接口 142
7.4 D/A转换器与单片机接口技术 147
7.4.1 D/A转换器的主要技术指标 148
7.4.2 DAC0832接口芯片 148
7.4.3 DAC0832与单片机接口 150
7.5 A/D转换器与单片机接口技术 154
7.5.1 A/D转换器的主要技术指标 154
7.5.2 ADC0809接口芯片 154
7.5.3 ADC0809与单片机的接口 156
本章小结 159
思考题与习题 159
第8章 80C51单片机的C51程序设计 161
8.1 单片机的C语言 161
8.2 C51的数据类型 163
8.2.1 C51的标识符和关键字 163
8.2.2 数据与数据类型 164
8.2.3 C51数据的存储类型 168
8.2.4 80C51硬件结构的C51定义 169
8.2.5 关于Keil C51的指针类型 171
8.2.6 C51的运算符、表达式及其规则 172
8.3 C51语言的程序流程控制 173
8.4 C51函数 176
8.5 C51编程实例 177
8.5.1 80C51内部资源的编程 177
8.5.2 80C51输出控制的C编程 184
8.5.3 80C51数据采集的C编程 184
8.5.4 80C51人-机交互的C编程 185
本章小结 188
思考题与习题 189
第9章 单片机工程应用技术 190
9.1 单片机应用系统的抗干扰技术 190
9.1.1 单片机应用系统硬件抗干扰的设计 190
9.1.2 单片机应用系统软件抗干扰的设计 196
9.1.3 单片机自身的抗干扰措施 201
9.2 模拟信号放大器和线性参数标度变换 203
9.2.1 模拟信号放大器 203
9.2.2 标度变换 206
9.3 常用接口驱动电路 208
9.3.1 光电耦合隔离器接口电路 208
9.3.2 三极管驱动电路 210
9.3.3 继电器驱动电路 211
9.3.4 可控硅(SCR)驱动电路 212
9.3.5 固态继电器驱动电路 213
9.3.6 电机控制接口电路 215
9.3.7 步进电机控制接口电路 216
本章小结 220
思考题与习题 221
第10章 单片机应用系统工程设计与实例 222
10.1 单片机应用系统概述 222
10.1.1 单片机应用系统的结构 222
10.1.2 单片机应用系统工程设计的基本要求 224
10.2 单片机应用系统工程设计的步骤和方法 224
10.2.1 单片机应用系统工程设计的步骤 224
10.2.2 单片机应用系统工程设计的方法 224
10.3 单片机温度控制系统工程设计实例 228
10.3.1 明确要设计的应用系统的功能和技术指标 228
10.3.2 确定单片机应用系统总体方案 229
10.3.3 硬件设计 229
10.3.4 软件设计 231
10.3.5 系统调试 236
10.4 单片机控制步进电机实例 237
10.4.1 明确要设计应用系统的功能和技术指标 237
10.4.2 确定单片机应用系统总体方案 237
10.4.3 硬件设计 238
10.4.4 软件设计 239
本章小结 241
思考题与习题 241
第11章 Proteus ISIS、Keil μVision2的使用与实例 243
11.1 Proteus软件概述 243
11.2 Proteus ISIS编辑环境 244
11.2.1 操作界面 244
11.2.2 菜单栏和工具栏 245
11.3 电路图的绘制 246
11.4 Proteus仿真应用实例 248
11.5 Keil C51集成开发环境简介 250
11.6 Proteus 6.9与Keil C51 V7.50的联调 254
本章小结 256
思考题与习题 256
第12章 80C51单片机实验与工程应用实例 257
12.1 单片机实验与工程应用开发环境介绍 257
12.1.1 Lab 6000P仿真实验系统 257
12.1.2 基于Proteus的ISIS虚拟仿真环境 261
12.2 Wave 6000集成开发环境介绍 261
12.3 工程设计实例 264
12.3.1 体育比赛计分显示控制系统 264
12.3.2 基于80C51的数据采集控制系统 267
12.4 实验指导 267
附录A MCS-51指令表 277
附录B ASCII(美国信息交换标准码)表 282
参考文献 284