第1篇 基础篇 3
第1章 绪论 3
1.1 单片机、微控制器及片上系统 3
1.1.1 单片机 3
1.1.2 微控制器 3
1.1.3 片上系统 3
1.2 单片机的发展 4
1.2.1 SCM阶段 4
1.2.2 MCU阶段 5
1.2.3 SoC阶段 6
1.3 C8051F系列单片机简介 7
1.3.1 C8051F系列单片机的基本组成 7
1.3.2 C8051F020单片机引脚功能 11
1.3.3 C8051F系列单片机的技术特点及分类 14
1.4 课程的教学安排 17
思考与练习 17
第2章 CIP-51微控制器核的基本结构 17
2.1 CIP-51微控制器的结构 18
2.1.1 中央控制器 19
2.1.2 运算器 21
2.2 布尔(位)处理器 23
思考与练习 24
第3章 CIP-51微控制器的时钟系统及电源管理模式3.1 系统时钟电路和振荡器 25
3.1.1 系统时钟信号 25
3.1.2 内部振荡器 26
3.1.3 外部振荡器 26
3.2 时序、定时单位及指令周期 30
3.3 电源管理方式 30
思考与练习 32
第4章 CIP-51微控制器的存储器系统4.1 存储器结构 33
4.2 程序存储器 34
4.3 数据存储器 35
4.3.1 内部数据存储器 35
4.3.2 外部数据存储器 39
4.4 Flash储存器的编程和安全管理 40
4.4.1 Flash存储器编程 40
4.4.2 Flash存储器的安全管理 42
思考与练习 45
第5章 CIP-51微控制器的指令系统5.1 概述 46
5.1.1 指令分类 46
5.1.2 指令格式 46
5.1.3 指令系统中使用的符号 47
5.2 寻址方式和寻址空间 47
5.3 指令系统的分析 50
5.3.1 数据传送类指令 50
5.3.2 算术运算类指令 54
5.3.3 逻辑运算类指令 57
5.3.4 控制转移类指令 60
5.3.5 布尔(位)操作类指令 64
思考与练习 66
第6章 CIP-51微控制器的复位和中断系统6.1 复位 67
6.1.1 复位状态 67
6.1.2 复位源 67
6.1.3 复位中使用的寄存器 71
6.2 中断系统 73
6.2.1 中断源 73
6.2.2 中断标志 76
6.2.3 中断允许控制 78
6.2.4 中断优先级 81
6.2.5 中断运行和中断请求的撤除 84
6.2.6 中断的响应过程和中断矢量地址 85
6.3 中断应用举例 86
思考与练习 89
第2篇 数字外设篇 93
第7章 外设接口概述 93
7.1 I/O端口的多功能 93
7.2 交叉开关译码器和数字外设的配置 96
7.2.1 交叉开关译码器和数字外设配置的特殊功能寄存器 97
7.2.2 交叉开关引脚分配 100
7.2.3 交叉开关引脚分配示例 107
思考与练习 109
第8章 通用数字输入/输出端口 110
8.1 单片机I/O端口的操作 110
8.1.1 端口引脚的输出方式 111
8.1.2 端口引脚的输入方式 113
8.1.3 配置无引出脚的端口 113
8.2 输入/输出端口的特殊功能寄存器 114
8.2.1 低端口P0~P3的特殊功能寄存器 114
8.2.2 高端口P4~P7的特殊功能寄存器 118
8.3 输入/输出端口应用举例 120
思考与练习 127
第9章 外部数据存储器接口和片内XRAM9.1 外部数据存储器空间XRAM的访问 128
9.2 外部数据存储器接口的特殊功能寄存器 129
9.3 外部数据存储器接口的配置 131
9.4 端口选择和配置 131
9.5 复用和非复用选择 132
9.6 存储器模式选择 133
9.7 外部数据存储器接口操作时序 135
9.8 外部数据存储器接口和片内XRAM的应用 139
思考与练习 149
第10章 定时/计数器 151
10.1 定时器0和定时器1 151
10.1.1 定时器0/1交叉开关的配置 151
10.1.2 定时器0/1的特殊功能寄存器 152
10.1.3 定时器0/1的工作方式 155
10.2 定时器2和定时器4 159
10.2.1 交叉开关中I/O引脚的配置 159
10.2.2 定时器2/4的特殊功能寄存器 160
10.2.3 定时器2/4的工作方式 164
10.3 定时器3 168
10.3.1 定时器3的特殊功能寄存器 168
10.3.2 定时器3的工作方式 170
10.4 定时/计数器的应用举例 170
思考与练习 177
第11章 可编程计数器阵列 178
11.1 PCA的特殊功能寄存器 178
11.2 PCA的工作原理 182
11.2.1 PCA交叉开关配置 182
11.2.2 PCA定时/计数器 183
11.2.3 捕捉/比较模块 184
11.3 可编程计数器阵列PCA的应用举例 190
思考与练习 197
第12章 系统管理总线 198
12.1 SMBus串行接口的结构 198
12.2 SMBus协议 200
12.2.1 传输握手信号和数据传输时序 200
12.2.2 总线仲裁及其他传输协议 202
12.3 SMBus数据传输方式 203
12.3.1 数据传输方式 203
12.3.2 典型传输过程分析 204
12.4 SMBus特殊功能寄存器 206
12.5 SMBus的操作 209
12.6 SMBus的应用举例 212
思考与练习 228
第13章 增强型串行接口 229
13.1 UART0和UART1的特殊功能寄存器 229
13.2 UART0/1引脚配置和工作方式 234
13.2.1 UART0/1引脚的配置 234
13.2.2 UART0/1工作方式 234
13.3 UART0/1的多机通信 238
13.4 帧错误和传输错误检测 240
13.5 UART的应用举例 240
思考与练习 253
第14章 串行外设接口总线 256
14.1 SPI接口的结构原理、控制信号及交叉开关配置 256
14.1.1 SPI接口的结构原理 256
14.1.2 SPI控制信号 256
14.1.3 交叉开关中SPI信号引脚的配置 258
14.2 SPI特殊功能寄存器 258
14.3 SPI工作原理 261
14.3.1 SPI的操作过程 261
14.3.2 串行时钟时序 263
14.4 SPI的应用举例 263
思考与练习 270
第15章 JTAG接口 271
15.1 JTAG接口的结构 271
15.2 Flash编程命令 277
15.3 JTAG接口的实现与调试支持 279
15.4 单片机集成开发环境的设计 280
第3篇 模拟外设篇 286
第16章 12位模/数转换器 286
16.1 ADC0的组成 286
16.2 ADC0的特殊功能寄存器 287
16.2.1 ADC0的特殊功能寄存器简介 287
16.2.2 ADC0数据字应用举例 291
16.3 ADC0的工作方式 292
16.4 ADC0可编程越限检测器 294
16.4.1 ADC0可编程越限检测器的工作原理 294
16.4.2 ADC0可编程越限检测器的工作寄存器 295
16.4.3 ADC0可编程越限检测器的越限中断示例 296
16.5 ADC0的基准电压 299
16.6 ADC0应用举例 300
思考与练习 303
第17章 8位模/数转换器 305
17.1 模拟多路开关和可编程增益放大器 305
17.1.1 ADC1模拟输入的配置 305
17.1.2 ADC1输入通道的选择 305
17.1.3 可编程增益放大器 306
17.2 ADC1的特殊功能寄存器 306
17.3 ADC1的工作方式 309
17.4 ADC1的基准电压 311
第18章 12位电压输出数/模转换器18.1 DAC的特殊功能寄存器 313
18.2 DAC的操作 316
18.3 DAC的基准电压 317
18.4 DAC应用举例 318
思考与练习 322
第19章 比较器 323
19.1 比较器的组成和特点 323
19.2 比较器的特殊功能寄存器 323
19.3 比较器的操作 326
19.4 比较器的应用举例 328
第20章 基准电源及温度传感器 333
20.1 基准电源 333
20.1.1 基准电源的组成 333
20.1.2 电压基准控制寄存器 335
20.2 温度传感器 335
20.2.1 温度传感器的特性 335
20.2.2 温度传感器的操作 336
20.2.3 温度传感器的应用举例 337
附录A 特殊功能寄存器一览表 341
附录B 中断源一览表 345
附录C CIP-51指令一览表 347
附录D 模拟部件电气特性 351
参考文献 355