第1章 概述 1
1.1 单片机及其发展 1
1.1.1 单片机基本概念 1
1.1.2 单片机发展概况 2
1.1.3 单片机发展特点 3
1.2 常用单片机产品系列 3
1.2.1 常用单片机产品系列简介 3
1.2.2 STC单片机系列产品 4
1.2.3 STC单片机的命名规则 5
1.3 单片机应用概述 6
小结 7
习题 7
第2章 STC15单片机的内部结构 8
2.1 STC15单片机内部总体结构及引脚功能 8
2.1.1 总体结构 8
2.1.2 引脚功能 10
2.2 STC15单片机存储体系结构 12
2.2.1 程序存储器 12
2.2.2 数据存储器 13
2.2.3 片内数据Flash存储器 18
2.3 并行I/O口 20
2.3.1 I/O口的工作模式及其设置 20
2.3.2 并行I/O口使用注意事项 22
2.4 STC15单片机时钟、复位及启动流程 23
2.4.1 时钟电路 23
2.4.2 复位及启动流程 27
2.5 STC15系列单片机的省电模式 31
2.6 STC单片机的在线编程 33
2.6.1 硬件连接 33
2.6.2 下载软件的操作 34
小结 35
习题 35
第3章 STC15单片机的指令系统 37
3.1 指令系统概述 37
3.1.1 STC15单片机指令格式 37
3.1.2 指令的分类 38
3.1.3 常用符号说明 38
3.2 寻址方式 39
3.2.1 立即寻址 39
3.2.2 直接寻址 39
3.2.3 寄存器寻址 40
3.2.4 寄存器间接寻址 40
3.2.5 变址寻址 41
3.2.6 位寻址 41
3.2.7 相对寻址 41
3.3 数据传送与交换指令 42
3.3.1 内部数据传送指令 42
3.3.2 外部数据存储器的传送指令 43
3.3.3 读程序存储器单元内容的指令 44
3.3.4 堆栈操作指令 44
3.3.5 数据交换指令 45
3.4 算术运算指令 45
3.4.1 加减法指令 45
3.4.2 乘法和除法指令 49
3.5 逻辑运算及移位指令 49
3.5.1 逻辑运算指令 49
3.5.2 移位指令 51
3.6 控制转移指令 51
3.6.1 无条件转移指令 51
3.6.2 条件转移指令 53
3.6.3 子程序调用和返回指令 53
3.6.4 空操作指令 54
3.7 位操作指令 55
3.7.1 位传送指令 55
3.7.2 位置位复位指令 55
3.7.3 位运算指令 56
3.7.4 位控制转移指令 56
小结 57
习题 57
第4章 STC单片机汇编语言编程 59
4.1 伪指令与汇编语言的语句格式 59
4.1.1 汇编语言程序设计的基本概念 59
4.1.2 汇编语言的语句格式 60
4.1.3 伪指令 62
4.2 汇编语言程序设计 65
4.2.1 简单程序 65
4.2.2 分支程序 66
4.2.3 循环程序 70
4.2.4 子程序 73
4.3 实用程序举例 75
4.3.1 算术运算类程序 75
4.3.2 代码转换类程序 77
4.3.3 定时程序 78
4.3.4 数据极值查找程序 79
4.3.5 数据排序程序 79
4.4 Keil μ Vision集成开发环境简介 81
4.4.1 Keil μ Vision 5软件简介 81
4.4.2 Keil μ Vision 5中创建并调试汇编程序 82
小结 87
习题 87
第5章 单片机C51程序设计 89
5.1 C51程序应用概述 89
5.1.1 C51与标准C的比较 89
5.1.2 标识符与关键字 90
5.1.3 C51的程序结构 91
5.2 C51数据类型与运算 92
5.2.1 C51的数据类型 92
5.2.2 C51中的常量和变量 94
5.2.3 C51中的数据运算及表达式 96
5.2.4 C51的数组 98
5.2.5 C51的指针 99
5.3 C51语句及控制结构 100
5.3.1 C51语句的常见类型 100
5.3.2 C51的控制结构 100
5.4 C51函数 102
5.4.1 函数的定义 103
5.4.2 函数的调用与返回 103
5.4.3 中断服务函数 104
5.4.4 Keil C51库函数 104
5.5 汇编语言与C51的混合编程 106
5.5.1 C51函数与汇编语言程序接口 106
5.5.2 汇编程序作为外部函数被引用 107
5.5.3 C51中直接嵌入汇编语言 109
5.5.4 在Keil μVision 5中建立并调试C51工程文件 112
小结 115
习题 115
第6章 STC15单片机中断系统 116
6.1 基本概念 117
6.2 STC15单片机中断系统组成 118
6.2.1 中断源 119
6.2.2 中断请求标志 119
6.2.3 中断允许和中断优先级寄存器 121
6.2.4 中断系统结构 126
6.3 中断处理过程 128
6.3.1 中断响应条件 128
6.3.2 中断服务程序入口 129
6.3.3 中断服务程序 129
6.4 中断应用实例 132
6.4.1 单中断源实例 133
6.4.2 多中断源实例 134
小结 138
习题 138
第7章 STC15单片机定时/计数器 140
7.1 基本概念 141
7.2 STC15单片机定时/计数器组成 141
7.2.1 与定时/计数器有关的特殊功能寄存器 142
7.2.2 加1计数值寄存器 145
7.3 定时/计数器工作方式 146
7.3.1 T0、T1的工作方式0 146
7.3.2 T0、T1的工作方式1 147
7.3.3 T0、T1的工作方式2 147
7.3.4 T0的工作方式3 148
7.4 定时/计数器应用实例 149
7.4.1 方式0应用 149
7.4.2 方式2应用 150
7.4.3 GATE位应用 152
7.4.4 时钟设计 153
小结 155
习题 155
第8章 STC15单片机串行口 157
8.1 基础知识 158
8.2 串行口硬件结构 159
8.2.1 串行口1的控制寄存器 159
8.2.2 串行口2~4的控制寄存器 162
8.2.3 数据缓冲寄存器 164
8.2.4 串行口接口电路 165
8.3 串行口1工作方式 166
8.3.1 工作方式0 166
8.3.2 工作方式1 166
8.3.3 工作方式2 168
8.3.4 工作方式3 168
8.3.5 串行口1的中继广播方式 169
8.4 波特率设定 169
8.5 串行口通信模式 171
8.5.1 双机通信模式 171
8.5.2 多机通信模式 171
8.5.3 上下位机通信模式 172
8.6 串行口应用实例 172
8.6.1 双机通信应用 172
8.6.2 多机通信应用 177
8.6.3 上下位机使用RS-232C接口的通信应用 178
小结 182
习题 182
第9章 STC15单片机的CCP/PCA/PWM模块 184
9.1 CCP/PCA/PWM模块总体结构 184
9.2 CCP/PCA/PWM模块的特殊功能寄存器 186
9.3 CCP/PCA/PWM的工作模式及应用举例 189
小结 196
习题 196
第10章 STC15单片机的SPI接口 197
10.1 STC15单片机SPI接口的结构 197
10.2 SPI接口的信号及通信方式 198
10.3 SPI接口的特殊功能寄存器 200
10.4 SPI数据传输过程及接口时序 202
10.5 SPI通信应用举例 205
小结 207
习题 207
第11章 STC15单片机的A/D模块 209
11.1 A/D转换原理与性能指标 209
11.2 STC15单片机的A/D转换器结构 210
11.3 与A/D转换器相关的特殊功能寄存器 211
11.4 STC15单片机的A/D转换器应用 212
11.5 STC15W系列单片机片内模拟比较器 214
11.5.1 模拟比较器结构 215
11.5.2 模拟比较器的控制寄存器 215
小结 217
习题 217
第12章 STC15单片机系统扩展 218
12.1 51单片机系统扩展概述 218
12.1.1 单片机的三总线结构 218
12.1.2 访问外部数据存储器的时序 219
12.1.3 地址译码方法 222
12.1.4 I/O数据传送的控制方式 223
12.2 外部数据存储器的扩展 223
12.3 输入/输出接口的扩展 226
12.3.1 常用的芯片 227
12.3.2 利用74HC573和74 HC574扩展开关量输入/输出接口 227
12.4 串行总线接口 228
12.4.1 常用的串行总线概述 228
12.4.2 I2C总线的基本原理 230
12.4.3 单片机模拟I2C总线的软件设计 234
12.4.4 I2 C总线的串行EEPROM与单片机的接口应用 237
小结 240
习题 240
第13章 STC15单片机常规接口技术 242
13.1 键盘接口技术 242
13.1.1 键盘接口的原理和硬件设计 242
13.1.2 键盘接口程序设计 244
13.1.3 键盘接口任务的整体安排 247
13.2 LED数码显示接口技术 248
13.2.1 LED数码显示原理和结构 248
13.2.2 LED数码显示接口程序设计 250
13.3 打印机接口设计 253
13.3.1 打印机及其接口 253
13.3.2 TPμP-40A微型打印机与单片机接口设计 255
13.4 STC15单片机与D/A转换器的接口设计 258
13.4.1 D/A转换原理与性能指标 258
13.4.2 D/A转换器接口设计举例 260
小结 264
习题 264
第14章 STC单片机高级接口技术 266
14.1 液晶显示器LCD接口设计 266
14.1.1 LCD液晶显示器的结构简介 266
14.1.2 STC单片机与液晶的接口 268
14.2 USB总线接口 274
14.2.1 USB总线协议简介 275
14.2.2 USB接口芯片CH371系列和单片机的接口电路 281
14.3 单片机和以太网的接口设计 288
14.3.1 以太网协议简介 288
14.3.2 RTL8019以太网控制器简介 289
小结 294
习题 294
第15章 单片机应用系统 295
15.1 应用系统研发的一般过程 295
15.2 单片机应用系统抗干扰及可靠性技术 299
15.2.1 干扰类型和干扰源 300
15.2.2 硬件抗干扰技术 302
15.2.3 软件抗干扰技术 305
15.3 设计与开发实例——智能环境气候舱电气控制系统 306
小结 311
习题 311
附录A ASCII码表及含义 313
附录B STC15系列单片机指令表 315
附录C STC15单片机的特殊功能寄存器汇集 320
参考文献 324