嵌入式技术与应用开发项目教程(STM32版)/郭志勇
- ISBN:9787115508263
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:310
- 出版时间:2018-07-01
- 条形码:9787115508263 ; 978-7-115-50826-3
本书特色
本书基于ST公司的STM32芯片,包括8个项目、19个任务,分别介绍LED控制设计与实现、跑马灯控制设计与实现、数码管显示设计与实现、控键控制设计与实现、定时器应用设计与实现、串行通信设计与实现、模数转换设计与实现以及嵌入式智能车设计与实现等内容,涵盖了嵌入式系统的基本知识和嵌入式应用开发的基本内容。 本书引入Proteus仿真软件,采用“任务驱动、做中学”的编写思路,每个任务均将相关知识和职业岗位技能融合在一起,将知识、技能的学习结合任务完成过程来进行。 本书可作为高等院校嵌入式技术与应用、物联网应用技术等电子信息类专业嵌入式课程的教材,也可作为广大智能电子产品制作爱好者的自学用书。
内容简介
本书基于ST公司的STM32芯片,包括8个项目、19个任务,分别介绍LED控制设计与实现、跑马灯控制设计与实现、数码管显示设计与实现、控键控制设计与实现、定时器应用设计与实现、串行通信设计与实现、模数转换设计与实现以及嵌入式智能车设计与实现等内容,涵盖了嵌入式系统的基本知识和嵌入式应用开发的基本内容。 本书引入Proteus仿真软件,采用“任务驱动、做中学”的编写思路,每个任务均将相关知识和职业岗位技能融合在一起,将知识、技能的学习结合任务完成过程来进行。 本书可作为高等院校嵌入式技术与应用、物联网应用技术等电子信息类专业嵌入式课程的教材,也可作为广大智能电子产品制作爱好者的自学用书。
目录
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
作者简介
郭志勇,教授,任职于安徽电子信息职业技术学院信息与智能工程系,编写过多本计算机教材。《单片机应用技术项目教程(C语言版)》前两版被多所学校选用,销量稳定。
-
全图解零基础word excel ppt 应用教程
¥15.6¥48.0 -
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥12.7¥39.8 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
情感计算
¥66.8¥89.0 -
LINUX企业运维实战(REDIS+ZABBIX+NGINX+PROMETHEUS+GRAFANA+LNMP)
¥48.3¥69.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
LINUX实战——从入门到精通
¥48.3¥69.0 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
数据驱动的工业人工智能:建模方法与应用
¥68.3¥99.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥76.3¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
UN NX 12.0多轴数控编程案例教程
¥24.3¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥38.7¥79.0