国产32位微控制器APM32E103原理与应用 / 高等院校电子信息类专业“互联网+”创新规划教材
定价:¥58.00
作者: 丁励,郜超军,侯广乾主编
出版时间:2024-09
最新印次日期:2024-9
出版社:北京大学出版社
- 北京大学出版社
- 9787301353141
- 1版
- 547765
- 62261325-5
- 16开
- 2024-09
- 工学
- 电子信息类
- 电子信息类、计算机类
- 本科
作者简介
内容简介
本书以珠海极海半导体有限公司设计生产的APM32E103微控制器为例,详细讲解了ARM Cortex-M3处理器内核的基本原理及APM32E103微控制器的外设接口、SDK库和编程。主要内容包括ARM Cortex-M3处理器内核、APM32E103微控制器及SDK库、通用输入输出、中断和事件、定时器、USART接口、I2C接口、模拟量模块AD/DA、DMA控制器、SPI接口、SDIO接口、实时时钟和备份寄存器、CAN接口、EMMC控制器和USB接口及其他外设应用实例。本书在重视基础知识的同时,还列举了大量翔实的实例,这些实例大部分源自编者在微控制器测试过程中的积累与沉淀。
本书可作为高等院校计算机、自动化、电子信息、测控技术、电气工程等专业开设嵌入式微控制器课程的教材,也可作为从事嵌入式微控制器开发及应用的相关工程技术人员的参考用书。
本书可作为高等院校计算机、自动化、电子信息、测控技术、电气工程等专业开设嵌入式微控制器课程的教材,也可作为从事嵌入式微控制器开发及应用的相关工程技术人员的参考用书。
目录
目 录
第1章 ARM Cortex-M3处理器内核1
1.1 ARM Cortex-M3处理器概述1
1.1.1 ARM Cortex-M3处理器简介1
1.1.2 ARM Cortex-M3处理器特性2
1.2 ARM Cortex-M3处理器架构2
1.2.1 架构简介及模块框图3
1.2.2 操作模式和状态5
1.2.3 寄存器5
1.3 指令集7
1.3.1 指令集背景简介7
1.3.2 指令集分类8
1.4 异常和中断10
1.4.1 异常10
1.4.2 嵌套向量中断控制器(NVIC)11
1.4.3 向量表12
1.5 存储器系统13
1.5.1 存储器特性简介13
1.5.2 存储器映射13
1.6 复位14
1.7 调试15
本章小结17
习题117
第2章 APM32E103微控制器及SDK库18
2.1 APM32E103微控制器18
2.1.1 概述18
2.1.2 系统架构18
2.1.3 存储器映射22
2.1.4 位段23
2.1.5 启动配置24
2.1.6 电源24
2.1.7 复位25
2.1.8 时钟26
2.2 APM32E103微控制器的SDK库28
2.2.1 SDK库概述28
2.2.2 SDK库的使用30
2.2.3 SDK例程使用35
2.3 本章小结37
习题237
第3章 通用输入输出38
3.1 通用输入输出概述38
3.1.1 GPIO功能及配置38
3.1.2 AFIO功能及配置41
3.2 GPIO框图剖析及原理42
3.2.1 GPIO输入模式剖析43
3.2.2 GPIO输出模式剖析44
3.2.3 GPIO位带操作原理46
3.2.4 GPIO初始化结构体47
3.3 APM32-GPIO编程实例48
3.3.1 实例目标48
3.3.2 硬件设计48
3.3.3 软件设计49
3.3.4 下载验证51
本章小结52
习题352
第4章 中断和事件53
4.1 中断和事件概述53
4.2 NVIC原理及配置54
4.2.1 中断和异常向量表54
4.2.2 中断优先级58
4.2.3 中断挂起与解挂59
4.2.4 中断活动与使能控制60
4.2.5 中断编程要点60
4.3 EINT原理及框图分析61
4.3.1 EINT中断/事件线路61
4.3.2 EINT结构框图分析62
4.3.3 EINT中断/事件配置64
4.3.4 EINT中断、事件线对比66
4.4 中断和事件编程实例67
4.4.1 实例目标67
4.4.2 硬件设计67
4.4.3 软件设计67
4.4.4 下载验证70
本章小结72
习题472
第5章 定时器73
5.1 APM32E103微控制器的定时器73
5.2 APM32E103微控制器的基本定时器(TMR6/7)75
5.2.1 基本定时器的主要结构75
5.2.2 时钟源选择75
5.2.3 计数方式76
5.2.4 基本定时器的寄存器77
5.3 APM32E103微控制器的通用定时器(TMR2/3/4/5)77
5.3.1 通用定时器的主要结构77
5.3.2 计数模式79
5.3.3 输入捕获模式82
5.3.4 比较输出模式83
5.3.5 PWM输出模式83
5.3.6 PWM输入模式84
5.3.7 单脉冲模式85
5.3.8 编码器接口模式85
5.3.9 强制输出模式85
5.3.10 中断和DMA请求85
5.4 APM32E103微控制器的高级定时器(TMR1/8)85
5.5 APM32E103微控制器的定时器编程88
5.5.1 与定时器相关的库函数88
5.5.2 定时器编程实例91
本章小结94
习题594
第6章 USART接口95
6.1 串行通信简介95
6.2 APM32E103微控制器的USART简介98
6.2.1 主要特征99
6.2.2 功能简介99
6.2.3 USART中断101
6.2.4 USART的DMA操作102
6.3 USART串口通信编程103
6.3.1 USART初始化103
6.3.2 APM32E103微控制器的USART库函数104
6.3.3 串口中断收发实例105
本章小结109
习题6109
第7章 I2C接口110
7.1 I2C总线概述110
7.1.1 I2C总线物理结构110
7.1.2 I2C总线数据传输112
7.2 APM32E103微控制器的I2C接口115
7.2.1 主要特点116
7.2.2 APM32E103微控制器I2C接口结构116
7.2.3 I2C通信中的事件126
7.2.4 工作模式128
7.2.5 I2C中断129
7.2.6 I2C接口的DMA操作130
7.3 APM32E103微控制器的I2C接口编程131
7.3.1 I2C的相关库函数131
7.3.2 I2C编程实例133
本章小结139
习题7139
第8章 模拟量模块AD/DA140
8.1 模拟/数字转换器概述140
8.2 APM32E103微控制器的ADC功能描述141
8.2.1 APM32E103微控制器的ADC简介141
8.2.2 ADC的转换模式142
8.2.3 单通道转换143
8.2.4 多通道转换144
8.2.5 ADC的相关设置149
8.3 APM32E103微控制器的ADC编程152
8.3.1 编程步骤152
8.3.2 编程具体示例153
8.4 数字/模拟转换器概述156
8.5 APM32E103微控制器的DAC功能描述158
8.5.1 APM32E103微控制器的DAC功能简介158
8.5.2 DAC的相关设置159
8.6 APM32E103微控制器的DAC编程161
本章小结163
习题8164
第9章 DMA控制器165
9.1 DMA概述165
9.2 APM32E103微控制器的DMA功能描述166
9.2.1 DMA简介166
9.2.2 DMA请求167
9.2.3 DMA传输168
9.3 APM32E103微控制器的DMA编程170
本章小结174
习题9174
第10章 SPI接口175
10.1 SPI总线概述175
10.1.1 SPI总线物理结构175
10.1.2 SPI总线数据传输177
10.2 APM32E103微控制器的SPI接口179
10.2.1 主要特性179
10.2.2 主要结构180
10.3 APM32E103微控制器的SPI编程187
10.3.1 SPI库函数187
10.3.2 SPI编程实例189
10.4 APM32E103微控制器的I2S接口195
10.4.1 I2S总线物理结构195
10.4.2 I2S设备互联196
10.4.3 I2S数据格式197
10.4.4 APM32E103微控制器的I2S接口简介198
本章小结200
习题10200
第11章 SDIO接口201
11.1 SDIO简介201
11.1.1 SDIO总线物理层201
11.1.2 SDIO总线协议202
11.2 APM32E103微控制器的SDIO206
11.2.1 主要特征206
11.2.2 功能描述207
11.2.3 标准库介绍207
11.3 SD卡读写测试实例210
11.3.1 硬件设计210
11.3.2 软件设计211
11.3.3 实例输出结果213
本章小结213
习题11213
第12章 实时时钟和备份寄存器214
12.1 实时时钟概述214
12.1.1 内部结构214
12.1.2 功能特性215
12.1.3 复位过程216
12.2 备份寄存器(BAKPR)217
12.3 RTC编程218
12.3.1 RTC初始化218
12.3.2 RTC时间写入初始化219
12.3.3 APM32E103微控制器的RTC库函数220
12.3.4 利用APM32E103微控制器的RTC模块实现数字日历和闹钟功能实例220
本章小结227
习题12227
第13章 CAN接口228
13.1 CAN协议简介228
13.1.1 CAN物理层229
13.1.2 CAN协议层236
13.2 CAN控制器240
13.2.1 CAN功能及配置240
13.2.2 CAN编程要点249
13.3 APM32E103 CAN编程254
13.3.1 目标254
13.3.2 工作原理254
13.3.3 编程要点及代码分析254
13.3.4 下载验证257
本章小结258
习题13258
第14章 EMMC控制器和
USB接口259
14.1 EMMC控制器259
14.1.1 EMMC控制器介绍259
14.1.2 EMMC控制器实例261
14.2 USB接口266
14.2.1 USB应用场景266
14.2.2 USB模拟HID设备
实例268
本章小结280
习题14280
第15章 其他外设应用实例281
15.1 SysTick281
15.2 看门狗定时器283
15.3 Flash及ISP、IAP编程285
15.3.1 APM32E103微控制器芯片启动方式介绍285
15.3.2 ISP编程实验286
15.3.3 IAP编程实例287
15.4 浮点运算单元292
15.4.1 APM32E103微控制器的FPU292
15.4.2 浮点运算单元编程实例293
15.5 功耗管理295
15.5.1 供电方案296
15.5.2 SLEEP模式编程实例297
15.5.3 STANDBY模式
编程实例300
本章小结302
习题15302
参考文献303
特别鸣谢304
第1章 ARM Cortex-M3处理器内核1
1.1 ARM Cortex-M3处理器概述1
1.1.1 ARM Cortex-M3处理器简介1
1.1.2 ARM Cortex-M3处理器特性2
1.2 ARM Cortex-M3处理器架构2
1.2.1 架构简介及模块框图3
1.2.2 操作模式和状态5
1.2.3 寄存器5
1.3 指令集7
1.3.1 指令集背景简介7
1.3.2 指令集分类8
1.4 异常和中断10
1.4.1 异常10
1.4.2 嵌套向量中断控制器(NVIC)11
1.4.3 向量表12
1.5 存储器系统13
1.5.1 存储器特性简介13
1.5.2 存储器映射13
1.6 复位14
1.7 调试15
本章小结17
习题117
第2章 APM32E103微控制器及SDK库18
2.1 APM32E103微控制器18
2.1.1 概述18
2.1.2 系统架构18
2.1.3 存储器映射22
2.1.4 位段23
2.1.5 启动配置24
2.1.6 电源24
2.1.7 复位25
2.1.8 时钟26
2.2 APM32E103微控制器的SDK库28
2.2.1 SDK库概述28
2.2.2 SDK库的使用30
2.2.3 SDK例程使用35
2.3 本章小结37
习题237
第3章 通用输入输出38
3.1 通用输入输出概述38
3.1.1 GPIO功能及配置38
3.1.2 AFIO功能及配置41
3.2 GPIO框图剖析及原理42
3.2.1 GPIO输入模式剖析43
3.2.2 GPIO输出模式剖析44
3.2.3 GPIO位带操作原理46
3.2.4 GPIO初始化结构体47
3.3 APM32-GPIO编程实例48
3.3.1 实例目标48
3.3.2 硬件设计48
3.3.3 软件设计49
3.3.4 下载验证51
本章小结52
习题352
第4章 中断和事件53
4.1 中断和事件概述53
4.2 NVIC原理及配置54
4.2.1 中断和异常向量表54
4.2.2 中断优先级58
4.2.3 中断挂起与解挂59
4.2.4 中断活动与使能控制60
4.2.5 中断编程要点60
4.3 EINT原理及框图分析61
4.3.1 EINT中断/事件线路61
4.3.2 EINT结构框图分析62
4.3.3 EINT中断/事件配置64
4.3.4 EINT中断、事件线对比66
4.4 中断和事件编程实例67
4.4.1 实例目标67
4.4.2 硬件设计67
4.4.3 软件设计67
4.4.4 下载验证70
本章小结72
习题472
第5章 定时器73
5.1 APM32E103微控制器的定时器73
5.2 APM32E103微控制器的基本定时器(TMR6/7)75
5.2.1 基本定时器的主要结构75
5.2.2 时钟源选择75
5.2.3 计数方式76
5.2.4 基本定时器的寄存器77
5.3 APM32E103微控制器的通用定时器(TMR2/3/4/5)77
5.3.1 通用定时器的主要结构77
5.3.2 计数模式79
5.3.3 输入捕获模式82
5.3.4 比较输出模式83
5.3.5 PWM输出模式83
5.3.6 PWM输入模式84
5.3.7 单脉冲模式85
5.3.8 编码器接口模式85
5.3.9 强制输出模式85
5.3.10 中断和DMA请求85
5.4 APM32E103微控制器的高级定时器(TMR1/8)85
5.5 APM32E103微控制器的定时器编程88
5.5.1 与定时器相关的库函数88
5.5.2 定时器编程实例91
本章小结94
习题594
第6章 USART接口95
6.1 串行通信简介95
6.2 APM32E103微控制器的USART简介98
6.2.1 主要特征99
6.2.2 功能简介99
6.2.3 USART中断101
6.2.4 USART的DMA操作102
6.3 USART串口通信编程103
6.3.1 USART初始化103
6.3.2 APM32E103微控制器的USART库函数104
6.3.3 串口中断收发实例105
本章小结109
习题6109
第7章 I2C接口110
7.1 I2C总线概述110
7.1.1 I2C总线物理结构110
7.1.2 I2C总线数据传输112
7.2 APM32E103微控制器的I2C接口115
7.2.1 主要特点116
7.2.2 APM32E103微控制器I2C接口结构116
7.2.3 I2C通信中的事件126
7.2.4 工作模式128
7.2.5 I2C中断129
7.2.6 I2C接口的DMA操作130
7.3 APM32E103微控制器的I2C接口编程131
7.3.1 I2C的相关库函数131
7.3.2 I2C编程实例133
本章小结139
习题7139
第8章 模拟量模块AD/DA140
8.1 模拟/数字转换器概述140
8.2 APM32E103微控制器的ADC功能描述141
8.2.1 APM32E103微控制器的ADC简介141
8.2.2 ADC的转换模式142
8.2.3 单通道转换143
8.2.4 多通道转换144
8.2.5 ADC的相关设置149
8.3 APM32E103微控制器的ADC编程152
8.3.1 编程步骤152
8.3.2 编程具体示例153
8.4 数字/模拟转换器概述156
8.5 APM32E103微控制器的DAC功能描述158
8.5.1 APM32E103微控制器的DAC功能简介158
8.5.2 DAC的相关设置159
8.6 APM32E103微控制器的DAC编程161
本章小结163
习题8164
第9章 DMA控制器165
9.1 DMA概述165
9.2 APM32E103微控制器的DMA功能描述166
9.2.1 DMA简介166
9.2.2 DMA请求167
9.2.3 DMA传输168
9.3 APM32E103微控制器的DMA编程170
本章小结174
习题9174
第10章 SPI接口175
10.1 SPI总线概述175
10.1.1 SPI总线物理结构175
10.1.2 SPI总线数据传输177
10.2 APM32E103微控制器的SPI接口179
10.2.1 主要特性179
10.2.2 主要结构180
10.3 APM32E103微控制器的SPI编程187
10.3.1 SPI库函数187
10.3.2 SPI编程实例189
10.4 APM32E103微控制器的I2S接口195
10.4.1 I2S总线物理结构195
10.4.2 I2S设备互联196
10.4.3 I2S数据格式197
10.4.4 APM32E103微控制器的I2S接口简介198
本章小结200
习题10200
第11章 SDIO接口201
11.1 SDIO简介201
11.1.1 SDIO总线物理层201
11.1.2 SDIO总线协议202
11.2 APM32E103微控制器的SDIO206
11.2.1 主要特征206
11.2.2 功能描述207
11.2.3 标准库介绍207
11.3 SD卡读写测试实例210
11.3.1 硬件设计210
11.3.2 软件设计211
11.3.3 实例输出结果213
本章小结213
习题11213
第12章 实时时钟和备份寄存器214
12.1 实时时钟概述214
12.1.1 内部结构214
12.1.2 功能特性215
12.1.3 复位过程216
12.2 备份寄存器(BAKPR)217
12.3 RTC编程218
12.3.1 RTC初始化218
12.3.2 RTC时间写入初始化219
12.3.3 APM32E103微控制器的RTC库函数220
12.3.4 利用APM32E103微控制器的RTC模块实现数字日历和闹钟功能实例220
本章小结227
习题12227
第13章 CAN接口228
13.1 CAN协议简介228
13.1.1 CAN物理层229
13.1.2 CAN协议层236
13.2 CAN控制器240
13.2.1 CAN功能及配置240
13.2.2 CAN编程要点249
13.3 APM32E103 CAN编程254
13.3.1 目标254
13.3.2 工作原理254
13.3.3 编程要点及代码分析254
13.3.4 下载验证257
本章小结258
习题13258
第14章 EMMC控制器和
USB接口259
14.1 EMMC控制器259
14.1.1 EMMC控制器介绍259
14.1.2 EMMC控制器实例261
14.2 USB接口266
14.2.1 USB应用场景266
14.2.2 USB模拟HID设备
实例268
本章小结280
习题14280
第15章 其他外设应用实例281
15.1 SysTick281
15.2 看门狗定时器283
15.3 Flash及ISP、IAP编程285
15.3.1 APM32E103微控制器芯片启动方式介绍285
15.3.2 ISP编程实验286
15.3.3 IAP编程实例287
15.4 浮点运算单元292
15.4.1 APM32E103微控制器的FPU292
15.4.2 浮点运算单元编程实例293
15.5 功耗管理295
15.5.1 供电方案296
15.5.2 SLEEP模式编程实例297
15.5.3 STANDBY模式
编程实例300
本章小结302
习题15302
参考文献303
特别鸣谢304










