本书主要介绍STM32系列单片机C语言程序设计和应用技术两个方面的内容。全书共9章,包括单片机综述、STM32 的内部结构及接口特点、通用I/O(输入/输出)的端口(GIPO)、STM32单片机的中断系统及定时器、STM32的A/D和D/A转换模块、总线通信接口I2C与SPI、STM32 CAN总线设计、STM32硬件和实用程序、STM32实验平台操作指南。
本书可作为电气自动化、工业自动化、仪器仪表、机电一体化等专业本科生和研究生的教材,也可作为相关技术人员的参考书。
目录
前言
第1章单片机综述1
1.1微机发展史简介1
1.2微机与单片机1
1.3嵌入式系统2
1.3.1嵌入式系统的定义与特点2
1.3.2嵌入式系统与单片机3
1.4单片机的应用特点6
1.5STM32与51单片机比较有哪些优点9
1.6用C语言开发单片机的优势10
本章小结11
本章习题11
第2章STM32的内部结构及接口
特点12
2.1STM32单片机概述12
2.1.1STM32的主要特性12
2.1.2STM32单片机内部结构框图12
2.1.3STM32引脚功能描述13
2.2STM32的存储器22
2.2.1存储器映射23
2.2.2Bit Band功能描述25
2.3STM32的时钟系统26
2.3.1STM32时钟源26
2.3.2高速时钟(HSE、HSI)28
2.3.3低速时钟(LSE、LSI)28
2.3.4系统时钟(SYSCLK)29
2.4STM32单片机的复位30
2.5看门狗定时器的功能与操作31
2.5.1独立看门狗定时器的操作31
2.5.2窗口看门狗定时器的操作33
2.6中断34
2.6.1STM32中断的基本概念34
2.6.2外部中断35
本章小结37
本章习题37
第3章通用I/O(输入/输出)的
接口(GPIO)38
3.1GPIO概述38
3.2STM32的GPIO工作原理38
3.2.1GPIO接口结构38
3.2.2GPIO接口I/O模式39
3.2.3GPIO的工作频率及主要特征40
3.2.4GPIO复用功能41
3.2.5GPIO锁定机制41
3.3STM32的GPIO相关库函数41
3.4STM32的GPIO开发实例47
3.4.1硬件电路设计47
3.4.2软件设计48
3.4.3仿真与下载50
本章小结51
本章习题52
第4章STM32单片机的中断系统
及定时器53
4.1STM32单片机的中断系统53
4.1.1STM32中断相关的概念55
4.1.2STM32嵌套向量中断控制器
(NVIC)57
4.1.3外部中断通用I/O映像及外部
中断的基本使用步骤60
4.2定时器/计数器64
4.2.1定时器的分类64
4.2.2定时器的寄存器类型68
本章小结73
本章习题73
第5章STM32的A/D和D/A
转换模块74
5.1A/D转换模块74
5.1.1A/D转换器的主要类型74
5.1.2A/D转换器的主要技术指标74
5.1.3A/D转换器的选型注意事项75
5.2STM32的A/D转换器75
5.2.1A/D转换器的功能描述76
5.2.2A/D寄存器描述78
5.3A/D转换器的输入电路80
5.4A/D案例分析81
5.4.1A/D常用库函数81
5.4.2A/D初始化函数ADC_Init81
5.4.3主要配置函数程序82
5.5D/A转换模块82
5.5.1D/A转换器概述83
5.5.2D/A功能描述84
5.5.3双D/A通道转换85
5.6D/A寄存器86
5.7脉冲宽度调制输出PWM(D/A)
功能特点89
5.8D/A案例程序的主要配置90
STM32系列单片机原理及应用——C语言案例教程目录5.9数字滤波方法91
本章小结93
本章习题94
第6章总线通信接口I2C及SPI95
6.1I2C概述95
6.1.1I2C工作原理及主要特性95
6.1.2I2C内部结构96
6.1.3I2C功能描述97
6.1.4I2C从模式100
6.1.5I2C主模式102
6.2I2C通信原理105
6.2.1I2C的物理层105
6.2.2I2C的协议层106
6.3SPI概述108
6.3.1SPI工作原理及主要特性109
6.3.2SPI功能介绍109
6.3.3SPI工作模式110
6.3.4SPI发送数据和接收数据112
6.4SPI通信原理112
6.4.1SPI的物理层113
6.4.2SPI的协议层114
本章小结118
本章习题119
第7章STM32 CAN总线设计120
7.1CAN总线概述120
7.2CAN总线的特点及功能121
7.2.1CAN总线的特点121
7.2.2CAN总线的功能121
7.3CAN总线的运行模式及功能描述122
7.3.1CAN总线的运行模式122
7.3.2CAN总线的功能描述123
7.4STM32的bxCAN控制器与
实验设计127
7.4.1程序设计及初始化配置128
7.4.2实验程序清单130
7.5基于CAN通信的车载电动机控温
实验135
本章小结136
本章习题137
第8章STM32硬件和实用程序138
8.1常用集成块及元器件介绍138
8.1.1数码管公共端和接法138
8.1.274HC595描述139
8.1.3光电隔离和晶体管阵列等
相关电路140
8.2STM32 I/O接口与数码管显示144
8.2.1STM32 I/O接口实验144
8.2.2STM32数码管显示148
8.3STM32的TFTLCD液晶显示151
8.4STM32温湿度数据采集实验153
8.4.1DHT11引脚分配及封装154
8.4.2DHT11传感器性能154
8.4.3DHT11单总线通信协议154
8.4.4硬件设计及编程实现155
8.5ATKESP8266 WiFi实验160
8.5.1ATKESP8266软硬件设计160
8.5.2AP下载测试验证164
8.6单片机发送数据到上位机166
8.6.1单片机发送数据到上位机
原理图166
8.6.2程序编写步骤167
8.6.3程序下载验证169
8.7基于STM32的方波发生器的设计
与检测169
8.7.1总体设计方案170
8.7.2方波信号发生器的设计171
8.7.3方波信号检测的设计172
8.7.4实验验证174
8.8基于STM32 TWI的访问程序在
24Cxx中的应用177
8.8.1TWI与I2C简介177
8.8.2硬件设计与程序设计177
8.8.3测试与验证182
8.9STM32单片机在三相晶闸管触发
电路中的应用182
8.9.1三相半控桥的工作原理183
8.9.2触发延时时间与电压的关系183
8.9.3晶闸管触发实验原理图184
8.9.4晶闸管触发实验程序184
8.9.5实验仿真结果与分析192
8.10STM32单片机测量并网前的频率
及相位角参数193
8.10.1频率及相位角测量的电路
原理图194
8.10.2相位角的测量方法195
8.10.3测量相位角的流程框图
和程序195
8.11STM32单片机在自动控制液位
中的应用197
8.11.1液位自动控制装置技术要求197
8.11.2单片机控制原理图198
8.11.3液位控制及远程控制程序199
8.12基于STM32单片机的高精度三相
电能测量系统209
8.12.1ATT7022B 功能简要说明210
8.12.2ATT7022B的内部结构、
封装及AT45DB161B功能
简介211
8.12.3STM32单片机和ATT7022B电能
芯片构成的高精度三相电能测量
系统211
8.12.4STM32和ATT7022B电能
芯片控制软件212
8.13基于TEA1622P的通用开关电源213
本章小结215
本章习题 216
第9章STM32实验平台操作指南217
9.1在MDK5下新建STM32工程217
9.2工程的编译219
9.3STM32在MDK5下的仿真222
9.3.1仿真配置222
9.3.2串口程序下载223
本章小结224
本章习题225
参考文献226