第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 AT89S51单片机的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仿真软件 47
任务训练 单片机最小系统电路制作 50
知识拓展 53
本章小结 55
思考题与习题 56
第3章 单片机的指令系统 57
本章知识点 57
先导案例 57
3.1单片机的编程语言及格式 57
3.1.1单片机编程语言分类及特点 57
3.1.2汇编语言的指令格式 59
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变址寻址 63
3.2.6相对寻址 64
3.2.7位寻址 64
3.3数据传送类指令 65
3.3.1内部RAM数据传送指令 65
3.3.2外部RAM数据传送指令 68
3.3.3查表指令MOVC 69
3.3.4典型应用 70
3.4算术运算类指令 72
3.4.1加法指令 72
3.4.2减法指令 74
3.4.3乘除指令 75
3.4.4典型应用 75
3.5逻辑运算类指令 77
3.5.1基本逻辑运算指令 77
3.5.2移位指令 79
3.5.3典型应用 80
3.6控制转移类指令 81
3.6.1无条件转移指令 82
3.6.2条件转移指令 82
3.6.3调用及返回指令 84
3.6.4典型应用 85
3.7位操作指令 88
3.7.1位操作指令 88
3.7.2典型应用 89
3.8 C51的运算符 90
任务训练 流水灯控制电路的设计与制作 93
先导案例解决 95
生产学习经验 95
本章小结 95
思考题与习题 96
第4章 单片机的软件编程 98
本章知识点 98
先导案例 98
4.1软件编程的步骤及方法 98
4.1.1软件编程的步骤 98
4.1.2软件编程中的技巧 99
4.2汇编语言源程序的汇编过程 100
4.2.1伪指令 101
4.2.2源程序的汇编过程 104
4.3典型程序设计举例 106
4.3.1顺序结构程序设计 106
4.3.2分支结构程序设计 107
4.3.3循环结构程序设计 110
4.3.4子程序设计 115
4.4 C51的函数 119
4.4.1 C51的常用控制语句 119
4.4.2 C51程序的基本构成 123
4.4.3函数的分类及定义 125
4.4.4函数的说明与调用 126
4.4.5简单的C51程序实例 127
任务训练 交通灯控制电路设计与制作 128
生产学习经验 132
本章小结 133
思考题与习题 133
第5章AT89S51单片机的内部资源 135
本章知识点 135
先导案例 135
5.1 AT89S5的中断系统 135
5.1.1中断的基本概念 135
5.1.2中断源与中断请求标志 137
5.1.3中断控制 139
5.1.4中断的响应过程 140
5.1.5中断程序设计 142
5.2 AT89S5的定时/计数器 144
5.2.1定时/计数器的结构 144
5.2.2定时/计数器的控制 145
5.2.3定时/计数器的工作方式 146
5.2.4定时/计数器的程序设计 147
5.3 AT89S51的串行通信 150
5.3.1串行通信的基本概念 150
5.3.2串行口的结构及工作方式 153
5.3.3串行通信的程序设计 157
5.3.4串行通信的常用标准接口 164
5.4 C51的中断函数及应用 167
5.4.1 C51的中断函数 167
5.4.2 C51的中断及定时器编程实例 167
任务训练1音乐播放器电路设计与制作 168
任务训练2双机通信电路设计与制作 172
本章小结 174
思考题与习题 175
第6章AT89S51单片机的显示及键盘接口 176
本章知识点 176
先导案例 176
6.1显示器及其接口电路 177
6.1.1 LED数码显示器及其接口电路 177
6.1.2点阵显示器 182
6.1.3液晶显示器 184
6.2键盘及其接口电路 188
6.2.1独立式键盘 188
6.2.2 矩阵式键盘 189
6.2.3键盘的接口及程序设计 190
任务训练1秒表电路设计与制作 192
任务训练2电子琴电路设计与制作 195
本章小结 199
思考题与习题 200
第7章AT89S51单片机的数/模及模/数转换接口 201
本章知识点 201
先导案例 201
7.1数/模转换接口 202
7.1.1 D/A转换的基本知识 202
7.1.2 8位D/A转换器DAC0832 203
7.1.3串行D/A转换器TLC5615及接口电路 207
7.2模/数转换接口 209
7.2.1 A/D转换的基本知识 209
7.2.2 8位A/D转换器ADC0809 211
7.2.3串行A/D转换器TLC549及接口电路 213
任务训练1数控电源设计与制作 216
任务训练2数字电压表设计与制作 218
本章小结 221
思考题与习题 222
第8章AT89S51单片机的系统扩展 223
本章知识点 223
先导案例 223
8.1 AT89S51单片机的总线结构 224
8.1.1单片机系统总线 224
8.1.2单片机与外部芯片的并行扩展 225
8.2并行接口的扩展 226
8.2.1并行I/O口的简单扩展 227
8.2.2 8155可编程接口芯片 228
8.3 I2C总线扩展 234
8.3.1 I2C串行总线概述 234
8.3.2 24CXX系列存储器使用 235
8.3.3 AT24CXX系列存储器接口电路与编程 238
8.4 SPI总线的扩展 241
8.4.1 SPI串行总线概述 241
8.4.2 DS1302时钟芯片的使用 242
8.4.3 DS1302的接口电路与编程 246
8.5单总线的扩展 248
8.5.1单总线简介 248
8.5.2 DS18B20的引脚及硬件连接 249
8.5.3 DS18B20的使用方法 250
任务训练1数字钟设计与制作 256
任务训练2温度控制器设计与制作 263
先导案例解决 272
本章小结 272
思考题与习题 273
第9章 单片机应用系统开发 274
本章知识点 274
先导案例 274
9.1单片机应用系统设计过程 274
9.1.1单片机应用系统设计要求 274
9.1.2单片机应用系统的组成 275
9.1.3单片机应用系统设计步骤 276
9.2单片机的选型 279
9.2.1单片机的性能指标 279
9.2.2单片机的选型原则 280
9.3单片机的抗干扰技术 281
9.3.1干扰的来源 281
9.3.2硬件抗干扰技术 283
9.3.3软件抗干扰技术 284
本章小结 288
思考题与习题 288
附录A ASCII码表 289
附录B AT89S51单片机指令表 291
附录C常用芯片引脚 296
参考文献 299