第1章 绪论 1
1.1单片机的发展概况 1
1.1.1单片机的发展历史 1
1.1.2典型的单片机产品 1
1.2单片机的应用领域和应用方式 25
1.3习题 26
第2章 单片机的基本结构与工作原理 27
2.1 MCS-51系列单片机总体结构 27
2.1.1 MCS-51单片机的引脚描述 27
2.1.2 MCS-51单片机的硬件资源 29
2.1.3 MCS-51单片机的片外总线结构 30
2.2 MCS-51单片机的时钟电路及CPU的工作时序 31
2.2.1时钟电路 31
2.2.2 CPU的工作时序 32
2.3 MCS-51单片机存储器分类及配置 34
2.3.1程序存储器 35
2.3.2数据存储器 35
2.4 CHMOS型单片机的低功耗工作方式 39
2.4.1空闲方式 40
2.4.2掉电方式 40
2.4.3节电方式的应用 40
2.5习题 42
第3章 单片机的指令系统 43
3.1指令格式 43
3.1.1汇编指令 43
3.1.2常用的缩写符号 45
3.1.3伪指令 46
3.2寻址方式 48
3.2.1寄存器寻址 48
3.2.2立即寻址 49
3.2.3直接寻址 49
3.2.4寄存器间接寻址 49
3.2.5基寄存器加变址寄存器间接寻址 50
3.2.6相对寻址 50
3.2.7位寻址 51
3.3指令的类型、字节和周期 52
3.3.1指令系统的结构及分类 52
3.3.2指令的字节和周期 52
3.4数据传送指令 53
3.4.1一般传送指令 53
3.4.2累加器专用数据交换指令 58
3.5算术运算指令 59
3.5.1加减指令 59
3.5.2乘法和除法指令 63
3.6逻辑运算指令 64
3.6.1累加器A的逻辑运算指令 64
3.6.2两个操作数的逻辑运算指令 65
3.6.3单位变量逻辑运算指令 66
3.6.4双位变量逻辑运算指令 66
3.7控制转移指令 67
3.7.1无条件转移指令 67
3.7.2条件转移指令 68
3.7.3子程序调用和返回指令 70
3.8习题 72
第4章 单片机的其他片内功能部件 74
4.1并行I/O口 74
4.1.1 P1口 74
4.1.2 P2口 75
4.1.3P0口 77
4.1.4 P3口 78
4.2定时器/计数器 79
4.2.1定时器的一般结构和工作原理 79
4.2.2定时器/计数器T0和T1 80
4.2.3定时器/计数器的初始化 84
4.2.48052等单片机的定时器/计数器T2 85
4.3串行通信接口 88
4.3.1串行通信及基础知识 88
4.3.2串行接口的组成和特性 89
4.3.3串行接口的工作方式 90
4.3.4波特率设计 93
4.3.5单片机双机通信和多机通信 96
4.4中断系统 99
4.4.1中断系统概述 99
4.4.2中断处理过程 104
4.4.3中断系统的应用 106
4.5习题 112
第5章 汇编语言程序设计 113
5.1汇编语言概述 113
5.1.1汇编语言的优点 113
5.1.2汇编语言程序设计的步骤 113
5.1.3评价程序质量的标准 113
5.2简单程序设计 114
5.3分支程序 117
5.3.1简单分支程序 117
5.3.2多重分支程序 118
5.3.3 N路分支程序 120
5.4循环程序 123
5.4.1循环程序的导出 123
5.4.2多重循环 126
5.5查表程序 130
5.6子程序的设计及调用 134
5.6.1子程序的概念 134
5.6.2调用子程序的要点 134
5.6.3子程序的调用及嵌套 138
5.7习题 141
第6章 单片机系统的并行扩展 143
6.1 MCS-51系统的并行扩展原理 143
6.1.1 MCS-51并行扩展总线 143
6.1.2地址译码方法 145
6.2程序存储器扩展 148
6.2.1常用EPROM存储器电路 148
6.2.2程序存储器扩展方法 149
6.3数据存储器RAM的扩展 150
6.3.1常用的数据存储器 150
6.3.2 RAM存储器扩展方法 151
6.4并行接口的扩展 152
6.4.1用74系列器件扩展并行I/O口 153
6.4.2可编程并行I/O扩展接口8255A 154
6.4.3带RAM和计数器的可编程并行I/O扩展接口8155 161
6.5 D/A接口的扩展 165
6.5.1梯形电阻式D/A转换原理 165
6.5.2 DAC0832 166
6.6 A/D接口的扩展 169
6.6.1 MC14433 169
6.6.2 ADC0809 172
6.7习题 176
第7章 单片机系统的串行扩展 178
7.1 MCS-51系统的串行扩展原理 178
7.1.1 SPI三线总线 178
7.1.2I2C公用双总线 179
7.2单片机的外部串行扩展 179
7.2.1串行扩展E2PROM 179
7.2.2串行扩展I/O接口 182
7.2.3串行扩展A/D转换器 183
7.3习题 188
第8章 单片机的人机接口 190
8.1键盘接口 190
8.1.1键盘的工作原理和扫描方式 190
8.1.2键盘的接口电路 191
8.1.3键盘输入程序设计方法 193
8.2 LED显示器接口 194
8.2.1 LED显示器的工作原理 194
8.2.2 LED显示器的工作方式和显示程序设计 196
8.3 LCD显示器接口 197
8.3.1 LCD显示器的工作原理 197
8.3.2 LCD显示器的接口电路和显示程序设计 198
8.48279专用键盘显示器 203
8.4.18279的内部原理 203
8.4.28279的引脚分析 204
8.4.38279的键盘显示器电路 205
8.4.48279的设置 206
8.4.58279的应用程序介绍 208
8.5习题 209
第9章MCS-51单片机系统的开发与应用 211
9.1单片机应用系统的研制过程 211
9.1.1总体设计 212
9.1.2硬件设计 212
9.1.3可靠性设计 214
9.1.4软件设计 214
9.1.5系统调试 216
9.2磁电机性能智能测试台的研制 218
9.2.1系统概述 218
9.2.2测试系统硬件设计 218
9.2.3测控算法 220
9.2.4程序设计 223
9.2.5实验结果 224
9.3水产养殖水体多参数测控仪 225
9.3.1系统概述 225
9.3.2水体多参数测控仪的基本组成及工作原理 225
9.3.3硬件设计 225
9.3.4软件设计 231
9.3.5可靠性措施 232
9.3.6运行效果 232
9.4课程设计:单片机温度控制实验装置的研制 233
9.4.1系统的组成及控制原理 233
9.4.2控制系统软件编制 234
9.4.3课程设计的安排 235
9.4.4教学效果 235
9.5单片机的C语言程序开发 235
9.5.1 Keil IDE μVision2集成开发环境 236
9.5.2 WAVE6000IDE集成开发环境 247
9.5.3常用的C语言程序模块和主程序结构 254
9.6习题 263
第10章 高速SOC单片机C8051F 264
10.1 Cygnal C8051F系列单片机特点 264
10.2 C8051 F020单片机 266
10.2.1概述 266
10.2.2存储器组织 268
10.2.31/O口与数字交叉开关 274
10.3模/数转换器 278
10.4电压输出数/模转换器 285
10.5电压基准 288
10.6 SMBus 289
10.7串行外设接口总线 299
10.8定时器 305
10.9可编程计数器阵列 312
10.10系统其他控制功能 322
10.11 Cygnal单片机集成开发环境 329
10.11.1 Cygnal集成开发环境软件简介 329
10.11.2 CygnalIDE界面 330
10.11.3软件的基本操作 335
10.12应用举例 339
10.13习题 345
第11章 低功耗单片机系统的设计 346
11.1低功耗单片机系统的特点 346
11.2低功耗单片机系统的器件选择 347
11.3低功耗单片机系统的电路设计 348
11.4低功耗单片机系统的功耗分析 350
11.5低功耗单片机系统的软件设计 351
11.6习题 355
附录 357
附录A单片机应用资料的网上查询 357
附录B MCS-51单片机的指令表 357
参考文献 362