第1章 绪论 1
1.1 引言 1
1.2 单片机的特点 1
1.3 单片机的发展及应用 3
1.3.1 单片机的发展趋势 3
1.3.2 单片机的应用 4
1.4 MCS-51系列和AT89系列单片机 5
1.5 本章小结 7
1.6 本章习题 7
2.1 MCS-51单片机的组成和内部结构 8
第2章 MCS-51单片机的结构和原理 8
2.1.1 中央处理器 9
2.1.2 存储器 10
2.1.3 接口电路 10
2.1.4 时钟振荡电路 11
2.2 MCS-51的外部引脚及功能 11
2.2.1 I/O端口 11
2.2.2 控制引脚 12
2.2.3 电源与晶振引脚 13
2.3 MCS-51的存储器配置 13
2.3.1 程序存储器配置 13
2.3.2 数据存储器配置 14
2.3.3 特殊功能寄存器(SFR) 16
2.4 时钟电路与复位电路 21
2.4.1 时钟电路 21
2.4.2 复位方式与电路 23
2.5 I/O端口电路与电气特性 24
2.5.1 I/O接口内部电路结构(引脚) 24
2.5.2 I/O端口负载能力 28
2.5.3 低功耗工作方式 30
2.6 本章小结 31
2.7 本章习题 31
3.1.1 MCS-51单片机指令格式 33
3.1.2 指令的字节 33
第3章 MCS-51单片机的指令系统 33
3.1 指令格式及其符号说明 33
3.1.3 MCS-51单片机的助记符语言 35
3.1.4 常用符号说明 36
3.2 寻址方式 37
3.2.1 立即寻址 37
3.2.2 直接寻址 38
3.2.3 寄存器寻址 39
3.2.4 寄存器间接寻址 39
3.2.5 变址寻址 40
3.2.6 位寻址 41
3.2.7 相对寻址 42
3.3 MCS-51的指令集 42
3.3.1 数据传送类指令 43
3.3.2 算术运算类指令 47
3.3.3 逻辑运算及移位类指令 50
3.3.4 控制转移类指令 52
3.3.5 布尔变量操作类指令 56
3.4 汇编语言程序的基本形式 58
3.4.1 汇编语言程序的伪指令 59
3.4.3 汇编语言源程序的格式 61
3.4.2 汇编语言程序的编辑与汇编 61
3.5 汇编语言程序的基本结构 62
3.5.1 顺序程序设计 62
3.5.2 分支程序设计 63
3.5.3 循环程序设计 66
3.5.4 子程序设计 68
3.6 本章小结 75
3.7 本章习题 76
第4章 MCS-51单片机内部标准功能单元 78
4.1 MCS-51单片机的中断系统 78
4.1.1 中断系统的概念和基本结构 78
4.1.2 中断系统的控制与实现 80
4.1.3 中断系统的处理过程 83
4.1.4 中断系统设计举例 84
4.2 MCS-51的定时/计数器 86
4.2.1 定时/计数器的基本结构 86
4.2.2 定时/计数器的控制与实现 87
4.2.3 定时/计数器的工作方式 88
4.2.4 定时/计数器程序设计举例 90
4.3 MCS-51的串行接口 94
4.3.1 串行通信基础 94
4.3.2 串行接口的基本结构 96
4.3.3 串行接口的控制与实现 97
4.3.4 用串行接口扩展并行I/O接口 102
4.3.5 串行通信接口标准 103
4.3.6 单片机串行接口通信技术举例 106
4.4 本章小结 112
4.5 本章习题 113
第5章 MCS-51单片机外部并行接口扩展技术 114
5.1 系统总线扩展及编址技术 114
5.1.1 系统总线扩展 114
5.1.2 编址技术 117
5.2 存储器扩展 118
5.2.1 程序存储器(ROM)的扩展 119
5.2.2 数据存储器(RAM)的扩展 120
5.2.3 非易失数据存储器NVRAM的扩展(DS1230Y/AB) 122
5.3 并行口扩展 124
5.3.1 简易8位并行口扩展 124
5.3.2 可编程RAM/IO芯片8155接口设计 126
5.4 键盘/显示器接口扩展技术 134
5.4.1 显示器及其接口 134
5.4.2 键盘接口工作原理 139
5.4.3 键盘/显示器专用接口芯片8279工作原理 142
5.4.4 键盘/显示器接口实例 152
5.5 模拟量I/O通道 154
5.5.1 D/A转换原理及主要性能指标 155
5.5.2 MCS-51单片机与DAC0832芯片接口设计 157
5.5.3 A/D转换原理及主要技术指标 162
5.5.4 MCS-51单片机与ADC0809芯片接口设计 165
5.5.5 A/D与D/A转换电路中的参考电源设计 169
5.6 开关量I/O通道设计 171
5.7 本章小结 177
5.8 本章习题 177
第6章 MCS-51单片机外部串行总线接口技术 179
6.1 几种外部串行总线工作方式 179
6.1.1 SPI串行总线 179
6.1.2 I2C总线 181
6.1.3 单总线 183
6.1.4 Microwire串行总线 184
6.2 串行E2PROM X5045接口扩展技术 185
6.2.1 X5045的基本功能 185
6.2.2 X5045的控制与实现 186
6.2.3 MCS-51单片机与X5045的接口电路 189
6.2.4 X5045应用软件设计实例 191
6.3 串行专用键盘/显示器接口芯片HD7279 195
6.3.1 HD7279的基本功能 195
6.3.2 HD7279的控制与实现 196
6.3.3 MCS-5 1单片机与HD7279的接口电路 204
6.3.4 HD7279应用软件设计实例 205
6.4 串行A/D转换接口芯片TLC1543 207
6.4.1 TLC1543的基本功能 208
6.4.2 TLC1543的控制与实现 209
6.4.3 MCS-51单片机与TLC1543的接口电路 211
6.4.4 TLC1543应用软件设计实例 211
6.5 串行D/A转换接口芯片TLC5615 213
6.5.1 TLC5615的基本功能 213
6.5.2 TLC5615的控制与实现 214
6.5.3 MCS-51单片机与TLC5615的接口电路 215
6.5.4 TLC5615应用软件设计实例 216
6.6 本章小结 217
6.7 本章习题 218
第7章 MCS-51应用系统开发与设计 219
7.1 MCS-51应用系统开发过程 219
7.1.1 明确任务 220
7.1.2 硬件设计 221
7.1.3 软件设计 221
7.1.4 印制电路板计算机辅助设计 222
7.1.5 系统调试 223
7.2 数据采集系统设计 224
7.2.1 实例功能 224
7.2.2 主机单元设计 225
7.2.3 数据采集单元 230
7.2.4 人机接口单元 231
7.2.5 报警单元 234
7.3 步进电动机控制系统设计 235
7.3.1 实例功能 235
7.3.2 控制系统硬件、软件设计 235
7.4 信号发生器 241
7.4.1 实例功能 241
7.4.2 硬件电路设计 241
7.5.2 硬件电路设计(电路原理、器件选择及参数设计) 244
7.5.1 实例功能(无线数据传输) 244
7.5 无线通信系统设计 244
7.6 本章小结 247
7.7 本章习题 247
第8章 AT89系列单片机简介 248
8.1 AT89S51单片机 248
8.1.1 外部引脚及功能 248
8.1.2 部增强功能单元 249
8.1.3 在系统编程技术(ISP) 252
8.2 AT89C52单片机 254
8.2.1 外部引脚及功能 254
8.2.2 内部增强功能单元 255
8.2.3 典型使用举例 261
8.3 AT89C1051/2051/4051单片机 262
8.3.1 外部引脚及功能 262
8.3.2 内部变化功能单元 263
8.3.3 典型使用举例 264
8.4 本章小结 265
8.5 本章习题 266
附录 267
Ⅰ MCS-89C51系列单片机指令表 267
Ⅱ ASCII码表 271
参考文献 273