新書推薦:
《
小麦文明:“黄金石油”争夺战
》
售價:HK$
97.9
《
悬壶杂记全集:老中医多年临证经验总结(套装3册) 中医医案诊疗思路和处方药应用
》
售價:HK$
135.1
《
无法忍受谎言的人:一个调查记者的三十年
》
售價:HK$
63.8
《
战争社会学专论
》
售價:HK$
118.8
《
剑桥意大利戏剧史(剑桥世界戏剧史译丛)
》
售價:HK$
162.8
《
教育何用:重估教育的价值
》
售價:HK$
65.8
《
理想城市:环境与诗性
》
售價:HK$
85.8
《
大模型推荐系统:算法原理、代码实战与案例分析
》
售價:HK$
97.9
|
內容簡介: |
本书主要介绍在嵌入式系统和物联网系统开发中常用的STM32微处理器的接口技术、常见传感器的应用,由浅入深地对STM32接口技术和传感器的应用进行讲解。全书采用任务式开发的学习方法,精选了28个贴近社会和生活的案例,每个案例均有完整的开发过程,分别是生动的开发场景、明确的开发目标、深入浅出的原理学习、详细的系统设计过程、详细的软硬件设计和功能实现过程,*后进行开发验证和总结拓展,将理论学习和开发实践结合起来。每个案例均附有完整的开发代码和配套PPT课件,读者可在源代码的基础上快速地进行二次开发。
|
關於作者: |
廖建尚,男,副教授,毕业于广东工业大学通信与信息系统专业,硕士,先任职于广东交通职业技术学院。长期从事物联网技术的开发和教学工作。
|
目錄:
|
目录
第1部分嵌入式系统基本原理和开发知识
任务1认识嵌入式系统(2)
1.1学习场景:嵌入式系统有哪些应用(2)
1.2学习目标(2)
1.3原理学习:嵌入式系统的发展与应用(2)
1.3.1嵌入式系统概述(2)
1.3.2嵌入式操作系统(5)
1.3.3嵌入式系统的发展与应用(7)
1.4任务小结(9)
1.5思考与拓展(9)
任务2ARM嵌入式开发平台(10)
2.1学习场景:ARM嵌入式开发平台有哪些应用(10)
2.2开发目标(11)
2.3原理学习:ARM微处理器(11)
2.3.1ARM微处理器简介及其产品系列(11)
2.3.2ARM微处理器的组成及结构(13)
2.3.3STM32系列微处理器(14)
2.3.4STM32开发平台(17)
2.4任务小结(21)
2.5思考与拓展(21)
任务3工程创建与调试(22)
3.1开发场景:如何进行项目开发(22)
3.2开发目标(22)
3.3原理学习:软件开发环境(22)
3.3.1IAR for ARM开发环境(22)
3.3.2STM32 标准函数库(24)
3.3.3IAR ARM开发环境的使用(36)
3.3.4IAR ARM程序的开发及在线调试(39)
3.4任务实践(44)
3.4.1开发设计(44)
3.4.2功能实现(45)
3.5任务小结(45)
3.6思考与拓展(45)
第2部分STM32嵌入式接口开发技术
任务4设备指示灯的设计与实现(48)
4.1开发场景:如何控制设备指示灯(48)
4.2开发目标(48)
4.3原理学习:STM32的GPIO功能与应用(48)
4.3.1STM32的GPIO(48)
4.3.2STM32的GPIO寄存器(53)
4.3.3常见GPIO的位操作(59)
4.4任务实践:设备指示灯控制的软硬件设计(60)
4.4.1开发设计(60)
4.4.2功能实现(62)
4.5任务验证(65)
4.6任务小结(65)
4.7思考与拓展(65)
任务5竞赛抢答器的设计与实现(66)
5.1开发场景:如何实现抢答器(66)
5.2开发目标(66)
5.3原理学习:STM32微处理器的中断(67)
5.3.1中断基本概念与定义(67)
5.3.2STM32中断应用概述(70)
5.3.3STM32的外部中断机制(74)
5.4任务实践:抢答器的软硬件设计(79)
5.4.1开发设计(79)
5.4.2功能实现(80)
5.5任务验证(82)
5.6任务小结(83)
5.7思考与拓展(83)
任务6电子时钟的设计与实现(84)
6.1开发场景:如何实现电子时钟(84)
6.2开发目标(84)
6.3原理学习:STM32定时计数器(84)
6.3.1定时计数器的基本原理(84)
6.3.2STM32定时器(85)
6.4任务实践:电子时钟的软硬件设计(93)
6.4.1开发设计(93)
6.4.2功能实现(94)
6.5任务验证(96)
6.6任务小结(96)
6.7思考与拓展(96)
任务7汽车电压指示器的设计与实现(97)
7.1开发场景:如何实现汽车电压指示器(97)
7.2开发目标(97)
7.3原理学习:STM32 ADC(98)
7.3.1AD转换(98)
7.3.2STM32的AD转换器(99)
7.4任务实践:汽车电压指示器的软硬件设计(108)
7.4.1开发设计(108)
7.4.2功能实现(109)
7.5任务验证(111)
7.6任务小结(112)
7.7思考与拓展(112)
任务8环境监测点自复位的设计与实现(113)
8.1开发场景:如何实现自复位设计(113)
8.2开发目标(113)
8.3原理学习:STM32看门狗(114)
8.3.1看门狗基本原理(114)
8.3.2STM32看门狗(115)
8.3.3STM32看门狗库函数的使用(119)
8.4任务实践:环境监测点自复位的软硬件设计(121)
8.4.1开发设计(121)
8.4.2功能实现(123)
8.5任务验证(125)
8.6任务小结(125)
8.7思考与拓展(125)
任务9视频监控中三维控制键盘的设计与实现(126)
9.1开发场景:如何实现视频监控中三维控制键盘(126)
9.2开发目标(126)
9.3原理学习:STM32串口(126)
9.3.1串口(126)
9.3.2STM32的USART(129)
9.3.3STM32串口库函数(137)
9.4任务实践:视频监控中三维控制键盘的软硬件设计(138)
9.4.1开发设计(138)
9.4.2功能实现(139)
9.5任务验证(142)
9.6任务小结(143)
9.7思考与拓展(143)
任务10农业大棚环境信息采集系统的设计与实现(144)
10.1开发场景:如何采集温湿度信息(144)
10.2开发目标(144)
10.3原理学习:STM32的I2C模块和温湿度传感器(145)
10.3.1I2C总线(145)
10.3.2STM32的I2C模块(148)
10.3.3STM32的I2C库函数的使用(152)
10.3.4温湿度传感器(153)
10.4任务实践:农业大棚环境信息采集系统的软硬件设计(157)
10.4.1开发设计(157)
10.4.2功能实现(159)
10.5任务验证(166)
10.6任务小结(167)
10.7思考与拓展(167)
任务11高速动态数据存取的设计与实现(168)
11.1开发场景:如何实现高速动态数据的存取(168)
11.2开发目标(168)
11.3原理学习:SPI总线协议和Flash存储器(168)
11.3.1SPI总线协议(168)
11.3.2Flash存储器(178)
11.4任务实践:高速动态数据存取的软硬件设计(184)
11.4.1开发设计(184)
11.4.2功能实现(185)
11.5任务验证(194)
11.6任务小结(195)
11.7思考与拓展(195)
任务12车载显示器的设计与实现(196)
12.1开发场景:如何实现车载显示器(196)
12.2开发目标(196)
12.3原理学习:STM32的FSMC模块和LCD模块(196)
12.3.1显示器(196)
12.3.2STM32的FSMC模块(198)
12.3.3STM32的FSMC模块库函数(205)
12.3.4ILI93xx系列TFT LCD(207)
12.4任务实践:车载显示器的软硬件设计(211)
12.4.1开发设计(211)
12.4.2功能实现(213)
12.5任务验证(225)
12.6任务小结(226)
12.7思考与拓展(226)
第3部分基于STM32和常用传感器开发
任务13传感器应用技术(228)
13.1学习场景:日常生活传感器的应用有哪些(228)
13.2开发目标(229)
13.3原理学习:传感器应用和发展趋势(229)
13.3.1传感器简述(229)
13.3.2传感器与物联网应用(231)
13.4任务小结(236)
13.5思考与拓展(236)
任务14温室大棚光照度测量系统的设计与实现(237)
14.1开发场景:如何实现光照度的测量(237)
14.2开发目标(237)
14.3原理学习:光敏传感器和I2C(238)
14.3.1光敏传感器(238)
14.3.2BH1750FVI -TR型光敏传感器(240)
14.3.3I2C总线和光照传感器(242)
14.4任务实践:光照度测量系统的软硬件设计(242)
14.4.1开发设计(242)
14.4.2功能实现(243)
14.5任务验证(250)
14.6任务小结(250)
14.7思考与拓展(251)
任务15探空气球测海拔的设计与实现(252)
15.1开发场景:如何实现气压海拔的测量(252)
15.2开发目标(252)
15.3原理学习:气压海拔传感器的工作原理与测量方法(253)
15.3.1气压海拔传感器(253)
15.3.2气压海拔传感器的工作原理(253)
15.3.3气压海拔传感器的海拔计算方法(253)
15.3.4FBM320型气压海拔传感器(254)
15.4任务实践:探空气球测海拔的软硬件设计(256)
15.4.1开发设计(256)
15.4.2功能实现(257)
15.5任务验证(263)
15.6任务小结(264)
15.7思考与拓展(264)
任务16建筑工地扬尘监测系统的设计与实现(265)
16.1开发场景:如何测量空气质量(265)
16.2开发目标(266)
16.3原理学习:半导体气体传感器和空气质量传感器(266)
16.3.1半导体气体传感器(266)
16.3.2MP503型空气质量传感器(267)
16.4任务实践:城市扬尘监测系统的软硬件设计(268)
16.4.1开发设计(268)
16.4.2功能实现(270)
16.5任务验证(271)
16.6任务小结(272)
16.7思考与拓展(272)
任务17VR设备动作捕捉系统的设计与实现(273)
17.1开发场景:如何实现动作捕捉(273)
17.2开发目标(273)
17.3原理学习:三轴加速度传感器与测量(274)
17.3.1人体运动模型(274)
17.3.2三轴加速度传感器(274)
17.3.3三轴加速度传感器的应用(275)
17.3.4LIS3DH型三轴加速度传感器(276)
17.3.5计步算法(279)
17.3.6获取传感器数据(280)
17.4任务实践:VR设备动作捕捉系统的软硬件设计(283)
17.4.1开发设计(283)
17.4.2功能实现(284)
17.5任务验证(287)
17.6任务小结(288)
17.7思考与拓展(288)
任务18扫地机器人避障系统的设计与实现(289)
18.1开发场景:如何应用红外距离传感器测量距离(289)
18.2开发目标(289)
18.3原理学习:距离传感器与测量(290)
18.3.1距离传感器(290)
18.3.2Sharp红外距离传感器(291)
18.4任务实践:扫地机器人避障系统的软硬件设计(293)
18.4.1开发设计(293)
18.4.2功能实现(294)
18.5任务验证(296)
18.6任务小结(297)
18.7思考与拓展(297)
任务19红外自动感应门的设计与实现(298)
|
內容試閱:
|
前 言
近年来,物联网、移动互联网、大数据和云计算的迅猛发展,慢慢改变了社会的生产方式,大大提高了生产效率。工业和信息化部《物联网发展规划(20162020年)》总结了十二五规划中物联网发展所取得的成就,并提出了十三五面临的形势,明确了物联网的发展思路和目标,提出了物联网发展的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月
|
|