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

嵌入式技术与应用开发项目教程(STM32版)
分享 推荐 26 收藏 813 阅读 27.6K
郭志勇 (编著) 978-7-115-50826-3

关于本书的内容有任何问题,请联系 祝智敏

1. 立德树人,融入思政。依据专业课程的特点恰当融入中华传统文化、科学精神和爱国情怀等元素,注重挖掘其中的思政教育要素,弘扬精益求精的专业精神、职业精神和工匠精神,将“为学”和“为人” 相结合。
2. 校企合作,双元开发。本教材由省级教学名师和企业工程师共同开发。由企业提供真实项目案例,由常年深耕教学一线,有丰富教学经验的教师执笔,体现了“做中学,做中教”的职业教育理念色。
3.引入仿真教学模式,支持线上线下混合式教学。引入Proteus仿真软件,将读者从STM32复杂的硬件结构中解放出来,实现了STM32电路设计、软件设计、调试与仿真等方针操作,便于读者掌握从设计到产品的完整过程。
4. 注重服务,资源完整。包括8个项目、19个任务、15个技能训练。配有微课视频、电子课件、电子教案、课程标准、单元设计、习题答案、试卷、项目源程序和仿真电路、“嵌入式技术应用开发”赛项案例等丰富的资源。

内容摘要

本书基于ST公司的STM32芯片,包括8个项目、19个任务,分别介绍LED控制设计与实现、跑马灯控制设计与实现、数码管显示设计与实现、控键控制设计与实现、定时器应用设计与实现、串行通信设计与实现、模数转换设计与实现以及嵌入式智能车设计与实现等内容,涵盖了嵌入式系统的基本知识和嵌入式应用开发的基本内容。
本书引入Proteus仿真软件,采用“任务驱动、做中学”的编写思路,每个任务均将相关知识和职业岗位技能融合在一起,将知识、技能的学习结合任务完成过程来进行。
本书可作为高等院校嵌入式技术与应用、物联网应用技术等电子信息类专业嵌入式课程的教材,也可作为广大智能电子产品制作爱好者的自学用书。

教学PPT

详情页

目录

项目一 LED控制设计与实现 1
1.1 任务1 新建一个基于STM32固件库的工程模板 1
1.1.1 新建基于STM32固件库的Keil μVision4工程模板 1
1.1.2 认识STM32固件库 11
1.1.3 STM32固件库关键子目录和文件 12
1.2 任务2 点亮一个LED 15
1.2.1 用Proteus设计第 一个STM32的LED控制电路 15
1.2.2 开发第 一个基于工程模板的Keil μVision4工程 23
1.2.3 位操作 25
1.3 认识Arm-STM32 26
1.3.1 嵌入式系统 26
1.3.2 Arm Cortex-M3处理器 28
1.3.3 STM32系列处理器 29
1.4 任务3 LED闪烁控制 31
1.4.1 LED闪烁控制设计与实现 31
1.4.2 extern 变量声明 32
1.4.3 Keil μVision4文本美化 33
【技能训练1-1】音频产生器 35
关键知识点小结 36
问题与讨论 38
项目二 跑马灯控制设计与实现 39
2.1 任务4 LED循环点亮控制 39
2.1.1 认识STM32的I/O口 39
2.1.2 STM32的GPIO初始化和输入输出库函数 45
2.1.3 LED循环点亮控制设计 47
【技能训练2-1】GPIO_SetBits ()和GPIO_ResetBits ()函数应用 49
2.2 Cortex-M3的编程模式 50
2.2.1 Cortex-M3工作模式及状态 50
2.2.2 Cortex-M3寄存器组 51
2.2.3 Cortex-M3特殊功能寄存器组 54
2.3 任务5 跑马灯设计与实现 56
2.3.1 跑马灯电路设计 56
2.3.2 跑马灯程序设计、运行与调试 57
2.3.3 C语言中的预处理 59
2.3.4 结构体 61
【技能训练2-2】结构体应用——GPIO端口初始化 62
2.4 STM32结构 63
2.4.1 Cortex-M3处理器结构 63
2.4.2 STM32系统结构 65
2.4.3 STM32时钟配置 67
【技能训练2-3】基于寄存器的跑马灯设计 72
关键知识点小结 73
问题与讨论 75
项目三 数码管显示设计与实现 76
3.1 任务6 数码管静态显示设计与实现 76
3.1.1 认识数码管 76
3.1.2 数码管静态显示电路设计 78
3.1.3 数码管静态显示程序设计 79
【技能训练3-1】共阳极LED数码管应用 81
3.2 STM32存储器映射 83
3.2.1 认识Cortex-M3存储器 83
3.2.2 Cortex-M3存储器映射 84
3.2.3 STM32存储器映射 86
【技能训练3-2】编写外部设备文件 89
3.3 任务7 数码管动态扫描显示设计与实现 91
3.3.1 数码管动态扫描显示电路设计 92
3.3.2 数码管动态扫描显示程序设计、运行与调试 92
3.3.3 Keil μVision4代码编辑 94
3.4 I/O口的位操作与实现 99
3.4.1 位带区与位带别名区 99
3.4.2 位带操作 100
3.4.3 I/O口位带操作的宏定义 102
3.4.4 I/O口的位操作实现 105
【技能训练3-3】I/O口的位操作应用 106
关键知识点小结 107
问题与讨论 108
项目四 按键控制设计与实现 109
4.1 任务8 按键控制LED设计与实现 109
4.1.1 认识嵌入式应用技术与开发的核心板 109
4.1.2 按键控制LED电路设计 110
4.1.3 按键控制LED程序设计 113
4.1.4 按键控制LED运行与调试 118
【技能训练4-1】一键多功能按键识别设计与实现 120
4.2 GPIO和AFIO寄存器地址映射 122
4.2.1 GPIO寄存器地址映射 122
4.2.2 端口复用使用 125
4.2.3 端口复用重映射 126
【技能训练4-2】串口1(USART1)重映射实现 129
4.3 任务9 中断方式的按键控制设计与实现 130
4.3.1 STM32中断 130
4.3.2 STM32外部中断编程 134
4.3.3 中断方式的按键控制程序设计 137
4.3.4 中断方式的按键控制工程搭建、编译与调试 141
【技能训练4-3】中断方式的声光报警器 141
关键知识点小结 144
问题与讨论 145
项目五 定时器应用设计与实现 146
5.1 任务10 基于SysTick定时器的1秒延时设计与实现 146
5.1.1 SysTick定时器 146
5.1.2 库函数中的SysTick相关函数 149
5.1.3 SysTick的关键函数编写 151
5.1.4 基于SysTick定时器的1秒延时设计与实现 153
5.2 任务11 STM32定时器的定时设计与实现 156
5.2.1 认识STM32定时器 156
5.2.2 STM32定时器与定时相关的寄存器 157
5.2.3 STM32定时器相关的库函数 162
5.2.4 STM32定时器的定时设计 165
【技能训练5-1】基于寄存器的STM32定时器定时设计与实现 167
5.3 任务12 PWM输出控制电机 169
5.3.1 STM32的PWM输出相关寄存器 169
5.3.2 STM32的PWM输出编程思路 172
5.3.3 STM32的PWM输出相关库函数 174
5.3.4 PWM输出控制电机设计 177
【技能训练5-2】基于寄存器的PWM输出控制电机设计与实现 180
关键知识点小结 181
问题与讨论 183
项目六 串行通信设计与实现 184
6.1 STM32的串行通信 184
6.1.1 串行通信基本知识 184
6.1.2 认识STM32的USART串口 186
6.1.3 STM32串口的相关寄存器 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串行通信设计 198
6.3 任务14 STM32串口无线传输设计与实现 202
6.3.1 基于Wi-Fi的STM32串口无线传输电路设计 202
6.3.2 基于ZigBee的STM32串口无线传输电路设计 204
6.3.3 嵌入式智能车通信协议 205
6.3.4 基于寄存器的STM32串口无线传输程序设计 207
关键知识点小结 214
问题与讨论 215
项目七 模数转换设计与实现 216
7.1 STM32的模数转换 216
7.1.1 STM32的模数转换简介 216
7.1.2 ADC相关的寄存器 218
7.2 任务15 基于寄存器的STM32模数转换设计 223
7.2.1 STM32的ADC设置 223
7.2.2 基于寄存器的STM32模数转换设计 225
7.2.3 基于寄存器的STM32模数转换运行与调试 233
7.3 任务16 基于库函数的STM32模数转换设计 234
7.3.1 ADC相关的库函数 234
7.3.2 基于库函数的STM32模数转换程序设计 235
7.3.3 基于库函数的STM32模数转换运行与调试 236
关键知识点小结 237
问题与讨论 238
项目八 嵌入式智能车设计与实现 239
8.1 嵌入式智能车 239
8.1.1 认识嵌入式智能车 239
8.1.2 嵌入式智能车任务板 241
8.1.3 嵌入式智能车循迹板 246
8.2 任务17 嵌入式智能车巡航控制设计 248
8.2.1 嵌入式智能车电机驱动电路 249
8.2.2 电机正反转和速度控制程序设计 252
8.2.3 嵌入式智能车停止、前进和后退程序设计 256
8.2.4 嵌入式智能车循迹、左转和右转程序设计 260
【技能训练8-1】嵌入式智能车巡航控制 268
8.3 任务18 嵌入式智能车标志物控制设计 270
8.3.1 道闸标志物控制设计 270
8.3.2 LED显示标志物控制设计 271
8.3.3 基于红外线的标志物控制设计 274
8.3.4 智能路灯控制设计 278
8.3.5 超声波测距设计 285
8.3.6 双色灯控制程序设计 288
【技能训练8-2】嵌入式智能车标志物控制 289
8.4 任务19 嵌入式智能车综合控制设计 292
8.4.1 语音播报标志物控制设计 293
8.4.2 嵌入式智能车控制运输车标志物设计 296
8.4.3 编写嵌入式智能车的任务文件 297
8.4.4 编写嵌入式智能车的主文件 303
8.4.5 嵌入式智能车综合控制工程搭建、编译、运行与调试 306
8.4.6 嵌入式智能车综合控制设计经验和技巧 307
关键知识点小结 308
问题与讨论 309
参考文献 310

读者评论

  • 为便于教学,作者利用暑假时间更新了教学PPT、仿真电路和源程序、习题答案、项目案例四类资源,供老师下载使用。

    祝智敏发表于 2019/8/26 13:38:46
  • 另有以下教学辅助资料,需要的老师请与本书编辑联系索要:

    • STM32环境搭建
    • USB转232驱动程序
    • 串口调试工具
    • Proteus_8.6_SP2_Pro仿真软件
    • V3.5版本固件库
    祝智敏发表于 2019/4/26 8:14:57

我要评论

作者介绍

郭志勇,副教授/工程师,省级教学名师、专业带头人、高级双师型、中国计算机学会(CCF)会员、全国技能大赛电子信息类赛项评审专家。任职于安徽电子信息职业技术学院,从事于智能控制技术等领域教学研究工作,主持参与获得省级教学成果二等奖4个,指导学生获得全国技能大赛“嵌入式应用技术与开发”赛项二等奖多次,主要讲授C语言程序设计、单片机应用技术、嵌入式应用技术等课程,出版国家规划教材和省级规划教材教材多本。

购买本书用户

相关图书

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