本书各章内容安排如下:
第1、2章简要介绍本书所用开发平台和工具,以及开发工具的安装与配置,然后介绍微机工作原理和GD32F30x系列微控制器。
第3~8章以仿真实验为主线,对Keil软件的使用,工程的建立、编译和程序下载,以及汇编语言的基础知识进行介绍。
第9~17章介绍GPIO、外部中断、定时器、SysTick、 RCU、串口通信、ADC和DAC的原理及相关寄存器,并通过实验进行验证。
本书特点如下:
(1)本书内容对有一定微控制器基础的读者来说较为友好,建议先学习“卓越:工程师培养系列”教材中的《GD32F3 开发基础教程一基于 GD32F303ZET6》,再学习本书。
(2)本书适合具有ARM基础的嵌入式工程师学习,也可以作为高等院校电子类专业的教材。
(3)本书注重理论与实践相结合,对于高深晦涩的原理涉及较少,大多采用通俗易懂的语言深入浅出地进行介绍。原理介绍之后再进行实验,将理论运用到实际工程中,以巩固所学知识。
(4)书中的所有例程按照统一的工程架构设计,每个子模块都按照统-标准设计,以方便读者后续使用书中所学知识进一步开发, 或将其应用于项目当中。
(5)本书配有丰富的资料包,包含例程、软件包、教学课件、教学视频、参考资料等。这些资料会持续更新,读者可通过扫描二维码获取。
第1章 GD32开发平台和工具 1
1.1 为什么选择GD32 2
1.2 GD32F3系列芯片介绍 2
1.3 GD32F3苹果派开发板电路
简介 4
1.3.1 通信-下载模块电路 5
1.3.2 GD-Link调试-下载模块电路 6
1.3.3 电源转换电路 6
1.4 GD32F3苹果派开发板可以
开展的部分实验 7
1.5 GD32微控制器开发工具的
安装与配置 7
1.5.1 安装Keil 5.30 8
1.5.2 设置Keil 5.30 11
本章任务 13
本章习题 13
第2章 微机原理与简介 14
2.1 微机工作原理 15
2.1.1 微机的基本组成 15
2.1.2 汇编语言与汇编过程简介 16
2.1.3 微机工作过程 17
2.2 GD32F30x系列微控制器
概述 18
2.2.1 GD32F30x系统架构 19
2.2.2 存储器映射 20
本章任务 23
本章习题 23
第3章 基准工程实验 24
3.1 实验内容 25
3.2 实验原理 25
3.2.1 Keil编辑和编译及程序下载
过程 25
3.2.2 Keil工程选项 26
3.2.3 GD32工程模块名称及说明 36
3.2.4 相关参考资料 36
3.3 实验步骤与代码解析 37
本章任务 51
本章习题 51
第4章 汇编语言初探 52
4.1 实验内容 53
4.2 实验原理 53
4.2.1 文件初解 53
4.2.2 工作寄存器 55
4.2.3 汇编语言基本语法 57
4.2.4 数制及转换 60
4.2.5 启动文件 61
4.2.6 .map文件 63
4.2.7 仿真 66
4.3 实验步骤与代码解析 69
本章任务 72
本章习题 72
第5章 数据处理实验 73
5.1 实验内容 74
5.2 实验原理 74
5.2.1 数据传送指令 74
5.2.2 基本运算指令 75
5.2.3 逻辑运算指令 77
5.2.4 移位运算指令 77
5.2.5 机器码 80
5.2.6 本章指令汇总 84
5.3 实验步骤与代码解析 85
本章任务 90
本章习题 91
第6章 程序流控制实验 92
6.1 实验内容 93
6.2 实验原理 93
6.2.1 程序流控制 93
6.2.2 比较与测试指令 93
6.2.3 跳转指令 94
6.2.4 条件后缀 95
6.2.5 本章指令汇总 97
6.3 实验步骤与代码解析 97
本章任务 101
本章习题 101
第7章 存储器访问实验 102
7.1 实验内容 103
7.2 实验原理 103
7.2.1 存储器 103
7.2.2 存储器访问指令 104
7.2.3 存储器空间 108
7.2.4 存储器空间使用 109
7.2.5 本章指令汇总 109
7.3 实验步骤与代码解析 109
本章任务 114
本章习题 114
第8章 函数封装实验 115
8.1 实验内容 116
8.2 实验原理 116
8.2.1 函数介绍 116
8.2.2 堆区和栈区 117
8.2.3 栈区设置 117
8.2.4 栈操作指令 118
8.2.5 LDR伪指令 118
8.3 实验步骤与代码解析 119
本章任务 122
本章习题 122
第9章 GPIO与流水灯实验 123
9.1 实验内容 124
9.2 实验原理 124
9.2.1 LED电路原理图 124
9.2.2 GPIO功能框图 124
9.2.3 GPIO部分寄存器 126
9.2.4 RCU部分寄存器 130
9.2.5 程序架构 131
9.3 实验步骤与代码解析 133
本章任务 139
本章习题 139
第10章 GPIO与独立按键输入
实验 140
10.1 实验内容 141
10.2 实验原理 141
10.2.1 独立按键电路原理图 141
10.2.2 GPIO功能框图 142
10.2.3 GPIO部分寄存器 143
10.2.4 按键去抖原理 143
10.2.5 程序架构 144
10.3 实验步骤与代码解析 145
本章任务 158
本章习题 159
第11章 外部中断实验 160
11.1 实验内容 161
11.2 实验原理 161
11.2.1 EXTI功能框图 161
11.2.2 EXTI部分寄存器 163
11.2.3 AFIO部分寄存器 165
11.2.4 异常和中断 167
11.2.5 NVIC中断控制器 172
11.2.6 NVIC部分寄存器 173
11.2.7 程序架构 176
11.3 实验步骤与代码解析 178
本章任务 185
本章习题 185
第12章 定时器实验 186
12.1 实验内容 187
12.2 实验原理 187
12.2.1 通用定时器L0结构
框图 187
12.2.2 通用定时器部分寄存器 190
12.2.3 RCU部分寄存器 192
12.2.4 程序架构 193
12.3 实验步骤与代码解析 194
本章任务 203
本章习题 203
第13章 SysTick实验 204
13.1 实验内容 205
13.2 实验原理 205
13.2.1 SysTick功能框图 205
13.2.2 SysTick实验流程图
分析 206
13.2.3 SysTick部分寄存器 207
13.2.4 程序架构 208
13.3 实验步骤与代码解析 209
本章任务 215
本章习题 215
第14章 RCU实验 216
14.1 实验内容 217
14.2 实验原理 217
14.2.1 RCU功能框图 217
14.2.2 RCU部分寄存器 220
14.2.3 FMC部分寄存器 225
14.2.4 程序架构 225
14.3 实验步骤与代码解析 226
本章任务 232
本章习题 232
第15章 串口通信实验 233
15.1 实验内容 234
15.2 实验原理 234
15.2.1 串口通信协议 234
15.2.2 串口电路原理图 236
15.2.3 串口功能框图 237
15.2.4 串口部分寄存器 240
15.2.5 串口模块驱动设计 244
15.2.6 程序架构 246
15.3 实验步骤与代码解析 247
本章任务 260
本章习题 261
第16章 ADC实验 262
16.1 实验内容 263
16.2 实验原理 263
16.2.1 ADC功能框图 263
16.2.2 ADC时钟及其转换
时间 265
16.2.3 ADC部分寄存器 265
16.2.4 程序架构 271
16.3 实验步骤与代码解析 272
本章任务 283
本章习题 283
第17章 DAC实验 284
17.1 实验内容 285
17.2 实验原理 285
17.2.1 DAC功能框图 285
17.2.2 DAC部分寄存器 288
17.2.3 程序架构 290
17.3 实验步骤与代码解析 292
本章任务 298
本章习题 298
参考文献 299