第1章 认识单片机 1
本章知识点 1
先导案例 1
1.1单片机的发展及应用 2
1.1.1嵌入式系统与单片机 2
1.1.2单片机的发展趋势 3
1.1.3单片机主要产品及应用 4
1.1.4单片机系统的开发 10
1.2单片机的数制与编码 11
1.2.1计算机中的常用数制 11
1.2.2计算机中数的表示 13
1.2.3常用编码 14
本章小结 15
思考题与习题 15
第2章 单片机的最小系统 17
本章知识点 17
先导案例 17
2.1微型计算机的基本结构及工作原理 18
2.1.1微型计算机的基本结构 18
2.1.2微型计算机的工作原理 20
2.2 AT89S51单片机的内部结构及引脚功能 21
2.2.1 AT89S51单片机的基本结构 21
2.2.2 AT89S51单片机的引脚及封装 23
2.2.3 AT89 S51单片机的I/O口 24
2.3 AT89S51的存储结构 27
2.3.1程序存储器 27
2.3.2数据存储器 28
2.4 AT89S51单片机的最小系统 33
2.4.1 AT89S51单片机最小系统的构成 33
2.4.2时钟电路 33
2.4.3复位电路 34
2.5 C51的数据结构 36
2.5.1 C51的常量 36
2.5.2 C51的变量与存储类型 36
2.6单片机常用开发工具 42
2.6.1 Keil μVision4仿真调试软件包 42
2.6.2 Proteus仿真软件 46
任务训练 单片机最小系统电路制作 50
知识拓展 53
本章小结 55
思考题与习题 56
第3章 单片机的指令系统 57
本章知识点 57
先导案例 57
3.1单片机的编程语言及格式 57
3.1.1单片机编程语言分类及特点 57
3.1.2汇编语言的指令格式 58
3.1.3指令的分类及符号含义 59
3.2寻址方式 60
3.2.1立即寻址 60
3.2.2直接寻址 61
3.2.3寄存器寻址 61
3.2.4寄存器间接寻址 62
3.2.5变址寻址 62
3.2.6相对寻址 63
3.2.7位寻址 63
3.3数据传送类指令 64
3.3.1内部RAM数据传送指令 65
3.3.2外部RAM数据传送指令 67
3.3.3查表指令MOVC 68
3.3.4典型应用 69
3.4算术运算类指令 71
3.4.1加法指令 71
3.4.2减法指令 73
3.4.3乘除指令 74
3.4.4典型应用 75
3.5逻辑运算类指令 76
3.5.1基本逻辑运算指令 76
3.5.2移位指令 78
3.5.3典型应用 79
3.6控制转移类指令 80
3.6.1无条件转移指令 80
3.6.2条件转移指令 81
3.6.3调用及返回指令 82
3.6.4典型应用 84
3.7位操作指令 86
3.7.1位操作指令 86
3.7.2典型应用 87
3.8 C51的运算符 88
任务训练 流水灯控制电路的设计与制作 91
先导案例解决 93
生产学习经验 93
本章小结 94
思考题与习题 94
第4章 单片机的软件编程 96
本章知识点 96
先导案例 96
4.1软件编程的步骤及方法 96
4.1.1软件编程的步骤 96
4.1.2软件编程中的技巧 97
4.2汇编语言源程序的汇编过程 98
4.2.1伪指令 99
4.2.2源程序的汇编过程 102
4.3典型程序设计举例 104
4.3.1顺序结构程序设计 104
4.3.2分支结构程序设计 105
4.3.3循环结构程序设计 108
4.3.4子程序设计 113
4.4 C51的函数 116
4.4.1 C51的常用控制语句 116
4.4.2 C51程序的基本构成 121
4.4.3函数的分类及定义 123
4.4.4函数的说明与调用 124
4.4.5简单的C51程序实例 124
任务训练 交通灯控制电路设计与制作 126
生产学习经验 130
本章小结 130
思考题与习题 131
第5章AT89S51单片机的内部资源 132
本章知识点 132
先导案例 132
5.1 AT89 S51的中断系统 132
5.1.1中断的基本概念 132
5.1.2中断源与中断请求标志 134
5.1.3中断控制 136
5.1.4中断的响应过程 137
5.1.5中断程序设计 139
5.2 AT89S51的定时/计数器 141
5.2.1定时/计数器的结构 141
5.2.2定时/计数器的控制 141
5.2.3定时/计数器的工作方式 143
5.2.4定时/计数器的程序设计 144
5.3 AT89 S51的串行通信 147
5.3.1串行通信的基本概念 147
5.3.2串行口的结构及工作方式 150
5.3.3串行通信的程序设计 154
5.3.4串行通信的常用标准接口 160
5.4 C51的中断函数及应用 163
5.4.1 C51的中断函数 163
5.4.2 C51的中断及定时器编程实例 164
任务训练1音乐播放器电路设计与制作 165
任务训练2双机通信电路设计与制作 168
本章小结 171
思考题与习题 171
第6章AT89S51单片机的显示及键盘接口 173
本章知识点 173
先导案例 173
6.1显示器及其接口电路 174
6.1.1 LED数码显示器及其接口电路 174
6.1.2点阵显示器 179
6.1.3液晶显示器 180
6.2键盘及其接口电路 185
6.2.1独立式键盘 185
6.2.2 矩阵式键盘 185
6.2.3键盘的接口及程序设计 186
任务训练1秒表电路设计与制作 188
任务训练2电子琴电路设计与制作 191
本章小结 195
思考题与习题 195
第7章AT89S51单片机的数/模及模/数转换接口 196
本章知识点 196
先导案例 196
7.1数/模转换接口 197
7.1.1 D/A转换的基本知识 197
7.1.2 8位D/ A转换器DAC0832 198
7.1.3串行D/A转换器TLC5615及接口电路 201
7.2模/数转换接口 204
7.2.1 A/D转换的基本知识 204
7.2.2 8位A/D转换器ADC0809 205
7.2.3串行A/ D转换器TLC549及接口电路 208
任务训练1数控电源设计与制作 210
任务训练2数字电压表设计与制作 212
本章小结 216
思考题与习题 216
第8章AT89S51单片机的系统扩展 218
本章知识点 218
先导案例 218
8.1 AT89S51单片机的总线结构 219
8.1.1单片机系统总线 219
8.1.2单片机与外部芯片的并行扩展 220
8.2并行接口的扩展 221
8.2.1并行I/O口的简单扩展 222
8.2.2 8155可编程接口芯片 223
8.3 I2 C总线扩展 229
8.3.1 I2 C串行总线概述 229
8.3.2 24CXX系列存储器使用 230
8.3.3 AT24CXX系列存储器接口电路与编程 233
8.4 SPI总线的扩展 236
8.4.1 SPI串行总线概述 236
8.4.2 DS1302时钟芯片的使用 237
8.4.3 DS1302的接口电路与编程 241
8.5单总线的扩展 243
8.5.1单总线简介 243
8.5.2 DS18B20的引脚及硬件连接 244
8.5.3 DS18B20的使用方法 245
任务训练1数字钟设计与制作 251
任务训练2温度控制器设计与制作 258
先导案例解决 267
本章小结 267
思考题与习题 268
第9章 单片机应用系统开发 269
本章知识点 269
先导案例 269
9.1单片机应用系统设计过程 269
9.1.1单片机应用系统设计要求 269
9.1.2单片机应用系统的组成 270
9.1.3单片机应用系统设计步骤 271
9.2单片机的选型 274
9.2.1单片机的性能指标 274
9.2.2单片机的选型原则 275
9.3单片机的抗干扰技术 276
9.3.1干扰的来源 276
9.3.2硬件抗干扰技术 278
9.3.3软件抗干扰技术 279
本章小结 283
思考题与习题 283
附录A ASCII码表 284
附录B AT89S51单片机指令表 286
附录C常用芯片引脚 291
参考文献 294