工业和信息化精品系列教材——嵌入式技术

嵌入式技术与应用开发项目教程(STM32版)(微课版)(第2版)

“十四五”职业教育国家规划教材改版升级
分享 推荐 2 收藏 7 阅读 16.6K
郭志勇 (作者) 978-7-115-65579-0

关于本书的内容有任何问题,请联系 刘尉

在第1版的基础上进一步优化,更加符合教学的要求、提升教学效果。
1. 落实立德树人,加强课程思政。
2. 深入校企合作,真正双元开发。
3. 资源丰富实用,优化线上线下混合式教学。

内容摘要

本书采用基于ARM Cortex-M3 的STM32 芯片进行编写,包括8 个项目、19 个任务、17 个技能训练,分别介绍LED 控制设计、流水灯控制设计、数码管显示控制设计、按键与中断控制设计、定时器应用设计、串行通信设计、模数转换设计及嵌入式智能车设计等内容,涵盖嵌入式系统的基本知识和嵌入式应用开发的基本内容。
本书结合“岗课赛证”融通综合育人精神,采用“任务驱动、做中学”的编写思路,贯穿融入全国职业院校技能大赛(高职组)“嵌入式技术应用开发”赛项关键知识点,每个任务将相关知识和职业岗位基本技能融合,把知识、技能的学习与任务完成过程相结合。
本书配有微课视频、电子课件、电子教案、习题答案、试卷、项目源程序和仿真电路、综合应用项目、“嵌入式技术应用开发”赛项电路和源程序、STM32 开发资源等教学资源,读者可以从人邮教育社区免费下载。
本书可作为高等院校嵌入式技术应用、物联网应用技术、应用电子技术、智能产品开发与应用、智能控制技术等电子信息类专业嵌入式技术相关课程的教材,也可作为广大智能电子产品工程技术人员和爱好者的参考书。

目录

项目一
LED控制设计 1
1.1 任务1 新建一个基于STM32固件库的工程模板 1
1.1.1 新建基于STM32固件库的Keil μVision5工程模板 1
1.1.2 认识STM32固件库 11
1.1.3 STM32固件库的关键子目录和文件 13
1.2 任务2 LED点亮控制 15
1.2.1 用Proteus设计第一个STM32的LED控制电路 16
1.2.2 开发第一个基于工程模板的 Keil μVision5工程 22
1.2.3 位操作 24
1.3 认识STM32 25
1.3.1 嵌入式系统简介 25
1.3.2 ARM Cortex-M3处理器 27
1.3.3 STM32系列处理器 29
1.4 任务3 LED闪烁控制 31
1.4.1 LED闪烁控制设计与实现 31
1.4.2 extern声明 32
1.4.3 文件包含命令 33
【技能训练1-1】音频产生器 34
关键知识点小结 35
问题与讨论 37

项目二
流水灯控制设计 38
2.1 任务4 LED循环点亮控制 38
2.1.1 认识STM32的I/O口 38
2.1.2 STM32的GPIO初始化和输入/输出函数 44
2.1.3 LED循环点亮控制设计 46
【技能训练2-1】GPIO_SetBits()和GPIO_ResetBits()函数应用 48
2.2 Cortex-M3的编程模式 50
2.2.1 Cortex-M3的工作模式及工作状态 50
2.2.2 Cortex-M3的寄存器 51
2.2.3 Cortex-M3的特殊功能寄存器 53
2.3 任务5 流水灯设计与实现 55
2.3.1 流水灯电路设计 56
2.3.2 流水灯程序设计、运行与调试 56
2.3.3 C语言中的预处理 59
2.3.4 结构体 60
【技能训练2-2】结构体使用——初始化GPIO 61
2.4 STM32结构 63
2.4.1 Cortex-M3的结构 63
2.4.2 STM32系统架构 65
2.4.3 STM32时钟系统配置 67
【技能训练2-3】基于寄存器的流水灯设计 71
关键知识点小结 72
问题与讨论 74

项目三
数码管显示控制设计 75
3.1 任务6 数码管静态显示设计与实现 75
3.1.1 认识数码管 75
3.1.2 数码管静态显示电路设计 77
3.1.3 数码管静态显示程序设计 79
【技能训练3-1】共阳极数码管应用 80
3.2 STM32存储器映射 82
3.2.1 认识Cortex-M3存储器 82
3.2.2 Cortex-M3存储器映射 83
3.2.3 STM32存储器映射 86
【技能训练3-2】编写外部设备文件 88
3.3 任务7 数码管动态扫描显示设计 90
3.3.1 数码管动态扫描显示电路设计 91
3.3.2 数码管动态扫描显示程序设计、运行与调试 91
3.3.3 Keil μVision5代码编辑 93
3.4 I/O口的位操作与实现 97
3.4.1 位带区与位带别名区 97
3.4.2 位带操作 99
3.4.3 I/O口位带操作的宏定义 101
3.4.4 I/O口的位操作实现 104
【技能训练3-3】I/O口的位操作应用 105
关键知识点小结 105
问题与讨论 107

项目四
按键与中断控制设计 108
4.1 任务8 按键控制LED设计与实现 108
4.1.1 认识STM32F103ZET6开发板 108
4.1.2 按键控制LED电路设计 110
4.1.3 按键控制LED程序设计 112
4.1.4 按键控制LED运行与调试 117
【技能训练4-1】一键多功能按键识别设计与实现 118
4.2 GPIO和AFIO寄存器地址映射 120
4.2.1 GPIO寄存器地址映射 120
4.2.2 端口复用 123
4.2.3 端口复用功能重映射 124
【技能训练4-2】USART1串口重映射实现 128
4.3 任务9 中断方式的按键控制设计与
实现 129
4.3.1 STM32中断 129
4.3.2 STM32外部中断编程 133
4.3.3 中断方式的按键控制程序设计 137
4.3.4 中断方式的按键控制工程搭建、编译与调试 140
【技能训练4-3】中断方式的声光报警器 140
关键知识点小结 143
问题与讨论 145

项目五
定时器应用设计 146
5.1 任务10 基于SysTick定时器的1 s延时设计 146
5.1.1 SysTick定时器 146
5.1.2 与SysTick定时器相关的库函数 149
5.1.3 SysTick定时器的关键函数编写 151
5.1.4 基于SysTick定时器的1 s延时设计与实现 154
5.2 任务11 STM32定时器的定时设计 156
5.2.1 认识STM32定时器 156
5.2.2 与STM32定时器相关的寄存器 157
5.2.3 与STM32定时器相关的库函数 163
5.2.4 STM32定时器的定时设计 166
【技能训练5-1】基于寄存器的STM32定时器定时设计与实现 168
5.3 任务12 PWM输出控制呼吸灯设计 169
5.3.1 STM32的PWM输出相关寄存器 170
5.3.2 STM32的PWM输出编程思路 173
5.3.3 STM32的PWM输出相关库函数 175
5.3.4 PWM输出控制呼吸灯设计与实现 177
【技能训练5-2】基于寄存器的PWM输出控制呼吸灯设计 179
关键知识点小结 181
问题与讨论 182

项目六
串行通信设计 184
6.1 STM32的串行通信 184
6.1.1 串行通信基本知识 184
6.1.2 认识STM32的USART串口 186
6.1.3 STM32中USART串口的相关寄存器 187
6.2 任务13 USART串口通信设计 190
6.2.1 STM32串口的基本设置 190
6.2.2 STM32的USART1串口通信设计 194
6.2.3 STM32串行通信运行与调试 198
【技能训练6-1】基于寄存器的STM32串行通信设计 199
6.3 任务14 基于DS18B20的温度采集远程监控设计 201
6.3.1 DS18B20温度传感器 202
6.3.2 DS18B20通信协议 205
6.3.3 基于DS18B20的温度采集远程监控实现分析 210
6.3.4 基于DS18B20的温度采集远程监控设计与调试 213
【技能训练6-2】基于串口调试工具的温度采集远程监控设计 216
关键知识点小结 218
问题与讨论 219

项目七
模数转换设计 220
7.1 STM32的模数转换 220
7.1.1 STM32的模数转换简介 220
7.1.2 ADC相关的寄存器 222
7.2 任务15 基于寄存器的STM32模数转换设计 227
7.2.1 STM32的ADC设置 227
7.2.2 基于寄存器的STM32模数转换设计 229
7.2.3 基于寄存器的STM32模数转换运行与调试 231
7.3 任务16 基于库函数的STM32模数转换设计 232
7.3.1 ADC的相关库函数 232
7.3.2 基于库函数的STM32模数转换程序设计 234
7.3.3 基于库函数的STM32模数转换运行与调试 235
【技能训练7-1】 内部温度传感器采集监控设计 236
关键知识点小结 239
问题与讨论 239

项目八
嵌入式智能车设计 240
8.1 嵌入式智能车 240
8.1.1 认识嵌入式智能车 240
8.1.2 嵌入式智能车的任务板 243
8.1.3 嵌入式智能车的循迹板 247
8.1.4 STM32处理器开发工具 250
8.2 任务17 嵌入式智能车巡航控制设计 251
8.2.1 嵌入式智能车的电机驱动电路 251
8.2.2 嵌入式智能车的停止、前进和后退程序设计 255
8.2.3 嵌入式智能车的循迹、左转和右转程序设计 257
【技能训练8-1】嵌入式智能车巡航综合控制 262
8.3 任务18 嵌入式智能车标志物控制设计 263
8.3.1 道闸标志物控制设计 263
8.3.2 LED显示标志物控制设计 265
8.3.3 基于红外线的标志物控制设计 268
8.3.4 智能路灯控制设计 271
8.3.5 超声波测距设计 278
【技能训练8-2】嵌入式智能车标志物综合控制 282
8.4 任务19 嵌入式智能车综合控制设计 285
8.4.1 语音播报标志物控制设计 287
8.4.2 嵌入式智能车控制AGV智能移动机器人设计 290
8.4.3 编写嵌入式智能车综合控制的任务文件 291
8.4.4 编写嵌入式智能车综合控制的主文件 296
8.4.5 嵌入式智能车综合控制工程搭建、编译、运行与调试 299
8.4.6 嵌入式智能车综合控制设计经验和技巧 300
关键知识点小结 301
问题与讨论 302

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

郭志勇,省级教学名师、中国计算机学会(CCF)会员、全国技能大赛电子信息类赛项评审专家、全国集成电路专业群职业教育标准建设委员会教学标准协作组副主任、2020年全国技能大赛“云计算”赛项监督仲裁组组长、2021年“中盈创信杯”计算机维修工职业技能竞赛全国总决赛裁判长。任职于安徽电子信息职业技术学院,从事于智能控制技术等领域教学研究工作,主持参与获得省级教学成果二等奖4个,指导学生获得全国技能大赛“嵌入式应用技术与开发”赛项二等奖多次,主要讲授C语言程序设计、单片机应用技术、嵌入式应用技术等课程,出版国家规划教材和省级规划教材教材多本。

推荐用户

同系列书

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部