- ISBN:9787121462085
- 装帧:平塑
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:324
- 出版时间:2023-09-01
- 条形码:9787121462085 ; 978-7-121-46208-5
内容简介
本书采用STM32CubeMX的开发方式,选用20个基于STM32嵌入式技术开发的实例,按照“理论够用,突出应用”的原则,采取项目化教学的方式,以作品制作为载体,在作品制作过程中讲解STM32嵌入式技术的基础知识、基本技能和方法,培养学生的爱岗敬业、耐心仔细、抗压抗挫等优良品质和精神,由浅入深地讲解STM32嵌入式技术应用,包括安装开发工具、点亮LED灯、控制LED灯闪烁、制作跑马灯、显示按键的状态、统计按键按下的次数、制作简易秒表、制作呼吸灯、用串口与计算机交换数据、用空闲中断处理串口接收数据、制作用数码管显示的秒表、用键盘控制秒表的运行、用OLED屏显示字符、用OLED屏显示图片、制作电压监测器、制作电压信号发生器、用硬件SPI口控制OLED屏、用硬件I2C接口访问AT24C02、读写Flash存储器、用RTC制作数字钟以及C程序设计技巧。本书立足于应用实践,融入了近年来全国职业技能大赛中有关STM32嵌入式应用技术的内容和1+X职业技能等级考试内容,适于用作高等职业院校物联网、电子信息、智能产品设计、应用电子、机电一体化、机械电子、汽车电子等专业嵌入式技术应用课程的教材,也可作为应用型本科和1+X“传感网应用开发”职业技能等级考试培训教材或者供参加物联网大赛和从事STM32嵌入式技术应用的工程技术人员学习和参考。
目录
学习目标 1
任务1 安装开发工具 1
任务要求 1
知识储备 2
1.STM32微控制器 2
2.STM32的软件开发方式 4
实现方法与步骤 4
1.准备开发工具 4
2.解压工具软件 9
3.安装MDK 10
4.安装Keil包 13
5.激活MDK 15
6.安装JRE 16
7.安装STM32CubeMX 17
8.安装STM32CubeMX库 19
9.安装CH340 驱动程序 22
10.查看USB口映射的串口号 23
11.安装STLink驱动程序 24
12.安装程序下载软件 25
实践总结与拓展 27
习题1 27
任务2 点亮LED灯 28
任务要求 28
知识储备 28
1.初识GPIO口 28
2.STM32的时钟源 29
3.STM32的程序启动模式 30
4.STM32的程序调试模式 31
5.发光二极管的控制电路 31
实现方法与步骤 32
1.搭建硬件电路 32
2.新建STM32CubeMX工程 33
3.配置STM32的硬件资源 34
4.管理STM32CubeMX工程 39
5.生成Keil工程代码 41
6.配置Keil工程 42
7.编译连接程序 43
8.下载程序 44
实践总结与拓展 46
习题2 46
项目2 GPIO口的应用设计 48
学习目标 48
任务3 控制LED闪烁 48
任务要求 48
知识储备 49
1.Keil工程的结构 49
2.程序编写规范 50
3.GPIO口输出特性 52
4.GPIO口的输出函数 54
5.延时函数 56
实现方法与步骤 56
1.搭建电路 56
2.生成GPIO口的初始化代码 56
3.编写LED闪烁程序 57
4.编译与下载程序 58
实践总结与拓展 60
习题3 61
任务4 制作跑马灯 62
任务要求 62
知识储备 63
1.位操作运算的应用 63
2.GPIO口的并行输出 65
实现方法与步骤 66
1.搭建电路 66
2.生成GPIO口的初始化代码 66
3.编写跑马灯程序 66
4.配置Keil工程 67
5.调试与下载程序 69
实践总结与拓展 72
1.用查表法实现跑马灯显示 72
2.用访问ODR寄存器的方式
实现跑马灯显示 74
习题4 75
任务5 显示按键的状态 77
任务要求 77
知识储备 77
1.GPIO口的输入特性 77
2.GPIO口的输入函数 78
3.GPIO口的并行输入 79
4.按键电路 79
实现方法与步骤 80
1.搭建电路 80
2.生成GPIO口的初始化代码 80
3.编写显示按键状态程序 81
4.调试与下载程序 82
实践总结与拓展 83
习题5 83
项目3 外部中断和定时器的应用设计 85
学习目标 85
任务6 统计按键按下的次数 85
任务要求 85
知识储备 86
1.中断的相关知识 86
2.嵌套中断向量控制器NVIC 86
3.STM32的外部中断控制器 87
4.HAL库中GPIO口的外部中断 函数 89
实现方法与步骤 91
1.搭建电路 91
2.生成外部中断的初始化代码 91
3.编写统计按键按下次数的程序 95
4.调试与下载程序 97
程序分析 97
实践总结与拓展 98
习题6 98
任务7 制作简易秒表 100
任务要求 100
知识储备 100
1.定时器的分类 100
2.定时器的基本结构 101
3.计数模式 102
4.定时时长的计算 102
5.HAL库中有关定时器的常用 函数 102
实现方法与步骤 104
1.搭建电路 104
2.生成定时器的初始化代码 104
3.编写简易秒表程序 106
程序分析 109
实践总结与拓展 110
习题7 111
任务8 制作呼吸灯 112
任务要求 112
知识储备 113
1.PWM的基本概念 113
2.STM32中PWM的结构 113
3.PWM的工作模式 114
4.定时器各通道的引脚分布 114
5.HAL库中PWM的函数和宏 115
实现方法与步骤 116
1.搭建电路 116
2.生成PWM的初始化代码 116
3.编写呼吸灯程序 120
4.调试与下载程序 122
实践总结与拓展 122
习题8 123
项目4 串口通信的应用设计 124
学习目标 124
任务9 用串口与计算机交换数据 124
任务要求 124
知识储备 125
1.串行通信的基本知识 125
2.STM32F103中通用串行口的结构 126
3.通用串行口的引脚 127
4.双机通信电路 128
5.HAL库中串行通信的常用函数 132
实现方法与步骤 134
1.搭建电路 134
2.生成串口1的初始化代码 135
3.编写串行通信程序 137
4.调试与下载程序 139
程序分析 140
实践总结与拓展 143
习题9 144
任务10 用空闲中断处理串口接收数据 145
任务要求 145
知识储备 146
1.串口的空闲中断 146
2.HAL库中操作空闲中断的宏 146
3.空闲中断的编程方法 147
4.常用的串操作函数 149
实现方法与步骤 150
1.搭建电路 150
2.生成硬件初始化代码 150
3.编写数据接收程序 151
4.编写数据处理程序 154
5.增加include目录 156
6.调试与下载程序 157
程序分析 158
实践总结与拓展 160
习题10 161
项目5 显示与键盘的应用设计 163
学习目标 163
任务11 制作数码管显示的秒表 163
任务要求 163
知识储备 164
1.数码管的显示原理 164
2.数码管的静态显示 165
3.数码管的动态扫描显示 166
实现方法与步骤 172
1.搭建电路 172
2.生成硬件初始化代码 172
3.编写数码管显示程序 173
4.编写秒表应用程序 174
实践总结与拓展 175
习题11 179
任务12 用键盘控制秒表的运行 181
任务要求 181
知识储备 182
1.键盘处理流程 182
2.独立式键盘接口 182
3.矩阵式键盘接口 188
实现方法与步骤 191
1.搭建电路 191
2.生成硬件初始化代码 191
3.修改秒表程序 191
4.添加键盘处理程序 193
实践总结与拓展 195
习题12 195
任务13 用OLED屏显示字符 196
任务要求 196
知识储备 196
1.OLED屏与STM32的接口电路 196
2.SSD1306的显存 198
3.SSD1306的地址模式 199
4.OLED的访问程序 200
实现方法与步骤 205
1.搭建电路 205
2.生成硬件初始化代码 205
3.移植OLED程序 205
4.制作字库 206
5.编写字符显示程序 210
实践总结与拓展 210
习题13 213
任务14 用OLED显示图片 215
任务要求 215
知识储备 215
1.图片显示函数 215
2.图片的显示方法 216
实现方法与步骤 216
1.搭建电路 216
2.用图片处理软件编辑图片文件 217
3.用Image2Lcd软件制作位图文件 220
4.用PCtoLCD软件制作图库文件 221
5.生成硬件初始化代码 222
6.编写显示图片的应用程序 223
7.完善bmp.h头文件 223
8.调试与下载程序 224
实践总结与拓展 224
习题14 225
项目6 A/D与D/A转换器的应用设计 226
学习目标 226
任务15 制作电压监测器 226
任务要求 226
知识储备 227
1.A/D转换的基础知识 227
2.STM32中ADC的结构 227
3.ADC的应用特性 230
4.HAL库中有关ADC的常用函数和宏 232
实现方法与步骤 235
1.搭建电路 235
2.生成ADC的初始化代码 235
3.编写电压监测器的程序 238
4.调试与下载程序 239
程序分析 239
实践总结与拓展 240
习题15 240
任务16 制作电压信号发生器 241
任务要求 241
知识储备 242
1.D/A转换的基础知识 242
2.STM32中DAC的应用特性 242
3.HAL库中有关DAC的常用函数 244
实现方法与步骤 246
1.搭建电路 246
2.生成DAC的初始化代码 246
3.编写信号发生器的程序 246
4.调试与下载程序 248
实践总结与拓展 249
习题16 250
项目7 外设接口的应用设计 252
学习目标 252
任务17 用硬件SPI口控制OLED屏 252
任务要求 252
知识储备 253
1.SPI接口的信号线 253
2.STM32中SPI口的应用特性 253
3.SPI口的设置方法 257
4.HAL库中常用的SPI操作函数 258
实现方法与步骤 260
1.搭建电路 260
2.生成SPI口的初始化代码 260
3.完善SPI通信程序 263
4.编写显示程序 265
5.调试与下载程序 266
实践总结与拓展 266
习题17 267
任务18 用硬件I2C接口访问AT24C02 269
任务要求 269
知识储备 269
1.I2C总线的基本知识 269
2.STM32中I2C接口的应用特性 271
3.HAL库中的I2C访问函数 272
4.AT24C02的应用特性 273
实现方法与步骤 277
1.搭建电路 277
2.生成I2C接口的初始化代码 278
3.编写AT24C02的应用程序 279
4.在main.c文件中编写应用程序 280
5.调试与下载程序 281
实践总结与拓展 281
习题18 282
任务19 读写FLASH存储器 283
任务要求 283
知识储备 283
1.STM32的FLASH存储器 283
2.HAL库中有关FLASH操作的函数 284
3.读写FLASH存储器的方法 286
实现方法与步骤 288
1.搭建电路 288
2.生成硬件初始化代码 288
3.编写读写FLASH存储器的应用程序 288
4.调试与下载程序 291
实践总结与拓展 291
习题19 291
任务20 用RTC制作数字钟 293
任务要求 293
知识储备 294
1.STM32中RTC的应用特性 294
2.HAL库中有关RTC的操作函数 294
实现方法与步骤 300
1.搭建电路 300
2.生成RTC的初始化代码 300
3.编写数字钟的应用程序 302
4.调试与下载程序 306
实践总结与拓展 306
习题20 307
附录A STM32开发板电路图 309
附录B 全国职业院校“物联网应用开发” 大赛试题(STM32部分) 311
附录C 1 X传感网应用开发(中级)试题 (有
作者简介
李文华,男,教授,就职于浙江工贸职业技术学院,中国电子学会高级会员,长期致力于电子信息、物联网技术的相关教学
-
全图解零基础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