基于STM32嵌入式接口与传感器应用开发pdf下载

基于STM32嵌入式接口与传感器应用开发百度网盘pdf下载

作者:
简介:基于STM32嵌入式接口与传感器应用开发
出版社:电子工业出版社
出版时间:2018-10-01
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐
  面向物联网,立足实践,详细论述STM32和传感器的开发与应用。
内容简介
  本书主要介绍在嵌入式系统和物联网系统开发中常用的STM32微处理器的接口技术、常见传感器的应用,由浅入深地对STM32接口技术和传感器的应用进行讲解。全书采用任务式开发的学习方法,精选了28个贴近社会和生活的案例,每个案例均有完整的开发过程,分别是生动的开发场景、明确的开发目标、深入浅出的原理学习、详细的系统设计过程、详细的软/硬件设计和功能实现过程,最后进行开发验证和总结拓展,将理论学习和开发实践结合起来。每个案例均附有完整的开发代码和配套PPT课件,读者可在源代码的基础上快速地进行二次开发。
作者简介
  廖建尚,男,副教授,毕业于广东工业大学通信与信息系统专业,硕士,先任职于广东交通职业技术学院。长期从事物联网技术的开发和教学工作。
目录
内容简介
前言
第1部分 嵌入式系统基本原理和开发知识
任务1 认识嵌入式系统
1.1 学习场景:嵌入式系统有哪些应用
1.2 学习目标
1.3 原理学习:嵌入式系统的发展与应用
1.3.1 嵌入式系统概述
1.3.2 嵌入式操作系统
1.3.3 嵌入式系统的发展与应用
1.4 任务小结
1.5 思考与拓展
任务2 ARM嵌入式开发平台
2.1 学习场景:ARM嵌入式开发平台有哪些应用
2.2 开发目标
2.3 原理学习:ARM微处理器
2.3.1 ARM微处理器简介及其产品系列
2.3.2 ARM微处理器的组成及结构
2.3.3 STM32系列微处理器
2.3.4 STM32开发平台
2.4 任务小结
2.5 思考与拓展
任务3 工程创建与调试
3.1 开发场景:如何进行项目开发
3.2 开发目标
3.3 原理学习:软件开发环境
3.3.1 IAR for ARM开发环境
3.3.2 STM32标准函数库
3.3.3 IAR ARM开发环境的使用
3.3.4 IAR ARM程序的开发及在线调试
3.4 任务实践
3.4.1 开发设计
3.4.2 功能实现
3.5 任务小结
3.6 思考与拓展
第2部分 STM32嵌入式接口开发技术
任务4 设备指示灯的设计与实现
4.1 开发场景:如何控制设备指示灯
4.2 开发目标
4.3 原理学习:STM32的GPIO功能与应用
4.3.1 STM32的GPIO
4.3.2 STM32的GPIO寄存器
4.3.3 常见GPIO的位操作
4.4 任务实践:设备指示灯控制的软/硬件设计
4.4.1 开发设计
4.4.2 功能实现
4.5 任务验证
4.6 任务小结
4.7 思考与拓展
任务5 竞赛抢答器的设计与实现
5.1 开发场景:如何实现抢答器
5.2 开发目标
5.3 原理学习:STM32微处理器的中断
5.3.1 中断基本概念与定义
5.3.2 STM32中断应用概述
5.3.3 STM32的外部中断机制
5.4 任务实践:抢答器的软/硬件设计
5.4.1 开发设计
5.4.2 功能实现
5.5 任务验证
5.6 任务小结
5.7 思考与拓展
任务6 电子时钟的设计与实现
6.1 开发场景:如何实现电子时钟
6.2 开发目标
6.3 原理学习:STM32定时/计数器
6.3.1 定时/计数器的基本原理
6.3.2 STM32定时器
6.4 任务实践:电子时钟的软/硬件设计
6.4.1 开发设计
6.4.2 功能实现
6.5 任务验证
6.6 任务小结
6.7 思考与拓展
任务7 汽车电压指示器的设计与实现
7.1 开发场景:如何实现汽车电压指示器
7.2 开发目标
7.3 原理学习:STM32 ADC
7.3.1 A/D转换
7.3.2 STM32的A/D转换器
7.4 任务实践:汽车电压指示器的软/硬件设计
7.4.1 开发设计
7.4.2 功能实现
7.5 任务验证
7.6 任务小结
7.7 思考与拓展
任务8 环境监测点自复位的设计与实现
8.1 开发场景:如何实现自复位设计
8.2 开发目标
8.3 原理学习:STM32看门狗
8.3.1 看门狗基本原理
8.3.2 STM32看门狗
8.3.3 STM32看门狗库函数的使用
8.4 任务实践:环境监测点自复位的软/硬件设计
8.4.1 开发设计
8.4.2 功能实现
8.5 任务验证
8.6 任务小结
8.7 思考与拓展
任务9 视频监控中三维控制键盘的设计与实现
9.1 开发场景:如何实现视频监控中三维控制键盘
9.2 开发目标
9.3 原理学习:STM32串口
9.3.1 串口
9.3.2 STM32的USART
9.3.3 STM32串口库函数
9.4 任务实践:视频监控中三维控制键盘的软/硬件设计
9.4.1 开发设计
9.4.2 功能实现
9.5 任务验证
9.6 任务小结
9.7 思考与拓展
任务10 农业大棚环境信息采集系统的设计与实现
10.1 开发场景:如何采集温湿度信息
10.2 开发目标
10.3 原理学习:STM32的I2C模块和温湿度传感器
10.3.1 I2C总线
10.3.2 STM32的I2C模块
10.3.3 STM32的I2C库函数的使用
10.3.4 温湿度传感器
10.4 任务实践:农业大棚环境信息采集系统的软/硬件设计
10.4.1 开发设计
10.4.2 功能实现
10.5 任务验证
10.6 任务小结
10.7 思考与拓展
任务11 高速动态数据存取的设计与实现
11.1 开发场景:如何实现高速动态数据的存取
11.2 开发目标
11.3 原理学习:SPI总线协议和Flash存储器
11.3.1 SPI总线协议
11.3.2 Flash存储器
11.4 任务实践:高速动态数据存取的软/硬件设计
11.4.1 开发设计
11.4.2 功能实现
11.5 任务验证
11.6 任务小结
11.7 思考与拓展
任务12 车载显示器的设计与实现
12.1 开发场景:如何实现车载显示器
12.2 开发目标
12.3 原理学习:STM32的FSMC模块和LCD模块
12.3.1 显示器
12.3.2 STM32的FSMC模块
12.3.3 STM32的FSMC模块库函数
12.3.4 ILI93xx系列TFT LCD
12.4 任务实践:车载显示器的软/硬件设计
12.4.1 开发设计
12.4.2 功能实现
12.5 任务验证
12.6 任务小结
12.7 思考与拓展
第3部分 基于STM32和常用传感器开发
任务13 传感器应用技术
13.1 学习场景:日常生活传感器的应用有哪些
13.2 开发目标
13.3 原理学习:传感器应用和发展趋势
13.3.1 传感器简述
13.3.2 传感器与物联网应用
13.4 任务小结
13.5 思考与拓展
任务14 温室大棚光照度测量系统的设计与实现
14.1 开发场景:如何实现光照度的测量
14.2 开发目标
14.3 原理学习:光敏传感器和I2C
14.3.1 光敏传感器
14.3.2 BH1750FVI -TR型光敏传感器
14.3.3 I2C总线和光照传感器
14.4 任务实践:光照度测量系统的软/硬件设计
14.4.1 开发设计
14.4.2 功能实现
14.5 任务验证
14.6 任务小结
14.7 思考与拓展
任务15 探空气球测海拔的设计与实现
15.1 开发场景:如何实现气压海拔的测量
15.2 开发目标
15.3 原理学习:气压海拔传感器的工作原理与测量方法
15.3.1 气压海拔传感器
15.3.2 气压海拔传感器的工作原理
15.3.3 气压海拔传感器的海拔计算方法
15.3.4 FBM320型气压海拔传感器
15.4 任务实践:探空气球测海拔的软/硬件设计
15.4.1 开发设计
15.4.2 功能实现
15.5 任务验证
15.6 任务小结
15.7 思考与拓展
任务16 建筑工地扬尘监测系统的设计与实现
16.1 开发场景:如何测量空气质量
16.2 开发目标
16.3 原理学习:半导体气体传感器和空气质量传感器
16.3.1 半导体气体传感器
16.3.2 MP503型空气质量传感器
16.4 任务实践:城市扬尘监测系统的软/硬件设计
16.4.1 开发设计
16.4.2 功能实现
16.5 任务验证
16.6 任务小结
16.7 思考与拓展
任务17 VR设备动作捕捉系统的设计与实现
17.1 开发场景:如何实现动作捕捉
17.2 开发目标
17.3 原理学习:三轴加速度传感器与测量
17.3.1 人体运动模型
17.3.2 三轴加速度传感器
17.3.3 三轴加速度传感器的应用
17.3.4 LIS3DH型三轴加速度传感器
17.3.5 计步算法
17.3.6 获取传感器数据
17.4 任务实践:VR设备动作捕捉系统的软/硬件设计
17.4.1 开发设计
17.4.2 功能实现
17.5 任务验证
17.6 任务小结
17.7 思考与拓展
任务18 扫地机器人避障系统的设计与实现
18.1 开发场景:如何应用红外距离传感器测量距离
18.2 开发目标
18.3 原理学习:距离传感器与测量
18.3.1 距离传感器
18.3.2 Sharp红外距离传感器
18.4 任务实践:扫地机器人避障系统的软/硬件设计
18.4.1 开发设计
18.4.2 功能实现
18.5 任务验证
18.6 任务小结
18.7 思考与拓展
任务19 红外自动感应门的设计与实现
19.1 开发场景:如何实现红外自动感应门
19.2 开发目标
19.3 原理学习:人体红外传感器与测量
19.3.1 人体红外传感器
19.3.2 热释电人体红外传感器
19.3.3 AS312型热释电人体红外传感器
19.4 任务实践:红外自动感应门的软/硬件设计
19.4.1 开发设计
19.4.2 功能实现
19.5 任务验证
19.6 任务小结
19.7 思考与拓展
任务20 燃气监测仪的设计与实现
20.1 开发场景:如何实现燃气监测仪
20.2 开发目标
20.3 原理学习:气体传感器与测量
20.3.1 气体传感器
20.3.2 MP-4型燃气传感器
20.4 任务实践:燃气监测仪的软/硬件设计
20.4.1 开发设计
20.4.2 功能实现
20.5 任务验证
20.6 任务小结
20.7 思考与拓展
任务21 振动检测仪的设计与实现
21.1 开发场景:如何实现振动检测仪
21.2 开发目标
21.3 原理学习:振动信号和振动传感器
21.3.1 振动信号
21.3.2 振动传感器
21.4 任务实践:振动检测仪的软/硬件设计
21.4.1 开发设计
21.4.2 功能实现
21.5 任务验证
21.6 任务小结
21.7 思考与拓展
任务22 电机转速检测系统的设计与实现
22.1 开发场景:如何实现电机转速检测系统
22.2 开发目标
22.3 原理学习:霍尔传感器与测量
22.3.1 霍尔传感器
22.3.2 工作原理与分类
22.3.3 AH3144型霍尔传感器
22.4 任务实践:电机转速检测系统的软/硬件设计
22.4.1 开发设计
22.4.2 功能实现
22.5 任务验证
22.6 任务小结
22.7 思考与拓展
任务23 智能家居光栅防盗系统的设计与实现
23.1 开发场景:如何实现智能家居光栅防盗系统
23.2 开发目标
23.3 原理学习:光电传感器与应用
23.3.1 光电传感器
23.3.2 光电开关的原理
23.3.3 光电传感器的应用
23.4 任务实践:智能家居光栅防盗系统的软/硬件设计
23.4.1 开发设计
23.4.2 功能实现
23.5 任务验证
23.6 任务小结
23.7 思考与拓展
任务24 智能建筑消防预警系统的设计与实现
24.1 开发场景:如何实现火焰探测
24.2 开发目标
24.3 原理学习:光电效应和火焰传感器
24.3.1 火焰传感器
24.3.2 火焰传感器的分类
24.3.3 接收管和光电效应原理
24.4 任务实践:智能建筑消防预警系统的软/硬件设计
24.4.1 开发设计
24.4.2 功能实现
24.5 任务验证
24.6 任务小结
24.7 思考与拓展
任务25 洗衣机触控面板控制系统的设计与实现
25.1 开发场景:如何实现触摸开关
25.2 开发目标
25.3 原理学习:触摸开关和触摸传感器
25.3.1 触摸开关
25.3.2 触摸屏
25.3.3 电容式触摸开关
25.4 任务实践:洗衣机触控面板控制系统的软/硬件设计
25.4.1 开发设计
25.4.2 功能实现
25.5 任务验证
25.6 任务小结
25.7 思考与拓展
任务26 微电脑时控开关的设计与实现
26.1 开发场景:如何实现时控开关
26.2 开发目标
26.3 原理学习:继电器原理和应用
26.3.1 电磁继电器原理
26.3.2 电磁继电器的开关分类
26.3.3 电磁继电器的组成
26.3.4 继电器的作用
26.3.5 本任务的继电器
26.4 任务实践:时控开关的软/硬件设计
26.4.1 开发设计
26.4.2 功能实现
26.5 任务验证
26.6 任务小结
26.7 思考与拓展
任务27 工业通风设备的设计与实现
27.1 开发场景:如何实现工业设备通风
27.2 开发目标
27.3 原理学习:轴流风机和应用
27.3.1 轴流风机构成
27.3.2 轴流风机参数
27.3.3 轴流风机的工作原理与分类
27.3.4 GM0501PFB3型轴流风机
27.4 任务实践:工业通风设备的软/硬件设计
27.4.1 开发设计
27.4.2 功能实现
27.5 任务验证
27.6 任务小结
27.7 思考与拓展
任务28 工业机床控制系统的设计与实现
28.1 开发场景:如何实现工业机床控制系统
28.2 开发目标
28.3 原理学习:步进电机的原理与应用
28.3.1 步进电机基本概念
28.3.2 步进电机的相关参数
28.3.3 步进电机的工作原理及结构
28.3.4 步进电机的控制方法
28.3.5 步进电机驱动
28.4 任务实践:工业机床控制系统的软/硬件设计
28.4.1 开发设计
28.4.2 功能实现
28.5 任务验证
28.6 任务小结
28.7 思考与拓展
任务29 声光报警器的设计与实现
29.1 开发场景:如何实现声光报警器
29.2 开发目标
29.3 原理学习:声光报警器和RBG灯
29.3.1 声光报警器
29.3.2 RGB灯原理
29.4 任务实践:声光报警器的软/硬件设计
29.4.1 开发设计
29.4.2 功能实现
29.5 任务验证
29.6 任务小结
29.7 思考与拓展
第4部分 综合应用项目开发
任务30 图书馆照明调节系统的设计与实现
30.1 开发场景:如何实现照明调节系统
30.2 开发目标
30.3 任务设计流程与需求分析
30.3.1 设计流程
30.3.2 项目解读
30.3.3 项目功能分解
30.3.4 项目技术化
30.4 任务实践:图书馆照明调节系统的软/硬件设计
30.4.1 开发设计
30.4.2 项目架构
30.4.3 功能实现
30.5 任务验证
30.5.1 项目测试
30.5.2 项目验证
30.5.3 验证效果
30.6 任务小结
30.7 思考与拓展
任务31 集成燃气灶控制系统的设计与实现
31.1 开发场景:如何实现集成燃气灶控制系统
31.2 开发目标
31.3 任务设计流程与需求分析
31.3.1 设计流程
31.3.2 项目解读
31.3.3 项目功能分解
31.3.4 项目技术化
31.4 任务实践:集成燃气灶控制系统的软/硬件设计
31.4.1 开发设计
31.4.2 项目架构
31.4.3 功能实现
31.5 任务验证
31.5.1 项目测试
31.5.2 项目验证
31.5.3 验证效果
31.6 任务小结
31.7 思考与拓展
任务32 智能洗衣机控制系统的设计与实现
32.1 开发场景:如何实现智能洗衣机控制系统
32.2 开发目标
32.3 任务设计流程与需求分析
32.3.1 项目解读
32.3.2 项目功能分析
32.3.3 项目技术化
32.3.4 项目设计与实现
32.4 任务实践:智能洗衣机控制系统的软/硬件设计
32.4.1 项目架构
32.4.2 功能实现
32.5 任务验证
32.5.1 项目测试
32.5.2 功能验证
32.5.3 验证效果
32.6 任务小结
32.7 思考与拓展
参考文献
前言
  前言
  近年来,物联网、移动互联网、大数据和云计算的迅猛发展,慢慢改变了社会的生产方式,大大提高了生产效率。工业和信息化部《物联网发展规划(2016—2020年)》总结了“十二五”规划中物联网发展所取得的成就,并提出了“十三五”面临的形势,明确了物联网的发展思路和目标,提出了物联网发展的6大任务,分别是强化产业生态布局、完善技术创新体系、推动物联网规模应用、构建完善标准体系、完善公共服务体系、提升安全保障能力;提出了4大关键技术,分别是传感器技术、体系架构共性技术、操作系统,以及物联网与移动互联网、大数据融合关键技术;提出了6大重点领域应用示范工程,分别是智能制造、智慧农业、智能家居、智能交通和车联网、智慧医疗和健康养老,以及智慧节能环保;指出要健全多层次多类型的物联网人才培养和服务体系,支持高校、科研院所加强跨学科交叉整合,加强物联网学科建设,培养物联网复合型专业人才。该发展规划为物联网发展指出了一条鲜明的道路,同时也可以看出,我国在推动物联网应用方面的坚定决心,相信物联网规模会越来越大。
  本书基于STM32微处理器详细阐述嵌入式系统和物联网系统的底层开发技术,采用了案例式和任务式驱动的开发方法,旨在大力推动物联网人才的培养。
  嵌入式系统和物联网系统涉及的技术很多,底层和感知层的开发需要掌握微处理器接口技术、相应传感器的应用开发技术。本书将详细分析基于STM32和各种传感器的驱动方法,理论知识点清晰,实践案例丰富。
  全书采用任务式开发的学习方法,精选28个贴近社会和生活的案例,由浅入深地介绍STM32的接口技术和传感器应用开发技术,每个案例均有完整的开发过程,分别是生动的开发场景、明确的开发目标、深入浅出的原理学习、详细的系统设计过程、详细的软/硬件设计和功能实现过程,最后进行开发验证和总结拓展。每个案例均附有完整的开发代码,读者可在源代码的基础上快速地进行二次开发,能方便地将其转化为各种比赛和创新创业的案例,不仅为高等院校相关专业师生提供教学案例,也可以为工程技术人员和科研人员提供较好的参考资料。
  第1部分引导读者初步了解嵌入式系统的发展概况,学习ARM微处理器的基本原理、功能,并进一步学习STM32的原理、功能及片上资源,学习STM32开发平台的构成以及开发环境的搭建,初步探索IAR for ARM的开发环境和在线调试,掌握STM32开发环境的搭建和调试。
  第2部分介绍本书开发项目所依托的STM32的各种接口技术,分别有GPIO、外部中断、定时器、ADC、看门狗、串口、LCD、I2C总线和SPI总线,共有9个任务,分别是任务4到任务12,从而实现了9个项目的设计,包括:设备指示灯的设计与实现、竞赛抢答器的设计与实现、电子时钟的设计与实现、汽车电压指示器的设计与实现、环境监测点自复位的设计与实现、视频监控中三维控制键盘的设计与实现、农业大棚环境信息采集系统的设计与实现、高速动态数据存取的设计与实现,以及车载显示器的设计与实现。通过9个任务的开发来掌握STM32的接口原理、功能和开发技术,从而具备基本的开发能力。
  第3部分介绍各种传感器技术,包括光照度传感器、气压海拔传感器、空气质量传感器、三轴加速度传感器、距离传感器、人体红外传感器、燃气传感器、振动传感器、霍尔传感器、光电传感器、火焰传感器、触摸传感器、继电器、轴流风机、步进电机和RGB灯,深入学习传感器的基本原理、功能和结构。结合这些传感器和STM32开发平台,完成任务14到任务29共16个项目的设计,包括:温室大棚光照度测量系统的设计与实现、探空气球测海拔的设计与实现、建筑工地扬尘监测系统的设计与实现、VR设备动作捕捉系统的设计与实现、扫地机器人避障系统的设计与实现、红外自动感应门的设计与实现、燃气监测仪的设计与实现、振动检测仪的设计与实现、电机转速检测系统的设计与实现、智能家居光栅防盗系统的设计与实现、智能建筑消防预警系统的设计与实现、洗衣机触控面板控制系统的设计与实现、微电脑时控开关的设计与实现、工业通风设备的设计与实现、工业机床控制系统的设计与实现,以及声光报警器的设计与实现。通过16个项目的设计与开发,使读者熟悉传感器的基本原理,并掌握用STM32驱动各种传感器的方法,为综合项目开发打下坚实的基础。
  第4部分开发的是综合项目,分别是任务30到任务32共3个项目的设计,任务30综合应用STM32、按键、光照度传感器、蜂鸣器、RGB灯、LCD和LED完成图书馆照明调节系统软/硬件设计;任务31综合应用STM32、燃气传感器、火焰传感器、继电器、按键、蜂鸣器、LCD和LED完成集成燃气灶控制系统的软/硬件设计;任务32综合应用STM32、按键、步进电机、继电器、RGB灯、LCD和LED完成智能洗衣机控制系统的软/硬件设计。其中,每个综合项目都遵循科学的系统开发方法,用项目需求分析、项目实施和项目验证来组织系统开发。
  本书特色如下:
  (1)任务式开发。抛去传统的学习方法,选取生动的案例将理论与实践结合起来,通过理论学习和开发实践,使读者快速入门,由浅入深地掌握STM32微处理器接口技术和传感器应用开发技术。
  (2)理论知识和案例实践相结合。将嵌入式系统的开发技术、STM32微处理器接口技术、传感器应用和生活中的实际案例结合起来,边学习理论知识边开发,快速掌握嵌入式系统和物联网开发技术。
  (3)提供综合性项目开发方法。综合性项目为读者提供软/硬件系统的开发方法,有需求分析、项目架构、软/硬件设计等方法。
  本书既可作为高等院校相关专业的教材、教学参考书或自学参考书,也可供相关领域的工程技术人员查阅。对于物联网系统和嵌入式系统的开发爱好者,本书也是一本深入浅出的读物。
  本书在编写过程中,借鉴和参考了国内外专家、学者、技术人员的相关研究成果,我们尽可能按学术规范予以说明,但难免会有疏漏之处,在此谨向有关作者表示深深的敬意和谢意,如有疏漏,请及时通过出版社与作者联系。
  本书得到了广东省自然科学基金项目(2018A030313195)、广东高校省级重大科研项目(2017GKTSCX021)、广东省科技计划项目(2017ZC0358)、广州市科技计划项目(201804010262)、广东交通职业技术学院校级重点科研项目(2017-1-001)和广东省高等职业教育品牌专业建设项目(2016GZPP044)的资助。感谢中智讯(武汉)科技有限公司在本书编写过程中提供的帮助,特别感谢电子工业出版社的编辑在本书出版过程中给予的大力支持。
  由于本书涉及的知识面广,时间仓促,限于笔者的水平和经验,疏漏之处在所难免,恳请专家和读者批评指正。
  作者
  2018年7月