注册 登录 进入教材巡展
#
  • #

出版时间:2026-06-11

出版社:机械工业出版社

以下为《嵌入式系统设计与工程实践》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111806011
  • 1-1
  • 2026-06-11
  • 428
内容简介
本书以“新工科”教育理念为指导,以产教融合为突破口,面向产业需求,全面重构课程内容,将产业界的新技术引入教学。从科研、教学和工程实际应用出发,理论联系实际,采用性价比高的开发板、仿真器和传感器模块,全面系统地讲述了嵌入式系统及STM32F103微控制器的应用。
本书共分10章,主要内容包括嵌入式系统概述、STM32F103微控制器与开发平台、GPIO与应用实例、外部中断与应用实例、通用定时器与应用实例、USART与应用实例、I2C接口与串行EEPROM应用实例、ADC及其应用实例、DMA及其应用实例、STM32F103与传感器模块应用设计案例。本书内容丰富、体系先进、结构合理、理论与实践相结合,尤其注重工程实践应用,讲述的应用实例和传感器模块应用设计案例很容易用在实际的工程项目、课程设计和编译设计中。
本书可作为高等院校自动化、机器人、人工智能、电子与电气工程、物联网等相关专业的本、专科生的教材和课程设计、毕业设计的参考书,也适合从事STM32嵌入式系统开发的工程技术人员参考。
本书配有电子课件、教学大纲、习题参考答案、试卷及参考答案等电子配套资源,欢迎选用本书作为教材的教师登录机械工业出版社教育服务网(www.cmpedu.com)下载,也可联系编辑索取(微信:18515977506,电话:010-88379753)。
目录
前言
第1章 嵌入式系统概述 1
1.1 嵌入式系统的概念 1
1.1.1 嵌入式系统的发展历程 2
1.1.2 嵌入式系统的特点 3
1.2 嵌入式系统的组成 4
1.3 嵌入式系统的软件 5
1.3.1 无操作系统的嵌入式软件 5
1.3.2 带操作系统的嵌入式软件 5
1.3.3 嵌入式操作系统的分类 6
1.3.4 嵌入式实时操作系统的功能 7
1.3.5 典型嵌入式操作系统 7
1.4 嵌入式系统的体系 10
1.4.1 硬件架构 10
1.4.2 软件层次 11
1.5 嵌入式系统应用实例 13
1.5.1 智能机器人 13
1.5.2 智能终端 14
1.5.3 数智工厂 14
1.5.4 空间站 15
1.5.5 自动驾驶 15
1.5.6 智能家用呼吸机 16
1.5.7 智能家居控制系统 16
1.5.8 国防工业 17
1.6 ARM嵌入式微处理器 17
1.6.1 ARM概述 17
1.6.2 ARM体系结构与特点 18
1.6.3 Cortex-M3处理器的主要特性 19
第2章 STM32F103微控制器与开发平台 21
2.1 STM32 微控制器概述 21
2.1.1 STM32系列微控制器产品 22
2.1.2 STM32系列微控制器的命名规则 24
2.2 STM32F1系列产品系统构架和STM32F103内部架构 27
2.2.1 STM32F1系列产品系统架构 27
2.2.2 STM32F103的内部架构 29
2.3 STM32F103的存储器映像 32
2.3.1 STM32F103内置外设的地址范围 32
2.3.2 嵌入式SRAM 35
2.4 STM32F103的时钟结构 35
2.5 STM32F103C8T6介绍 37
2.5.1 STM32F103C8T6引脚定义 38
2.5.2 STM32F103C8T6片内资源 40
2.6 STM32F103C8T6微控制器最小系统设计 41
2.6.1 电源电路 41
2.6.2 复位电路 42
2.6.3 时钟电路 44
2.6.4 启动模式设置电路 45
2.6.5 编程接口电路 46
2.6.6 STM32F103C8T6 最小系统核心电路 47
2.7 STM32F103C8T6开发板和仿真器 48
2.7.1 STM32F103C8T6开发板 48
2.7.2 STM32F103C8T6仿真器 50
2.8 传感器模块 52
2.9 Keil MDK集成开发环境 54
2.9.1 Keil MDK集成开发环境介绍 54
2.9.2 Keil MDK集成开发环境的开发优势 56
第3章 GPIO与应用实例 57
3.1 通用输入输出接口概述 57
3.2 STM32F103的GPIO功能 59
3.2.1 STM32F103普通I/O功能 59
3.2.2 STM32F103单独的位设置或位清除 60
3.2.3 STM32F103外部中断/唤醒线 60
3.2.4 STM32F103复用功能 60
3.2.5 STM32F103软件重映射I/O复用功能 60
3.2.6 STM32F103的GPIO锁定机制 60
3.2.7 STM32F103输入配置 61
3.2.8 STM32F103输出配置 61
3.2.9 STM32F103复用功能配置 62
3.2.10 STM32F103模拟输入配置 62
3.2.11 STM32F103的GPIO操作 63
3.3 GPIO的HAL库函数 64
3.4 STM32F103的GPIO使用流程 67
3.4.1 普通GPIO配置 67
3.4.2 I/O复用功能AFIO配置 67
3.5 STM32F103的跑马灯应用实例 67
3.5.1 跑马灯应用实例硬件设计 67
3.5.2 跑马灯应用实例软件设计 68
3.6 STM32F103的按键输入应用实例 74
3.6.1 STM32F103的按键输入应用实例硬件设计 74
3.6.2 STM32F103的按键输入应用实例软件设计 75
第4章 外部中断与应用实例 82
4.1 STM32F103中断系统 82
4.1.1 嵌套向量中断控制器(NVIC) 83
4.1.2 STM32F103中断优先级 83
4.1.3 STM32F103中断向量表 84
4.1.4 STM32F103中断服务程序 86
4.2 STM32F103外部中断/事件控制器EXTI 87
4.2.1 STM32F103的EXTI内部结构 87
4.2.2 STM32F103的EXTI工作原理 89
4.2.3 EXTI主要特性 89
4.3 外部中断的HAL驱动函数 90
4.3.1 中断设置相关HAL驱动函数 90
4.3.2 外部中断相关HAL函数 91
4.4 STM32F103外部中断设计流程 93
4.5 STM32F103的外部中断应用实例 95
4.5.1 STM32F103的外部中断应用实例硬件设计 95
4.5.2 STM32F103的外部中断应用实例软件设计 95
第5章 通用定时器与应用实例 102
5.1 STM32F103定时器概述 102
5.2 STM32F103通用定时器 103
5.2.1 STM32F103通用定时器概述 104
5.2.2 STM32F103通用定时器的主要功能 104
5.2.3 STM32F103通用定时器的功能描述 104
5.2.4 STM32F103通用定时器的工作模式 108
5.2.5 STM32F103通用定时器的寄存器 111
5.3 定时器的HAL库函数 111
5.3.1 基础定时器 HAL驱动函数 111
5.3.2 外设中断处理与HAL驱动程序宏函数解析 116
5.4 STM32F103通用定时器应用实例 119
5.4.1 STM32的通用定时器配置流程 120
5.4.2 STM32F103通用定时器应用实例硬件设计 122
5.4.3 STM32F103通用定时器应用实例软件设计 122
第6章 USART与应用实例 129
6.1 STM32的USART工作原理 129
6.1.1 STM32的USART概述 129
6.1.2 STM32的USART的主要特性 130
6.1.3 STM32的USART功能 131
6.1.4 STM32的USART串行通信时序 132
6.1.5 STM32的USART中断 133
6.1.6 STM32的USART相关寄存器 133
6.2 USART的HAL驱动函数 134
6.2.1 STM32的USART常用功能函数 134
6.2.2 STM32的USART常用宏函数 137
6.2.3 STM32的中断事件与回调函数 138
6.3 STM32的USART串行通信应用实例 139
6.3.1 STM32的USART基本配置流程 139
6.3.2 USART串行通信应用实例的硬件设计 142
6.3.3 USART串行通信应用实例的软件设计 142
第7章 I2C接口与串行EEPROM应用实例 153
7.1 STM32的I2C通信原理 153
7.1.1 I2C控制器介绍 153
7.1.2 I2C总线的数据传送 154
7.2 STM32F103的I2C接口 158
7.2.1 STM32F103的I2C的主要特性 158
7.2.2 STM32F103的I2C的内部结构 158
7.2.3 STM32F103的模式选择 159
7.3 I2C的HAL驱动函数 159
7.3.1 I2C接口的初始化 160
7.3.2 I2C阻塞式数据传输 160
7.3.3 I2C中断方式数据传输 162
7.3.4 I2C的DMA方式数据传输 162
7.4 I2C串行EEPROM应用实例 163
7.4.1 STM32的I2C配置 163
7.4.2 I2C串行EEPROM应用实例的硬件设计 163
7.4.3 I2C串行EEPROM应用实例的软件设计 164
第8章 ADC及其应用实例 170
8.1 STM32F103的内部集成ADC 170
8.1.1 STM32F103的ADC的主要特征 171
8.1.2 STM32F103的ADC模块结构 171
8.1.3 STM32F103的ADC 配置 171
8.1.4 STM32F1的ADC应用特征 174
8.2 ADC的HAL驱动函数 177
8.2.1 ADC的规则通道驱动函数 177
8.2.2 ADC的注入通道驱动函数 180
8.3 STM32的ADC单通道转换应用实例 181
8.3.1 STM32的ADC配置流程 181
8.3.2 STM32的ADC单通道转换应用实例硬件设计 182
8.3.3 STM32的ADC单通道转换应用实例软件设计 182
第9章 DMA及其应用实例 191
9.1 STM32的DMA的结构和主要特征 191
9.2 STM32的DMA的功能 193
9.2.1 STM32的DMA的处理机制 193
9.2.2 STM32的仲裁器 193
9.2.3 STM32的DMA通道 193
9.2.4 STM32的DMA中断 194
9.3 DMA的HAL驱动函数 195
9.3.1 DMA的HAL驱动函数概述 195
9.3.2 DMA传输初始化配置 196
9.3.3 启动DMA数据传输 197
9.3.4 DMA的中断 198
9.4 STM32的DMA应用实例 199
9.4.1 STM32的DMA配置流程 199
9.4.2 STM32的DMA应用实例硬件设计 202
9.4.3 STM32的DMA应用实例软件设计 202
第10章 STM32F103与传感器模块应用设计案例 209
10.1 STM32F103和ATK-MB001光敏传感器模块应用设计案例 209
10.1.1 ATK-MB001光敏传感器模块概述 209
10.1.2 ATK-MB001光敏传感器模块的使用 210
10.1.3 ATK-MB001光敏传感器模块的功能测试 212
10.2 STM32F103和热敏传感器模块应用设计案例 213
10.2.1 ATK-MB002热敏传感器模块概述 213
10.2.2 ATK-MB002热敏传感器模块的使用 214
10.2.3 ATK-MB002热敏传感器模块的功能测试 216
10.3 STM32F103和蜂鸣器模块应用设计案例 218
10.3.1 ATK-MB003有源蜂鸣器模块概述 218
10.3.2 ATK-MB003蜂鸣器模块的使用 218
10.3.3 ATK-MB003蜂鸣器模块的功能测试 220
10.4 STM32F103和循迹模块应用设计案例 221
10.4.1 ATK-MB004循迹模块概述 221
10.4.2 ATK-MB004循迹模块的使用 222
10.4.3 ATK-MB004循迹模块的功能测试 223
10.5 STM32F103和烟雾传感器模块应用设计案例 225
10.5.1 ATK-MB005烟雾传感器模块概述 225
10.5.2 ATK-MB005烟雾传感器模块的使用 225
10.5.3 ATK-MB005烟雾传感器模块的功能测试 227
10.6 STM32F103和空气质量传感器模块应用设计案例 228
10.6.1 ATK-MB006空气质量传感器模块概述 228
10.6.2 ATK-MB006 空气质量传感器模块的使用 229
10.6.3 ATK-MB006空气质量传感器模块的功能测试 230
10.7 STM32F103和雨量传感器模块应用设计案例 232
10.7.1 ATK-MB009雨量传感器模块概述 232
10.7.2 ATK-MB009雨量传感器模块的使用 233
10.7.3 ATK-MB009雨量传感器模块的功能测试 234
10.8 STM32F103和气压计模块应用设计案例 236
10.8.1 ATK-MB017气压计模块概述 236
10.8.2 ATK-MB017气压计模块的使用 236
10.8.3 ATK-MB017气压计模块的功能测试 238
10.9 STM32F103和六轴陀螺仪模块应用设计案例 239
10.9.1 ATK-MB018 六轴陀螺仪模块概述 239
10.9.2 ATK-MB018六轴陀螺仪模块的使用 240
10.9.3 ATK-MB018六轴陀螺仪模块的功能测试 242
10.10 STM32F103和心率血氧模块应用设计案例 243
10.10.1 ATK-MB020心率血氧模块概述 243
10.10.2 ATK-MB020心率血氧模块的使用 244
10.10.3 心率和血氧饱和度测量原理 246
10.10.4 MAX30102驱动流程 247
10.10.5 ATK-MB020心率血氧模块的功能测试 247
习题 250
参考文献 253