封面
版权信息
内容提要
前言
一、适用对象
二、学习本书所需的知识和能力基础
三、学习总体目标
四、内容结构
资源与支持
配套资源
提交勘误
与我们联系
第1章 STM32单片机的基础知识
1.1 单片机的由来与发展历史
1.1.1 嵌入式系统
1.1.2 嵌入式计算机系统
1.1.3 单片机的发展历史
1.1.4 单片机的发展趋势
1.2 单片机的应用
1.2.1 单片机的应用结构
1.2.2 单片机的应用领域
1.3 其他单片机
1.4 ARM简介
1.4.1 ARM公司简介
1.4.2 ARM的体系结构
1.4.3 ARM的发展
1.5 Cortex-M3内核与STM32简介
1.5.1 什么是Cortex-M3内核
1.5.2 什么是STM32
1.5.3 STM32单片机的时钟
1.6 STM32单片机的C语言编程知识点
1.6.1 STM32编程的特点
1.6.2 STM32编程中的数据类型
1.6.3 STM32编程常用的C语言知识点
1.7 什么是CMSIS固件库
1.7.1 CMSIS固件库简介
1.7.2 CMSIS固件库设计及规范
1.8 习题与巩固
第2章 STM32单片机的开发工具
2.1 STM32的开发工具一览
2.1.1 硬件开发工具
2.1.2 软件开发平台
2.2 硬件开发工具JLink
2.2.1 JLink的驱动安装及调试接口
2.2.2 硬件调试接口JTAG/SWD的定义
2.3 软件开发环境MDK的使用方法
2.3.1 MDK的安装
2.3.2 MDK工程模块的创建
2.4 习题与巩固
第3章 STM32单片机的基本系统
3.1 单片机的基本系统组成元素
3.2 项目实战:电源电路的设计
3.2.1 概述
3.2.2 范例1:电源电路的设计
3.2.3 电源电路设计注意事项
3.3 项目实战:复位电路的设计
3.3.1 概述
3.3.2 范例2:复位电路的设计
3.3.3 复位电路设计注意事项
3.4 项目实战:时钟电路的设计
3.4.1 概述
3.4.2 范例3:时钟电路的设计
3.4.3 时钟电路设计注意事项
3.5 项目实战:调试电路的设计
3.5.1 概述
3.5.2 范例4:调试电路的设计
3.5.3 调试电路设计注意事项
3.6 项目实战:启动电路的设计
3.6.1 概述
3.6.2 启动电路分析及工作原理
3.7 习题与巩固
第4章 通用输入输出端口应用
4.1 GPIO工作原理
4.1.1 STM32F103C8T6单片机的引脚
4.1.2 引脚内部构造
4.1.3 GPIO的8种工作模式
4.2 GPIO寄存器功能详解
4.2.1 端口配置低寄存器(GPIOX_CRL)
4.2.2 端口配置高寄存器(GPIOX_CRH)
4.2.3 端口输入数据寄存器(GPIOX_IDR)
4.2.4 端口输出数据寄存器(GPIOX_ODR)
4.2.5 端口位设置/清除寄存器(GPIOX_BSRR)
4.2.6 端口位清除寄存器(GPIOX_BRR)
4.3 利用库函数使用GPIO的方法
4.3.1 初始化端口
4.3.2 初始化时钟
4.3.3 GPIO引脚控制
4.4 项目实战:开关量驱动外设
4.4.1 GPIO硬件接口电路设计要点
4.4.2 范例5:GPIO驱动发光二极管
4.4.3 范例6:GPIO驱动蜂鸣器
4.4.4 范例7:GPIO驱动数码管
4.5 习题与巩固
第5章 系统节拍定时器
5.1 系统节拍定时器概述
5.2 系统节拍定时器的相关寄存器功能详解
5.2.1 控制和状态寄存器CTRL
5.2.2 重装载值寄存器LOAD
5.2.3 当前值寄存器VAL
5.3 利用库函数设置GPIO的方法
5.3.1 系统节拍定时器结构体
5.3.2 系统节拍定时器库函数
5.3.3 范例8:利用系统节拍定时器精确延时
5.4 项目实战:人机界面之液晶显示
5.4.1 液晶显示器简介
5.4.2 液晶模块引脚分布
5.4.3 液晶模块的控制指令
5.4.4 液晶显示器的工作时序
5.4.5 液晶显示器的字符集
5.4.6 范例9:利用液晶显示器输出信息
5.5 习题与巩固
第6章 STM32单片机的中断系统
6.1 中断相关的概念
6.1.1 什么是中断
6.1.2 中断处理过程
6.1.3 什么是中断源
6.1.4 什么是中断信号
6.1.5 中断屏蔽的概念
6.1.6 中断优先级及中断嵌套
6.1.7 Cortex-M3内核的嵌套向量中断控制器
6.1.8 STM32的中断控制固件库
6.2 STM32的中断系统
6.2.1 什么是异常
6.2.2 STM32的中断通道
6.2.3 固件库中中断向量区的定义
6.2.4 利用库函数控制NVIC方法
6.3 STM32单片机的EXTI
6.3.1 什么是外部中断/事件控制器EXTI
6.3.2 EXTI功能结构
6.3.3 中断/事件线的种类
6.3.4 STM32固件库中EXTI的初始化结构体
6.3.5 STM32固件库中EXTI的相关函数
6.4 项目实战:人机交互之按键
6.4.1 按键分类
6.4.2 按键的接法
6.4.3 矩阵键盘扫描原理
6.4.4 按键的消抖处理
6.4.5 按键程序处理方法
6.4.6 范例10:按键控制彩灯
6.5 习题与巩固
第7章 STM32单片机的定时器
7.1 定时器的工作原理
7.1.1 定时器简介
7.1.2 通用定时器的时钟源
7.1.3 通用定时器的定时时钟
7.1.4 定时器功能
7.1.5 定时器定时时间
7.1.6 定时器的计数模式
7.2 通用定时器的相关寄存器功能详解
7.2.1 控制寄存器1(TIMx_CR1)
7.2.2 中断使能寄存器(TIMx_DIER)
7.2.3 预分频寄存器(TIMx_PSC)
7.2.4 计数器(TIMx_CNT)
7.2.5 自动重装载寄存器(TIMx_ARR)
7.2.6 状态寄存器(TIMx_SR)
7.3 固件库中定时器的相关内容
7.3.1 固件库中定时器的结构体
7.3.2 固件库中定时器的相关库函数
7.3.3 利用固件库设置通用定时器方法
7.3.4 范例11:利用通用定时器进行精确定时
7.4 PWM原理
7.4.1 什么是PWM
7.4.2 STM32单片机如何产生PWM信号
7.4.3 STM32单片机PWM信号输出控制
7.4.4 PWM信号的输出引脚控制
7.5 PWM相关寄存器的功能详解
7.5.1 捕获/比较模式寄存器(TIMx_CCMR1/2)
7.5.2 捕获/比较使能寄存器(TIMx_CCER)
7.5.3 捕获/比较寄存器(TIMx_CCR1~TIMx_CCR4)
7.6 固件库中PWM的相关内容
7.6.1 PWM功能的相关结构体
7.6.2 PWM功能的相关库函数
7.6.3 使用固件库设置PWM的方法
7.6.4 范例12:三色彩灯控制
7.7 习题与巩固
第8章 STM32单片机的串行通信
8.1 串行通信的基本概念
8.1.1 数据通信方式
8.1.2 异步传输的字符数据帧
8.1.3 异步通信
8.1.4 波特率
8.2 RS-232C总线标准
8.3 STM32系统的RS-232C传输接口
8.3.1 RS-232C的电平转换
8.3.2 典型的RS-232C接口电路
8.4 不同单片机之间的串行总线连接
8.4.1 微处理器间直接通信
8.4.2 利用RS-232通信
8.5 STM32的串行通信接口
8.5.1 STM32的UART特性
8.5.2 STM32的UART引脚
8.5.3 STM32的UART结构
8.6 STM32串行端口的使用方法
8.6.1 STM32的UART时钟控制
8.6.2 STM32的UART引脚配置
8.6.3 STM32的串口波特率
8.6.4 STM32的UART寄存器功能详解
8.6.5 STM32的UART的控制
8.6.6 STM32的UART的数据读写
8.7 STM32的UART中断使用
8.7.1 STM32的UART的收发中断控制
8.7.2 STM32的UART中断使用方法
8.8 添加printf功能
8.9 主从机通信
8.9.1 范例13:查询法
8.9.2 范例14:中断法
8.10 习题与巩固
第9章 STM32单片机的模数转换器
9.1 输入信号分类形式
9.1.1 模拟信号和数字信号
9.1.2 电压信号和电流信号
9.1.3 单次信号和连续信号
9.2 模数转换的原理
9.3 模数转换器的工作过程
9.4 模数转换器的相关概念
9.4.1 基准源
9.4.2 模数转换器的分类
9.4.3 模数转换器的主要技术指标
9.5 STM32的模数转换器
9.5.1 STM32的模数转换器特性
9.5.2 STM32的模数转换器功能剖析
9.6 STM32的ADC相关寄存器功能详解
9.6.1 ADC控制寄存器1(ADC_CR1)
9.6.2 ADC控制寄存器2(ADC_CR2)
9.6.3 ADC采样时间寄存器1(ADC_SMPR1)
9.6.4 ADC采样时间寄存器2(ADC_SMPR2)
9.6.5 ADC注入数据寄存器x (ADC_JDRx)
9.6.6 ADC规则数据寄存器(ADC_DR)
9.6.7 ADC状态寄存器(ADC_SR)
9.7 STM32的ADC转换模式
9.7.1 单次转换模式
9.7.2 连续转换模式
9.8 固件库中的ADC结构体及库函数
9.8.1 ADC初始化结构体
9.8.2 ADC相应库函数
9.9 ADC应用设计深入讨论
9.9.1 工作电压的稳定性
9.9.2 参考电压的确定
9.9.3 采样时钟的选择
9.9.4 模拟噪声的抑制
9.9.5 校准
9.9.6 ADC开关控制
9.10 数字电位器
9.10.1 范例15:电位器原理图
9.10.2 范例16:读取模数转换器通道电压——查询法
9.10.3 范例17:读取模数转换器通道电压——中断法
9.11 习题与巩固
第10章 综合项目之温度控制系统
10.1 单片机系统的程序结构
10.1.1 任务的划分
10.1.2 程序实时性
10.1.3 前后台程序结构的优点与缺点
10.1.4 改进前后台程序的方法
10.1.5 范例18:缓冲区(FIFO)应用实例
10.2 利用状态机改进单片机系统
10.2.1 初步认识状态机
10.2.2 状态机描述方法
10.2.3 通过状态转移图生成代码
10.2.4 范例19:状态机项目
10.3 温度传感器
10.4 习题与巩固
更新时间:2022-12-20 18:47:11