第1章 单片机概述 1
1.1微机的产生与发展 1
1.1.1微机的发展 1
1.1.2微机的基本结构 2
1.1.3微处理器的基本组成 3
1.2常用单片机系列介绍 4
1.3单片机的发展及应用领域 7
1.3.1单片机的发展 7
1.3.2单片机的特点 8
1.3.3单片机的应用领域 8
第2章 单片机系统结构及开发环境 10
2.1 80C51单片机的物理结构 10
2.1.1 80C51单片机资源 10
2.1.2 80C51单片机引脚定义 10
2.2 80C51单片机内部结构 12
2.2.1 80C51单片机内部结构 12
2.2.2 80C51单片机内部结构详解 12
2.3 80C51单片机开发环境 18
2.3.1 80C51单片机开发环境Keil μVision4介绍 18
2.3.2如何使用Keil μVision4建立一个工程 19
2.4 80C51单片机最小系统 24
2.4.1 80C51单片机最小系统电路框图 24
2.4.2 80C51单片机最小系统电路介绍 24
2.5 80C51单片机应用实例 25
2.5.1硬件电路设计 25
2.5.2程序设计 26
第3章 寻址方式与指令系统 28
3.1指令系统概述 28
3.1.1 80C51指令的分类 28
3.1.2 8OC51单片机指令系统的特点 28
3.2指令格式及常用符号 29
3.2.1机器指令编码格式 29
3.2.2符号指令格式 30
3.2.3符号指令及其注解中常用符号的含义 31
3.3 80C51的寻址方式 32
3.3.1 80C51的寻址方式 32
3.3.2立即寻址 32
3.3.3直接寻址 33
3.3.4寄存器寻址 33
3.3.5寄存器间接寻址 33
3.3.6变址寻址 34
3.3.7相对寻址 34
3.3.8位寻址 35
3.4 80C51指令系统 35
3.4.1数据传送类指令(29条) 35
3.4.2算术运算类指令(24条) 41
3.4.3逻辑运算与移位类指令(24条) 45
3.4.4控制转移类指令(17条) 48
3.4.5位操作类指令(17条) 53
3.5案例 55
第4章80C51的汇编语言程序设计 60
4.1程序编制的方法和技巧 60
4.1.1程序编制的步骤 60
4.1.2程序编制的方法和技巧 61
4.1.3汇编语言的语句种类 61
4.1.4汇编语言的指令格式 63
4.2源程序的编辑和汇编 64
4.2.1源程序的编辑 64
4.2.2汇编程序的汇编 64
4.3汇编语言程序设计和基本程序结构 65
4.3.1顺序程序设计 65
4.3.2分支程序 66
4.3.3循环程序 67
4.3.4子程序及其调用 69
4.4常用程序举例 71
4.4.1算术运算程序 71
4.4.2代码转换 73
4.5 LCD液晶显示器的汇编实例 74
第5章 中断系统与定时器 79
5.1中断系统 79
5.1.1中断的概念 79
5.1.2中断源 80
5.1.3中断控制 81
5.1.4中断过程 85
5.1.5中断应用实例 88
5.2 80C51单片机的定时器/计数器系统 91
5.2.1定时器/计数器概述 91
5.2.2定时器/计数器结构及工作原理 91
5.2.3定时器/计数器的控制 92
5.2.4定时器/计数器的工作方式及其应用实例 94
第6章80C51单片机的串行口及串行总线扩展 103
6.1串行通信基本知识 103
6.1.1基本通信技术及特点 103
6.1.2串行通信的数据传送方式 104
6.1.3串行通信的分类 105
6.1.4串行通信的波特率 107
6.1.5 RS -232C串行通信 108
6.2 80C51单片机串行口的结构 109
6.2.1 80C51单片机串行口控制 112
6.2.2串行工作方式波特率 115
6.3单片机的串行总线扩展 116
6.3.1 I2C总线接口及其扩展 116
6.3.2 SPI总线接口及其扩展 118
6.3.3 USB通信协议 120
6.4单片机与单片机通信应用 123
第7章 单片机系统的扩展 128
7.1系统扩展的概述 128
7.2存储器扩展 129
7.2.1程序存储器的扩展 130
7.2.2数据存储器的扩展 137
7.3并行I/O口的扩展 143
7.3.1 I/O接口电路的功能 143
7.3.2简单并行I/O接口的扩展 144
7.3.3可编程接口电路的扩展 145
7.3.4 80C51和8155的接口方法和应用 147
第8章80C51单片机的A/D和D/A转换 151
8.1概述 151
8.1.1模拟量与数字量概述 151
8.1.2转换过程概述 151
8.2数模转换 152
8.2.1数模转换基本原理 152
8.2.2数模转换器的内部构成 152
8.2.3数模转换器的主要性能参数 158
8.2.4 D/A转换芯片 159
8.2.5应用举例 161
8.3模数转换 164
8.3.1模数转换基本原理 164
8.3.2 A/D转换器的分类 166
8.3.3 A/D转换器的主要性能参数 168
8.3.4 A/D转换芯片 169
8.3.5 ADC0809应用举例 172
8.4现代高精度高速度A/D和D/A转换器件 176
第9章 单片机系统设计 178
9.1单片机应用系统开发概述 178
9.2单片机应用系统总体设计 178
9.2.1确定功能技术指标 178
9.2.2可行性分析 179
9.2.3系统方案设计 179
9.3单片机应用系统硬件设计 180
9.3.1单片机芯片选择 180
9.3.2单片机系统扩展及系统配置 180
9.3.3单片机系统可靠性设计 180
9.4单片机应用系统软件设计 182
9.5单片机系统调试 185
9.5.1硬件调试 185
9.5.2软件调试 185
9.6单片机应用系统综合测试验证 186
9.7工程实例 186
9.7.1总体设计 187
9.7.2硬件设计 188
9.7.3软件设计 191
9.7.4系统调试 192
9.7.5系统综合验证 192
第10章C51语言程序设计及其实现 193
10.1单片机C51语言概述 193
10.2 C51的数据类型 193
10.2.1 C51的基本数据类型 194
10.2.2 C51新增数据类型 195
10.2.3 C51数据存储模式 196
10.3 C51的运算符与表达式 196
10.4 C51程序控制结构 200
10.4.1顺序结构 200
10.4.2选择结构 200
10.4.3条件语句 200
10.4.4循环结构 202
10.4.5循环语句 203
10.4.5 break、 continue和goto语句 204
10.5数组与指针 205
10.5.1数组 205
10.5.2指针 207
10.6函数 208
10.6.1 C51函数定义 208
10.6.2 C51函数调用 210
10.7 C语言与汇编语言混合编程 211
10.7.1 C语言与汇编语言混合编程优点 211
10.7.2 C语言与汇编语言混合编程实现 211
10.8应用实例 212
附录 学生设计作品案例 213
参考文献 215