基于STM32的嵌入式系统应用
出版时间:
2019-10
版次:
1
ISBN:
9787115517999
定价:
42.00
装帧:
平装
开本:
16开
纸张:
胶版纸
页数:
190页
38人买过
-
本书介绍了意法半导体公司出品的基于Arm Cortex-M3内核的STM32F103微控制器在工程实践中的应用。
全书分为基础篇和应用篇。基础篇介绍了嵌入式系统的基本概念、实训使用的软硬件平台、STM32的标准外设库、嵌入式C语言编程的特点、STM32系统时钟、彩色LCD显示基础、字符编码和显示字库等内容;应用篇依托STM32微控制器的主要外设、常用外围器件以及典型应用等设计了11个实训项目。
本书适合作为高职院校电子与控制类专业“嵌入式系统应用”等相关课程的教材,也可以作为工程技术人员学习STM32微控制器编程的快速入门参考书。 孙光,深圳职业技术学院电信学院副教授,毕业于武汉大学电气工程学院,硕士学位,长期从事嵌入式系统应用开发,具有丰富的企业经验。***教学资源库嵌入式技术教材组核心成员。 基础篇
第 1章 专题1——嵌入式系统概述 2
1.1 从单片机到嵌入式系统 2
1.2 精简指令集计算机与复杂指令集计算机 3
1.3 普林斯顿结构和哈佛结构 3
1.4 Arm公司及其微处理器 4
1.5 Arm Cortex系列处理器 5
1.6 STM32F103系列微控制器 8
第 2章 专题2——实训项目使用的软硬件平台 11
2.1 实训项目使用的软件集成开发环境 11
2.2 实训项目使用的仿真器 13
2.2.1 仿真器分类 13
2.2.2 JTAG和SWD接口 13
2.3 实训项目使用的目标板 15
2.4 实训项目使用的帆板角度测量与控制装置 15
第3章 专题3——CMSIS与STM32标准外设库 17
3.1 Arm Cortex微控制器软件接口标准CMSIS 17
3.2 关于STM32的标准外设库 18
3.3 STM32标准外设库的命名规则 23
第4章 专题4——STM32嵌入式C语言编程的特点 26
4.1 宏指令的使用及其意义 26
4.2 STM32嵌入式C语言编程中几个重要关键字 28
4.3 STM32嵌入式C语言编程的基本数据类型 30
4.4 结构体与指针 32
4.5 枚举 33
4.6 C语言编程的代码格式 34
第5章 专题5——STM32F10x微控制器的系统时钟 36
5.1 STM32F10x微控制器系统时钟的基本结构 36
5.2 STM32F10x微控制器的时钟源与配置路径 37
5.3 STM32F10x微控制器的总线时钟 40
5.4 STM32F10x微控制器系统时钟与外设时钟的配置方法 40
5.4.1 STM32F10x微控制器系统时钟的配置函数 40
5.4.2 STM32F10x微控制器外设时钟的控制 41
第6章 专题6——彩色LCD显示 42
6.1 彩色LCD显示与控制的基本原理 42
6.2 彩色LCD显示器的图形显示方法 43
6.3 彩色图片转换成C语言数组文件的方法 44
第7章 专题7——字符编码与显示字库 46
7.1 ASCII编码 46
7.2 汉字字符编码 51
7.3 字符在彩色LCD屏幕上的显示 52
7.4 显示字库与字符编码的关系 54
应用篇
第8章 实训项目1——LED闪烁 58
8.1 相关知识 58
8.2 项目实施 59
8.2.1 在MDK开发环境中新建项目 59
8.2.2 MDK工程项目配置 62
8.2.3 编译并下载运行 66
第9章 实训项目2——按键控制LED亮灭 67
9.1 相关知识 67
9.1.1 STM32F103微控制器通用输入/输出端口GPIO的基本结构 67
9.1.2 GPIO的工作模式 68
9.1.3 GPIO端口编程涉及的标准外设库函数 69
9.2 项目实施 70
9.2.1 硬件电路实现 70
9.2.2 程序设计思路 70
9.2.3 程序代码分析 71
9.3 拓展项目——按键控制LED闪烁频率 75
9.3.1 项目内容 75
9.3.2 项目提示 75
第 10章 实训项目3——按键控制LED闪烁频率(外部中断) 76
10.1 相关知识 76
10.1.1 STM32F103微控制器的中断系统 76
10.1.2 STM32F103微控制器的外部中断 80
10.1.3 外部中断编程涉及的标准外设库函数 81
10.2 项目实施 81
10.2.1 硬件电路设计 81
10.2.2 程序设计思路 82
10.2.3 程序代码分析 82
10.3 拓展项目——LED显示与按键动作的同步 88
10.3.1 项目内容 88
10.3.2 项目提示 88
第 11章 实训项目4——彩色LCD显示图片与文字 89
11.1 相关知识 89
11.1.1 STM32F103微控制器的FSMC 89
11.1.2 FSMC编程涉及的标准外设库函数 92
11.1.3 彩色LCD的驱动 92
11.2 项目实施 93
11.2.1 硬件电路设计 93
11.2.2 程序代码分析 93
11.3 拓展项目——按键控制字符串移动 98
11.3.1 项目内容 98
11.3.2 项目提示 98
第 12章 实训项目5——按键控制LED闪烁频率(定时器中断) 99
12.1 相关知识 99
12.1.1 STM32F103微控制器的定时器资源 99
12.1.2 STM32F103微控制器的通用定时器 100
12.1.3 通用定时器编程涉及的STM32标准外设库函数 101
12.2 项目实施 101
12.2.1 硬件电路实现 101
12.2.2 程序设计思路 101
12.2.3 程序代码分析 102
12.3 拓展项目——LED1呼吸灯(定时器中断) 107
12.3.1 项目内容 107
12.3.2 项目提示 107
第 13章 实训项目6——风扇转速的PWM控制 108
13.1 相关知识 108
13.1.1 脉冲宽度调制的基本原理 108
13.1.2 四线制直流风扇的控制方法 108
13.1.3 STM32通用定时器的PWM 109
13.1.4 STM32引脚的重映射 110
13.1.5 通用定时器PWM输出编程涉及的标准外设库函数 110
13.2 项目实施 110
13.2.1 硬件电路设计 110
13.2.2 程序设计思路 111
13.2.3 程序代码分析 111
第 14章 实训项目7——帆板角度与芯片温度检测 116
14.1 相关知识 116
14.1.1 电阻式角度传感器的原理 116
14.1.2 模拟/数字转换的过程 116
14.1.3 模拟数字转换的技术指标 118
14.1.4 逐次逼近型A/D转换器 118
14.1.5 STM32微控制器的模拟数字转换器ADC 120
14.1.6 ADC编程涉及的标准外设库函数 121
14.2 项目实施 122
14.2.1 硬件电路设计 122
14.2.2 程序设计思路 122
14.2.3 程序代码分析 123
14.3 拓展项目——利用规则通道检测芯片温度与内部参考电压 129
14.3.1 项目要求 129
14.3.2 项目提示 129
第 15章 实训项目8——帆板角度与芯片温度检测(DMA方式) 130
15.1 相关知识 130
15.1.1 DMA的基本概念 130
15.1.2 STM32F103ZE微控制器的DMA 131
15.1.3 DMA编程涉及的标准外设库函数 134
15.2 项目实施 135
15.2.1 硬件电路设计 135
15.2.2 程序设计思路 135
15.2.3 程序代码分析 135
15.3 拓展项目——存储器到存储器(M2M)数据传输 140
15.3.1 项目内容 140
15.3.2 项目提示 140
第 16章 实训项目9——串行通信控制风扇转速并获取帆板角度 142
16.1 相关知识 142
16.1.1 异步串行通信 142
16.1.2 STM32的通用同步/异步收发器(USART) 143
16.1.3 STM32的USART编程涉及的标准
外设库函数 144
16.2 项目实施 144
16.2.1 硬件电路设计 144
16.2.2 程序设计思路 145
16.2.3 串行通信协议 145
16.2.4 程序代码分析 146
16.2.5 使用串口调试助手进行操作 151
16.3 拓展项目——串口采用DMA方式发送字符 152
16.3.1 项目要求 152
16.3.2 项目提示 152
第 17章 实训项目10——Wi-Fi控制风扇转速并获取帆板角度 154
17.1 相关知识 154
17.1.1 ISO/OSI参考模型与TCP/IP协议 154
17.1.2 TCP/IP相关知识点 155
17.1.3 Wi-Fi及其三种工作模式 156
17.1.4 Wi-Fi模块ESP8266 156
17.1.5 ESP8266模块的控制指令 157
17.2 项目实施 158
17.2.1 硬件电路设计 158
17.2.2 程序设计思路 159
17.2.3 程序代码分析 159
17.2.4 使用手机端“网络调试助手”App进行遥控操作 167
第 18章 实训项目11——基于STM32的物联网云平台温度检测 169
18.1 相关知识 169
18.1.1 云服务及其分类 169
18.1.2 物联网云平台 171
18.1.3 中国移动物联网云平台OneNET 171
18.1.4 数据传输过程 172
18.1.5 本项目使用的ESP8266模块控制指令 174
18.2 项目实施 175
18.2.1 在OneNET云平台上搭建设备和应用 175
18.2.2 程序设计思路 184
18.2.3 程序代码分析 184
18.2.4 在桌面端或手机端观察云平台的温度数据 189
-
内容简介:
本书介绍了意法半导体公司出品的基于Arm Cortex-M3内核的STM32F103微控制器在工程实践中的应用。
全书分为基础篇和应用篇。基础篇介绍了嵌入式系统的基本概念、实训使用的软硬件平台、STM32的标准外设库、嵌入式C语言编程的特点、STM32系统时钟、彩色LCD显示基础、字符编码和显示字库等内容;应用篇依托STM32微控制器的主要外设、常用外围器件以及典型应用等设计了11个实训项目。
本书适合作为高职院校电子与控制类专业“嵌入式系统应用”等相关课程的教材,也可以作为工程技术人员学习STM32微控制器编程的快速入门参考书。
-
作者简介:
孙光,深圳职业技术学院电信学院副教授,毕业于武汉大学电气工程学院,硕士学位,长期从事嵌入式系统应用开发,具有丰富的企业经验。***教学资源库嵌入式技术教材组核心成员。
-
目录:
基础篇
第 1章 专题1——嵌入式系统概述 2
1.1 从单片机到嵌入式系统 2
1.2 精简指令集计算机与复杂指令集计算机 3
1.3 普林斯顿结构和哈佛结构 3
1.4 Arm公司及其微处理器 4
1.5 Arm Cortex系列处理器 5
1.6 STM32F103系列微控制器 8
第 2章 专题2——实训项目使用的软硬件平台 11
2.1 实训项目使用的软件集成开发环境 11
2.2 实训项目使用的仿真器 13
2.2.1 仿真器分类 13
2.2.2 JTAG和SWD接口 13
2.3 实训项目使用的目标板 15
2.4 实训项目使用的帆板角度测量与控制装置 15
第3章 专题3——CMSIS与STM32标准外设库 17
3.1 Arm Cortex微控制器软件接口标准CMSIS 17
3.2 关于STM32的标准外设库 18
3.3 STM32标准外设库的命名规则 23
第4章 专题4——STM32嵌入式C语言编程的特点 26
4.1 宏指令的使用及其意义 26
4.2 STM32嵌入式C语言编程中几个重要关键字 28
4.3 STM32嵌入式C语言编程的基本数据类型 30
4.4 结构体与指针 32
4.5 枚举 33
4.6 C语言编程的代码格式 34
第5章 专题5——STM32F10x微控制器的系统时钟 36
5.1 STM32F10x微控制器系统时钟的基本结构 36
5.2 STM32F10x微控制器的时钟源与配置路径 37
5.3 STM32F10x微控制器的总线时钟 40
5.4 STM32F10x微控制器系统时钟与外设时钟的配置方法 40
5.4.1 STM32F10x微控制器系统时钟的配置函数 40
5.4.2 STM32F10x微控制器外设时钟的控制 41
第6章 专题6——彩色LCD显示 42
6.1 彩色LCD显示与控制的基本原理 42
6.2 彩色LCD显示器的图形显示方法 43
6.3 彩色图片转换成C语言数组文件的方法 44
第7章 专题7——字符编码与显示字库 46
7.1 ASCII编码 46
7.2 汉字字符编码 51
7.3 字符在彩色LCD屏幕上的显示 52
7.4 显示字库与字符编码的关系 54
应用篇
第8章 实训项目1——LED闪烁 58
8.1 相关知识 58
8.2 项目实施 59
8.2.1 在MDK开发环境中新建项目 59
8.2.2 MDK工程项目配置 62
8.2.3 编译并下载运行 66
第9章 实训项目2——按键控制LED亮灭 67
9.1 相关知识 67
9.1.1 STM32F103微控制器通用输入/输出端口GPIO的基本结构 67
9.1.2 GPIO的工作模式 68
9.1.3 GPIO端口编程涉及的标准外设库函数 69
9.2 项目实施 70
9.2.1 硬件电路实现 70
9.2.2 程序设计思路 70
9.2.3 程序代码分析 71
9.3 拓展项目——按键控制LED闪烁频率 75
9.3.1 项目内容 75
9.3.2 项目提示 75
第 10章 实训项目3——按键控制LED闪烁频率(外部中断) 76
10.1 相关知识 76
10.1.1 STM32F103微控制器的中断系统 76
10.1.2 STM32F103微控制器的外部中断 80
10.1.3 外部中断编程涉及的标准外设库函数 81
10.2 项目实施 81
10.2.1 硬件电路设计 81
10.2.2 程序设计思路 82
10.2.3 程序代码分析 82
10.3 拓展项目——LED显示与按键动作的同步 88
10.3.1 项目内容 88
10.3.2 项目提示 88
第 11章 实训项目4——彩色LCD显示图片与文字 89
11.1 相关知识 89
11.1.1 STM32F103微控制器的FSMC 89
11.1.2 FSMC编程涉及的标准外设库函数 92
11.1.3 彩色LCD的驱动 92
11.2 项目实施 93
11.2.1 硬件电路设计 93
11.2.2 程序代码分析 93
11.3 拓展项目——按键控制字符串移动 98
11.3.1 项目内容 98
11.3.2 项目提示 98
第 12章 实训项目5——按键控制LED闪烁频率(定时器中断) 99
12.1 相关知识 99
12.1.1 STM32F103微控制器的定时器资源 99
12.1.2 STM32F103微控制器的通用定时器 100
12.1.3 通用定时器编程涉及的STM32标准外设库函数 101
12.2 项目实施 101
12.2.1 硬件电路实现 101
12.2.2 程序设计思路 101
12.2.3 程序代码分析 102
12.3 拓展项目——LED1呼吸灯(定时器中断) 107
12.3.1 项目内容 107
12.3.2 项目提示 107
第 13章 实训项目6——风扇转速的PWM控制 108
13.1 相关知识 108
13.1.1 脉冲宽度调制的基本原理 108
13.1.2 四线制直流风扇的控制方法 108
13.1.3 STM32通用定时器的PWM 109
13.1.4 STM32引脚的重映射 110
13.1.5 通用定时器PWM输出编程涉及的标准外设库函数 110
13.2 项目实施 110
13.2.1 硬件电路设计 110
13.2.2 程序设计思路 111
13.2.3 程序代码分析 111
第 14章 实训项目7——帆板角度与芯片温度检测 116
14.1 相关知识 116
14.1.1 电阻式角度传感器的原理 116
14.1.2 模拟/数字转换的过程 116
14.1.3 模拟数字转换的技术指标 118
14.1.4 逐次逼近型A/D转换器 118
14.1.5 STM32微控制器的模拟数字转换器ADC 120
14.1.6 ADC编程涉及的标准外设库函数 121
14.2 项目实施 122
14.2.1 硬件电路设计 122
14.2.2 程序设计思路 122
14.2.3 程序代码分析 123
14.3 拓展项目——利用规则通道检测芯片温度与内部参考电压 129
14.3.1 项目要求 129
14.3.2 项目提示 129
第 15章 实训项目8——帆板角度与芯片温度检测(DMA方式) 130
15.1 相关知识 130
15.1.1 DMA的基本概念 130
15.1.2 STM32F103ZE微控制器的DMA 131
15.1.3 DMA编程涉及的标准外设库函数 134
15.2 项目实施 135
15.2.1 硬件电路设计 135
15.2.2 程序设计思路 135
15.2.3 程序代码分析 135
15.3 拓展项目——存储器到存储器(M2M)数据传输 140
15.3.1 项目内容 140
15.3.2 项目提示 140
第 16章 实训项目9——串行通信控制风扇转速并获取帆板角度 142
16.1 相关知识 142
16.1.1 异步串行通信 142
16.1.2 STM32的通用同步/异步收发器(USART) 143
16.1.3 STM32的USART编程涉及的标准
外设库函数 144
16.2 项目实施 144
16.2.1 硬件电路设计 144
16.2.2 程序设计思路 145
16.2.3 串行通信协议 145
16.2.4 程序代码分析 146
16.2.5 使用串口调试助手进行操作 151
16.3 拓展项目——串口采用DMA方式发送字符 152
16.3.1 项目要求 152
16.3.2 项目提示 152
第 17章 实训项目10——Wi-Fi控制风扇转速并获取帆板角度 154
17.1 相关知识 154
17.1.1 ISO/OSI参考模型与TCP/IP协议 154
17.1.2 TCP/IP相关知识点 155
17.1.3 Wi-Fi及其三种工作模式 156
17.1.4 Wi-Fi模块ESP8266 156
17.1.5 ESP8266模块的控制指令 157
17.2 项目实施 158
17.2.1 硬件电路设计 158
17.2.2 程序设计思路 159
17.2.3 程序代码分析 159
17.2.4 使用手机端“网络调试助手”App进行遥控操作 167
第 18章 实训项目11——基于STM32的物联网云平台温度检测 169
18.1 相关知识 169
18.1.1 云服务及其分类 169
18.1.2 物联网云平台 171
18.1.3 中国移动物联网云平台OneNET 171
18.1.4 数据传输过程 172
18.1.5 本项目使用的ESP8266模块控制指令 174
18.2 项目实施 175
18.2.1 在OneNET云平台上搭建设备和应用 175
18.2.2 程序设计思路 184
18.2.3 程序代码分析 184
18.2.4 在桌面端或手机端观察云平台的温度数据 189
查看详情
-
全新
北京市丰台区
平均发货23小时
成功完成率91.62%
-
九五品
浙江省杭州市
平均发货15小时
成功完成率82.35%
-
九五品
浙江省杭州市
平均发货26小时
成功完成率91.67%
-
八五品
山东省济南市
平均发货11小时
成功完成率90.46%
-
全新
四川省成都市
平均发货26小时
成功完成率86.16%
-
全新
河北省保定市
平均发货26小时
成功完成率89.89%
-
全新
-
全新
河北省保定市
平均发货24小时
成功完成率89.11%
-
全新
河北省保定市
平均发货26小时
成功完成率86.13%
-
全新
山东省济宁市
平均发货66小时
成功完成率80.76%
-
基于STM32的嵌入式系统应用
买书,就上二手书海官方企业店,清仓处理,真实库存,特价正版,收藏店铺,优先发货! ps:下午三点之前的订单当天发货,之后明天发货,特殊情况除外。
八五品
河南省鹤壁市
平均发货26小时
成功完成率89.04%
-
八五品
河南省鹤壁市
平均发货23小时
成功完成率85.93%
-
八五品
河南省鹤壁市
平均发货21小时
成功完成率91.34%
-
全新
上海市长宁区
平均发货15小时
成功完成率72.41%
-
全新
江苏省苏州市
平均发货9小时
成功完成率94.65%
-
八五品
山东省滨州市
平均发货18小时
成功完成率88.27%
-
八五品
重庆市沙坪坝区
平均发货11小时
成功完成率87.02%
-
八五品
重庆市沙坪坝区
平均发货11小时
成功完成率87.02%
-
八五品
重庆市沙坪坝区
平均发货10小时
成功完成率77.67%
-
八五品
山东省枣庄市
平均发货12小时
成功完成率85.21%
-
全新
北京市海淀区
平均发货21小时
成功完成率85.53%
-
全新
北京市丰台区
平均发货21小时
成功完成率88.32%
-
八五品
山东省枣庄市
平均发货12小时
成功完成率88.72%
-
八五品
山东省滨州市
平均发货17小时
成功完成率91.54%
-
全新
北京市丰台区
平均发货23小时
成功完成率91.62%
-
全新
河北省保定市
平均发货23小时
成功完成率92.76%
-
八五品
山东省滨州市
平均发货16小时
成功完成率84.82%
-
全新
河北省保定市
平均发货30小时
成功完成率79.86%
-
九五品
江苏省苏州市
平均发货16小时
成功完成率96.52%
-
全新
山东省潍坊市
平均发货7小时
成功完成率83.94%
-
八五品
四川省成都市
平均发货12小时
成功完成率91.78%
-
八五品
重庆市沙坪坝区
平均发货13小时
成功完成率89.67%
-
全新
北京市海淀区
平均发货15小时
成功完成率88.35%
-
全新
江苏省无锡市
平均发货6小时
成功完成率96.19%
-
八五品
湖南省长沙市
平均发货14小时
成功完成率91.8%
-
九品
北京市昌平区
平均发货21小时
成功完成率86.96%
-
九五品
北京市朝阳区
平均发货18小时
成功完成率94.98%
-
八五品
重庆市沙坪坝区
平均发货11小时
成功完成率91.5%
-
全新
北京市东城区
平均发货32小时
成功完成率82.01%
-
九五品
湖南省长沙市
平均发货14小时
成功完成率91.8%
-
全新
广东省广州市
平均发货8小时
成功完成率95.01%
-
全新
天津市西青区
平均发货16小时
成功完成率76.07%
-
全新
广东省广州市
平均发货8小时
成功完成率86.91%
-
九品
广西南宁市
平均发货7小时
成功完成率90.25%
-
七品
吉林省吉林市
平均发货10小时
成功完成率81.42%
-
全新
江苏省南京市
平均发货15小时
成功完成率82.45%
-
全新
江苏省南京市
平均发货7小时
成功完成率96.38%
-
全新
江苏省南京市
平均发货7小时
成功完成率97.26%
-
八五品
河南省郑州市
平均发货10小时
成功完成率92.63%
-
八五品
河南省郑州市
平均发货10小时
成功完成率93.3%