第1章 绪论 1
1.1 单片机的发展概况 1
1.1.1 单片机的发展历史 1
1.1.2 典型的单片机产品 1
1.2 单片机的应用领域和应用方式 5
1.3 习题 6
第2章 单片机的基本结构与工作原理 7
2.1 MCS-51系列单片机总体结构 7
2.1.1 MCS-51单片机的引脚描述 7
2.1.2 MCS-51单片机的硬件资源 9
2.1.3 MCS-51单片机的片外总线结构 10
2.2 MCS-51单片机的时钟电路及CPU的工作时序 11
2.2.1 时钟电路 11
2.2.2 CPU的工作时序 12
2.3 MCS-51单片机存储器分类及配置 14
2.3.1 程序存储器 15
2.3.2 数据存储器 15
2.4 CHMOS型单片机的低功耗工作方式 19
2.4.1 空闲方式 20
2.4.2 掉电方式 20
2.4.3 节电方式的应用 20
2.5 习题 22
第3章 单片机的指令系统 23
3.1 指令格式 23
3.1.1 汇编指令 23
3.1.2 常用的缩写符号 25
3.1.3 伪指令 26
3.2 寻址方式 28
3.2.1 寄存器寻址 28
3.2.2 立即寻址 29
3.2.3 直接寻址 29
3.2.4 寄存器间接寻址 29
3.2.5 基寄存器加变址寄存器间接寻址 30
3.2.6 相对寻址 30
3.2.7 位寻址 31
3.3 指令的类型、字节和周期 32
3.3.1 指令系统的结构及分类 32
3.3.2 指令的字节和周期 32
3.4 数据传送指令 33
3.4.1 一般传送指令 33
3.4.2 累加器专用数据交换指令 38
3.5 算术运算指令 39
3.5.1 加减指令 39
3.5.2 乘法和除法指令 43
3.6 逻辑运算指令 44
3.6.1 累加器A的逻辑运算指令 44
3.6.2 两个操作数的逻辑运算指令 45
3.6.3 单位变量逻辑运算指令 46
3.6.4 双位变量逻辑运算指令 46
3.7 控制转移指令 47
3.7.1 无条件转移指令 47
3.7.2 条件转移指令 48
3.7.3 子程序调用和返回指令 50
3.8 习题 52
第4章 单片机的其他片内功能部件 54
4.1 并行I/O口 54
4.1.1 P1口 54
4.1.2 P2口 55
4.1.3 P0口 57
4.1.4 P3口 58
4.2 定时器/计数器 59
4.2.1 定时器的一般结构和工作原理 59
4.2.2 定时器/计数器T0和T1 60
4.2.3 定时器/计数器的初始化 64
4.2.4 8052等单片机的定时器/计数器T2 65
4.3 串行通信接口 68
4.3.1 串行通信及基础知识 68
4.3.2 串行接口的组成和特性 69
4.3.3 串行接口的工作方式 70
4.3.4 波特率设计 73
4.3.5 单片机双机通信和多机通信 76
4.4 中断系统 79
4.4.1 中断系统概述 79
4.4.2 中断处理过程 84
4.4.3 中断系统的应用 86
4.5 习题 92
第5章 汇编语言程序设计 93
5.1 汇编语言概述 93
5.1.1 汇编语言的优点 93
5.1.2 汇编语言程序设计的步骤 93
5.1.3 评价程序质量的标准 93
5.2 简单程序设计 94
5.3 分支程序 97
5.3.1 简单分支程序 97
5.3.2 多重分支程序 98
5.3.3 N路分支程序 100
5.4 循环程序 103
5.4.1 循环程序的导出 103
5.4.2 多重循环 106
5.5 查表程序 110
5.6 子程序的设计及调用 114
5.6.1 子程序的概念 114
5.6.2 调用子程序的要点 114
5.6.3 子程序的调用及嵌套 118
5.7 习题 121
第6章 单片机系统的并行扩展 123
6.1 MCS-51系统的并行扩展原理 123
6.1.1 MCS-51并行扩展总线 123
6.1.2 地址译码方法 125
6.2 程序存储器扩展 128
6.2.1 常用EPROM存储器电路 128
6.2.2 程序存储器扩展方法 129
6.3 数据存储器扩展 130
6.3.1 常用的数据存储器 130
6.3.2 数据存储器扩展方法 131
6.4 并行接口的扩展 132
6.4.1 用74系列器件扩展并行I/O口 133
6.4.2 可编程并行I/O扩展接口8255A 134
6.4.3 带RAM和计数器的可编程并行I/O扩展接口8155 141
6.5 D-A接口的扩展 145
6.5.1 梯形电阻式D-A转换原理 145
6.5.2 DAC0832 146
6.6 A-D接口的扩展 149
6.6.1 MC14433 149
6.6.2 ADC0809 152
6.7 习题 156
第7章 单片机系统的串行扩展 158
7.1 MCS-51系统的串行扩展原理 158
7.1.1 SPI三线总线 158
7.1.2 I2C公用双总线 159
7.2 单片机的外部串行扩展 159
7.2.1 串行扩展E2PROM 159
7.2.2 串行扩展I/O接口 162
7.2.3 串行扩展A-D转换器 163
7.3 习题 168
第8章 单片机的人机接口 170
8.1 键盘接口 170
8.1.1 键盘的工作原理和扫描方式 170
8.1.2 键盘的接口电路 171
8.1.3 键盘输入程序设计方法 173
8.2 LED显示器接口 174
8.2.1 LED显示器的工作原理 174
8.2.2 LED显示器的工作方式和显示程序设计 176
8.3 LCD显示器接口 177
8.3.1 LCD显示器的工作原理 177
8.3.2 LCD显示器的接口电路和显示程序设计 178
8.4 8279专用键盘显示器 183
8.4.1 8279的内部原理 183
8.4.2 8279的引脚分析 184
8.4.3 8279的键盘显示器电路 185
8.4.4 8279的设置 186
8.4.5 8279的应用程序介绍 188
8.5 习题 189
第9章 MCS-51单片机系统的开发与应用 191
9.1 单片机应用系统的研制过程 191
9.1.1 总体设计 192
9.1.2 硬件设计 192
9.1.3 可靠性设计 194
9.1.4 软件设计 194
9.1.5 系统调试 196
9.2 磁电机性能智能测试台的研制 198
9.2.1 系统概述 198
9.2.2 测试系统硬件设计 198
9.2.3 测控算法 200
9.2.4 程序设计 203
9.2.5 实验结果 204
9.3 水产养殖水体多参数测控仪 205
9.3.1 系统概述 205
9.3.2 水体多参数测控仪的基本组成及工作原理 205
9.3.3 硬件设计 206
9.3.4 软件设计 211
9.3.5 可靠性措施 212
9.3.6 运行效果 212
9.4 课程设计:单片机温度控制实验装置的研制 213
9.4.1 系统的组成及控制原理 213
9.4.2 控制系统软件编制 214
9.4.3 课程设计的安排 214
9.4.4 教学效果 215
9.5 单片机的C语言程序开发 215
9.5.1 Keil IDE μVision2集成开发环境 216
9.5.2 WAVE6000 IDE集成开发环境 227
9.5.3 常用的C语言程序模块和主程序结构 234
9.6 Proteus ISIS软件简介 242
9.6.1 Proteus ISIS软件的工作界面 242
9.6.2 Proteus ISIS环境下的电路图设计 246
9.6.3 Proteus下单片机仿真 251
9.7 习题 259
第10章 高速SOC单片机C8051F 260
10.1 Cygnal C8051F系列单片机特点 260
10.2 C8051 F020单片机 262
10.2.1 C8051 F020单片机概述 262
10.2.2 存储器组织 264
10.2.3 I/O口与数字交叉开关 270
10.3 模/数转换器 274
10.4 电压输出数/模转换器 281
10.5 电压基准(C8051 F020/2) 283
10.6 SMBus 285
10.7 串行外设接口总线 295
10.8 定时器 301
10.9 可编程计数器阵列 308
10.10 系统其他控制功能 318
10.11 Cygnal单片机集成开发环境 325
10.11.1 Cygnal集成开发环境软件简介 325
10.11.2 Cygnal IDE界面 326
10.11.3 软件的基本操作 331
10.12 应用程序举例 335
10.13 应用系统举例——智能电动执行机构控制系统 341
10.13.1 执行机构总体结构简介 341
10.13.2 控制系统的总体设计 342
10.13.3 主要硬件电路设计 342
10.13.4 系统软件设计 348
10.14 习题 353
附录 354
附录A 单片机应用资料的网上查询 354
附录B MCS-51单片机的指令表 354
参考文献 359