第1章 绪论 1
1.1 控制系统组成方案 1
1.2 计算机概述 1
1.3 单片机的发展简史 4
1.4 单片机产品发展近况 5
1.5 单片机的发展趋势 8
1.6 ARM内核单片机 9
1.6.1 ARM内核简介 9
1.6.2 STM32单片机 11
1.6.3 Atmel公司的ARM内核单片机 11
1.7 单片机的应用领域 12
习题 12
第2章 MCS-51系列单片机的内部结构 13
2.1 MCS-51系列单片机简介 13
2.2 MCS-51系列单片机的硬件结构 14
2.3 MCS-51系列单片机的外部引脚及片外总线 16
2.4 MCS-51系列单片机的存储器结构 18
2.5 MCS-51系列单片机的I/O结构 24
2.6 MCS-51系列单片机的时钟电路及时序 28
2.6.1 时钟电路 29
2.6.2 MCS-51系列单片机的时序 29
2.6.3 MCS-51系列单片机的指令时序 30
2.7 MCS-51系列单片机的工作方式 31
2.7.1 复位方式 32
2.7.2 单步执行方式 33
习题 33
第3章 MCS-51汇编语言指令与程序设计 35
3.1 MCS-51指令系统概述 35
3.2 MCS-51指令系统的寻址方式 35
3.3 MCS-51指令系统的指令 38
3.3.1 数据传送指令 39
3.3.2 算术运算指令 42
3.3.3 位运算指令 44
3.3.4 控制转移指令 45
3.3.5 位操作指令 47
3.4 伪指令 48
3.5 汇编语言程序设计举例 50
3.5.1 码制转换 50
3.5.2 拆字与拼字 50
3.5.3 运算程序 51
习题 52
第4章 C51语言程序设计 54
4.1 编程语言概述 54
4.2 C51语言的基本语法 55
4.2.1 C51语言的基本数据类型 55
4.2.2 C51语言的运算 58
4.2.3 运算符与表达式 63
4.2.4 C51语言程序的基本结构 68
4.2.5 C51语言程序的转移语句 70
4.3 函数 71
4.3.1 函数的定义 71
4.3.2 函数的声明 73
4.3.3 函数的调用 73
4.4 C51语言的组合数据类型 73
4.4.1 指针 73
4.4.2 结构体 74
4.4.3 联合体 75
4.4.4 枚举 76
习题 77
第5章 MCS-51单片机的中断系统 79
5.1 中断概述 79
5.2 中断系统 80
5.2.1 中断源请求 81
5.2.2 中断控制 82
5.3 中断处理 84
5.3.1 中断响应 84
5.3.2 中断返回与撤销 85
5.4 中断程序的编写与外部中断的扩充 86
习题 89
第6章 MCS-51单片机的定时器/计数器 91
6.1 定时器/计数器概述 91
6.2 定时器/计数器T0、T1的寄存器 93
6.3 定时器/计数器T0、T1的工作方式 95
6.4 定时器/计数器的初始化编程及应用 97
习题 104
第7章 MCS-51单片机的串口通信 105
7.1 串行通信基础知识 105
7.1.1 并行通信与串行通信 105
7.1.2 串行通信的制式 105
7.1.3 异步通信与同步通信 106
7.1.4 比特率 106
7.2 MCS-51的串行口及控制寄存器 107
7.2.1 串行口的结构 107
7.2.2 串行口控制寄存器 108
7.3 串行口工作方式 109
7.3.1 方式0 109
7.3.2 方式1 110
7.3.3 方式2和方式3 112
7.4 串行口的初始化与应用 113
7.4.1 串行口初始化 113
7.4.2 串行口的应用 114
7.5 单片机与PC的通信 121
7.5.1 RS-232串行总线通信 122
7.5.2 RS-485串行总线通信 126
7.5.3 USB串行总线通信的基本原理 131
习题 134
第8章 MCS-51单片机的系统扩展 136
8.1 MCS-51单片机的最小系统 136
8.2 系统扩展的方法 137
8.3 存储器扩展 139
8.3.1 程序存储器的扩展 140
8.3.2 数据存储器的扩展 143
8.4 I2C总线E2PROM芯片AT24C×× 146
8.4.1 I2C总线协议 146
8.4.2 虚拟I2C总线软件包 149
8.4.3 单片机与AT24C××的接口 153
8.5 I/O口的扩展 156
8.5.1 I/O 口概述 156
8.5.2 I2C总线I/O扩展芯片PCF8574 158
习题 161
第9章 人机接口技术 162
9.1 键盘及其接口 162
9.1.1 按键电路与抖动的消除 162
9.1.2 独立式键盘 163
9.1.3 行列式键盘 165
9.2 LED显示器及其接口 167
9.2.1 LED显示器的结构与原理 167
9.2.2 LED的显示方式 169
9.2.3 LED的译码与驱动 170
9.3 LCD显示器及其接口 173
9.3.1 字符点阵式液晶显示模块RT1602C 173
9.3.2 图形点阵式液晶显示模块12864 180
9.4 数字量I/O口 187
9.4.1 光耦合器 188
9.4.2 电磁式继电器 188
9.4.3 拨码开关 189
9.4.4 蜂鸣器 189
习题 190
第10章 单片机与A/D、D/A转换器的接口技术 191
10.1 A/D转换器及其与单片机的接口电路 191
10.1.1 A/D转换器概述 191
10.1.2 并行A/D转换器及其软硬件设计 194
10.1.3 SPI串行口A/D转换器TLC1543 200
10.1.4 SPI串行口A/D转换器TLC2543 206
10.2 D/A转换器及其与单片机的接口电路 209
10.2.1 D/A转换器概述 209
10.2.2 DAC0832与单片机的接口电路 210
10.2.3 串行口D/A转换器TLC5615 214
10.3 I2C总线A/D、D/A转换芯片 218
习题 225
第11章 单片机的总线接口技术与开发实例 226
11.1 1-Wire单总线接口技术 226
11.1.1 1-Wire单总线的硬件结构 226
11.1.2 1-Wire单总线的时序 227
11.1.3 1-Wire单总线的ROM名代码 228
11.1.4 1-Wire单总线的命令 228
11.1.5 1-Wire单总线应用实例——DS18B20 229
11.2 现场总线技术 236
11.2.1 常用现场总线技术 236
11.2.2 CAN总线技术 239
11.2.3 CAN总线应用实例——SJA1000 243
11.3 以太网接口技术 247
11.3.1 以太网技术 247
11.3.2 以太网接口芯片RTL8019AS及应用 249
习题 261
第12章 单片机应用系统的可靠性技术 262
12.1 提高单片机系统稳定性的硬件措施 262
12.1.1 单片机及其相关元器件的选择 262
12.1.2 PCB布线的可靠性设计 263
12.1.3 硬件设计中采取的抗干扰措施 264
12.2 提高单片机系统稳定性的软件措施 265
习题 266
参考文献 267
附录A C51的部分库函数简介 268
附录B ASCⅡ码表 271