基于构件化的嵌入式系统设计——STM32微控制器
定价:¥59.80
作者: 索明何,邢海霞,王宜怀
出版时间:2025-02
出版社:机械工业出版社
- 机械工业出版社
- 9787893863486
- 562038
- 2025-02
- 电子与信息大类
- 电子信息类
- 电子信息
- 高职
内容简介
本书以“项目目标、知识准备、项目实施、拓展学习、评价反馈”的项目化方式组织内容,按照“搭积木”的设计思想,共设计了8个项目:GPIO基础应用——实现闪灯和开关状态检测与控制功能;利用定时中断实现频闪灯;GPIO和定时器的综合应用——实现数码管显示、键盘检测与控制、测温功能;利用UART实现上位机和下位机的通信;利用Timer实现PWM和输入捕获功能;利用ADC设计简易数字电压表;利用SPI实现多机串行通信;利用CAN实现多机通信。每个项目均采用“通用知识”→“嵌入式构件设计”→“应用层程序设计”→“学以致用与创新”的学习流程,最后可利用8个项目中的部分项目或全部项目进行综合应用系统设计和课程考核。本书注重理论与实践相结合,突出“学以致用”,注重培养创新意识和创新能力。
本书可作为高等院校电子信息类、计算机类、自动化类等专业的嵌入式系统设计教材,也可作为嵌入式技术培训教材,还可供从事嵌入式技术开发的工程技术人员参考。
未经许可,不得以任何方式复制或抄袭本书的任何内容(含文字、创意、版式、案例和设计等),书中配套资源不得用于在线课程建设、微课制作等。版权所有,侵权必究。
本书可作为高等院校电子信息类、计算机类、自动化类等专业的嵌入式系统设计教材,也可作为嵌入式技术培训教材,还可供从事嵌入式技术开发的工程技术人员参考。
未经许可,不得以任何方式复制或抄袭本书的任何内容(含文字、创意、版式、案例和设计等),书中配套资源不得用于在线课程建设、微课制作等。版权所有,侵权必究。
目录
前言
项目1 GPIO基础应用——实现闪灯和开关状态检测与控制功能
项目目标
知识准备
任务1.1 熟悉嵌入式系统和课程学习方法
1.1.1 嵌入式系统的概念和组成
1.1.2 嵌入式系统的知识体系和学习建议
任务1.2 熟悉MCU资源和硬件最小系统
1.2.1 STM32F1系列MCU简介
1.2.2 MCU存储映射、引脚功能与硬件最小系统
任务1.3 掌握MCU的GPIO底层驱动构件使用方法
1.3.1 GPIO的通用知识
1.3.2 MCU的GPIO底层驱动构件使用方法
项目实施
任务1.4 嵌入式构件化设计及闪灯的实现
1.4.1 小灯硬件构件和软件构件的设计及使用方法
1.4.2 嵌入式软件最小系统设计——实现闪灯
任务1.5 开关状态检测与控制功能的设计与实现
1.5.1 开关硬件构件和软件构件的设计及使用方法
1.5.2 开关状态检测与控制功能的应用层程序设计
拓展学习
*任务1.6 熟悉MCU的GPIO底层驱动构件源文件
评价反馈
项目2 利用定时中断实现频闪灯
项目目标
知识准备
任务2.1 理解定时器的定时原理
任务2.2 理解中断的通用知识
2.2.1 中断的基本概念
2.2.2 中断的基本过程
2.2.3 CM3的非内核模块中断管理机制
项目实施
任务2.3 利用Timer定时中断实现频闪灯
2.3.1 MCU的Timer基本定时底层驱动构件的使用方法
2.3.2 利用Timer定时中断实现频闪灯的应用层程序设计
任务2.4 利用内核定时器(SysTick Timer)中断实现频闪灯
2.4.1 SysTick的功能特性及其底层驱动构件的使用方法
2.4.2 利用SysTick定时中断实现频闪灯的应用层程序设计
拓展学习
*任务2.5 熟悉MCU的定时器底层驱动构件源文件
2.5.1 MCU的Timer基本定时底层驱动构件源文件
2.5.2 MCU的SysTick定时器底层驱动构件源文件
评价反馈
项目3 GPIO和定时器的综合应用——实现数码管显示、键盘检测与控制、测温功能
项目目标
知识准备
任务3.1 掌握数码管的通用知识
任务3.2 掌握键盘的通用知识
3.2.1 键盘的基本问题
3.2.2 键盘的两种接口方式
任务3.3 基于TM1637的数码管和键盘构件设计
3.3.1 基于TM1637的数码管和键盘硬件构件设计
3.3.2 基于TM1637的数码管和键盘软件构件的组成及使用方法
项目实施
任务3.4 基于TM1637的数码管显示的应用层程序设计
3.4.1 使用软件延时实现数码管先后显示不同的数据
3.4.2 使用定时中断实现数码管先后显示不同的数据
任务3.5 基于TM1637的键盘检测与控制的应用层程序设计
3.5.1 键盘检测与控制的查询程序流程
3.5.2 应用实例参考程序
任务3.6 基于DS18B20的测温功能设计与实现
3.6.1 DS18B20的主要特点和基于DS18B20的测温硬件构件设计
3.6.2 基于DS18B20的测温软件构件的组成及使用方法
3.6.3 基于DS18B20的测温功能应用层程序设计
拓展学习
*任务3.7 基于TM1637的数码管和键盘软件构件源文件的设计
*任务3.8 基于DS18B20的测温软件构件源文件的设计
评价反馈
项目4 利用UART实现上位机和下位机的通信
项目目标
知识准备
任务4.1 理解UART的通用知识
任务4.2 掌握MCU的UART底层驱动构件使用方法
4.2.1 MCU的UART主要特性和引脚
4.2.2 MCU的UART底层驱动构件的组成及使用方法
项目实施
任务4.3 UART通信应用层程序设计与功能测试
4.3.1 UART通信的应用层程序设计
4.3.2 UART通信的测试方法
4.3.3 使用printf函数输出数据
拓展学习
*任务4.4 熟悉MCU的UART底层驱动构件源文件
评价反馈
项目5 利用Timer实现PWM和输入捕获功能
项目目标
知识准备
任务5.1 理解PWM和输入捕获的通用知识
5.1.1 PWM的通用知识
5.1.2 输入捕获的通用知识
任务5.2 掌握Timer_PWM_INCAP底层驱动构件使用方法
5.2.1 MCU的Timer通道引脚
5.2.2 Timer_PWM_INCAP底层驱动构件的组成及使用方法
项目实施
任务5.3 利用PWM控制小灯的亮度
任务5.4 利用输入捕获测量脉冲信号的周期和脉宽
拓展学习
*任务5.5 熟悉Timer_PWM_INCAP底层驱动构件源文件
评价反馈
项目6 利用ADC设计简易数字电压表
项目目标
知识准备
任务6.1 理解ADC的通用知识
任务6.2 掌握MCU的ADC底层驱动构件使用方法
6.2.1 MCU的ADC主要特性和引脚
6.2.2 MCU的ADC底层驱动构件的组成及使用方法
项目实施
任务6.3 简易数字电压表的设计
6.3.1 简易数字电压表的硬件电路组成和工作原理
6.3.2 简易数字电压表的应用层程序设计
拓展学习
*任务6.4 熟悉MCU的ADC底层驱动构件源文件
评价反馈
项目7 利用SPI实现多机串行通信
项目目标
知识准备
任务7.1 理解SPI的通用知识
7.1.1 SPI的相关概念
7.1.2 SPI的通信过程与通信时序
任务7.2 掌握MCU的SPI底层驱动构件使用方法
7.2.1 MCU的SPI主要特性和引脚
7.2.2 MCU的SPI底层驱动构件的组成及使用方法
项目实施
任务7.3 SPI多机通信的应用层程序设计
拓展学习
*任务7.4 熟悉MCU的SPI底层驱动构件源文件
评价反馈
项目8 利用CAN实现多机通信
项目目标
知识准备
任务8.1 理解CAN的通用知识
8.1.1 CAN系统的总体构成和CAN节点的硬件结构
8.1.2 CAN的网络通信原理
8.1.3 CAN的优点
任务8.2 掌握MCU的CAN底层驱动构件使用方法
8.2.1 MCU的CAN主要特性和引脚
8.2.2 MCU的CAN底层驱动构件的组成及使用方法
项目实施
任务8.3 多机之间的CAN通信应用层程序设计与功能测试
拓展学习
*任务8.4 熟悉MCU的CAN底层驱动构件源文件
评价反馈
附录
附录A Keil MDK集成开发环境使用方法
A.1 软件的下载和安装
A.2 软件的简明使用方法
附录B J-Flash软件的简明使用方法
附录C 时钟系统及配置
参考文献
学习笔记
项目1 GPIO基础应用——实现闪灯和开关状态检测与控制功能
项目目标
知识准备
任务1.1 熟悉嵌入式系统和课程学习方法
1.1.1 嵌入式系统的概念和组成
1.1.2 嵌入式系统的知识体系和学习建议
任务1.2 熟悉MCU资源和硬件最小系统
1.2.1 STM32F1系列MCU简介
1.2.2 MCU存储映射、引脚功能与硬件最小系统
任务1.3 掌握MCU的GPIO底层驱动构件使用方法
1.3.1 GPIO的通用知识
1.3.2 MCU的GPIO底层驱动构件使用方法
项目实施
任务1.4 嵌入式构件化设计及闪灯的实现
1.4.1 小灯硬件构件和软件构件的设计及使用方法
1.4.2 嵌入式软件最小系统设计——实现闪灯
任务1.5 开关状态检测与控制功能的设计与实现
1.5.1 开关硬件构件和软件构件的设计及使用方法
1.5.2 开关状态检测与控制功能的应用层程序设计
拓展学习
*任务1.6 熟悉MCU的GPIO底层驱动构件源文件
评价反馈
项目2 利用定时中断实现频闪灯
项目目标
知识准备
任务2.1 理解定时器的定时原理
任务2.2 理解中断的通用知识
2.2.1 中断的基本概念
2.2.2 中断的基本过程
2.2.3 CM3的非内核模块中断管理机制
项目实施
任务2.3 利用Timer定时中断实现频闪灯
2.3.1 MCU的Timer基本定时底层驱动构件的使用方法
2.3.2 利用Timer定时中断实现频闪灯的应用层程序设计
任务2.4 利用内核定时器(SysTick Timer)中断实现频闪灯
2.4.1 SysTick的功能特性及其底层驱动构件的使用方法
2.4.2 利用SysTick定时中断实现频闪灯的应用层程序设计
拓展学习
*任务2.5 熟悉MCU的定时器底层驱动构件源文件
2.5.1 MCU的Timer基本定时底层驱动构件源文件
2.5.2 MCU的SysTick定时器底层驱动构件源文件
评价反馈
项目3 GPIO和定时器的综合应用——实现数码管显示、键盘检测与控制、测温功能
项目目标
知识准备
任务3.1 掌握数码管的通用知识
任务3.2 掌握键盘的通用知识
3.2.1 键盘的基本问题
3.2.2 键盘的两种接口方式
任务3.3 基于TM1637的数码管和键盘构件设计
3.3.1 基于TM1637的数码管和键盘硬件构件设计
3.3.2 基于TM1637的数码管和键盘软件构件的组成及使用方法
项目实施
任务3.4 基于TM1637的数码管显示的应用层程序设计
3.4.1 使用软件延时实现数码管先后显示不同的数据
3.4.2 使用定时中断实现数码管先后显示不同的数据
任务3.5 基于TM1637的键盘检测与控制的应用层程序设计
3.5.1 键盘检测与控制的查询程序流程
3.5.2 应用实例参考程序
任务3.6 基于DS18B20的测温功能设计与实现
3.6.1 DS18B20的主要特点和基于DS18B20的测温硬件构件设计
3.6.2 基于DS18B20的测温软件构件的组成及使用方法
3.6.3 基于DS18B20的测温功能应用层程序设计
拓展学习
*任务3.7 基于TM1637的数码管和键盘软件构件源文件的设计
*任务3.8 基于DS18B20的测温软件构件源文件的设计
评价反馈
项目4 利用UART实现上位机和下位机的通信
项目目标
知识准备
任务4.1 理解UART的通用知识
任务4.2 掌握MCU的UART底层驱动构件使用方法
4.2.1 MCU的UART主要特性和引脚
4.2.2 MCU的UART底层驱动构件的组成及使用方法
项目实施
任务4.3 UART通信应用层程序设计与功能测试
4.3.1 UART通信的应用层程序设计
4.3.2 UART通信的测试方法
4.3.3 使用printf函数输出数据
拓展学习
*任务4.4 熟悉MCU的UART底层驱动构件源文件
评价反馈
项目5 利用Timer实现PWM和输入捕获功能
项目目标
知识准备
任务5.1 理解PWM和输入捕获的通用知识
5.1.1 PWM的通用知识
5.1.2 输入捕获的通用知识
任务5.2 掌握Timer_PWM_INCAP底层驱动构件使用方法
5.2.1 MCU的Timer通道引脚
5.2.2 Timer_PWM_INCAP底层驱动构件的组成及使用方法
项目实施
任务5.3 利用PWM控制小灯的亮度
任务5.4 利用输入捕获测量脉冲信号的周期和脉宽
拓展学习
*任务5.5 熟悉Timer_PWM_INCAP底层驱动构件源文件
评价反馈
项目6 利用ADC设计简易数字电压表
项目目标
知识准备
任务6.1 理解ADC的通用知识
任务6.2 掌握MCU的ADC底层驱动构件使用方法
6.2.1 MCU的ADC主要特性和引脚
6.2.2 MCU的ADC底层驱动构件的组成及使用方法
项目实施
任务6.3 简易数字电压表的设计
6.3.1 简易数字电压表的硬件电路组成和工作原理
6.3.2 简易数字电压表的应用层程序设计
拓展学习
*任务6.4 熟悉MCU的ADC底层驱动构件源文件
评价反馈
项目7 利用SPI实现多机串行通信
项目目标
知识准备
任务7.1 理解SPI的通用知识
7.1.1 SPI的相关概念
7.1.2 SPI的通信过程与通信时序
任务7.2 掌握MCU的SPI底层驱动构件使用方法
7.2.1 MCU的SPI主要特性和引脚
7.2.2 MCU的SPI底层驱动构件的组成及使用方法
项目实施
任务7.3 SPI多机通信的应用层程序设计
拓展学习
*任务7.4 熟悉MCU的SPI底层驱动构件源文件
评价反馈
项目8 利用CAN实现多机通信
项目目标
知识准备
任务8.1 理解CAN的通用知识
8.1.1 CAN系统的总体构成和CAN节点的硬件结构
8.1.2 CAN的网络通信原理
8.1.3 CAN的优点
任务8.2 掌握MCU的CAN底层驱动构件使用方法
8.2.1 MCU的CAN主要特性和引脚
8.2.2 MCU的CAN底层驱动构件的组成及使用方法
项目实施
任务8.3 多机之间的CAN通信应用层程序设计与功能测试
拓展学习
*任务8.4 熟悉MCU的CAN底层驱动构件源文件
评价反馈
附录
附录A Keil MDK集成开发环境使用方法
A.1 软件的下载和安装
A.2 软件的简明使用方法
附录B J-Flash软件的简明使用方法
附录C 时钟系统及配置
参考文献
学习笔记








