内容提要:
这是一本介绍STM32单片机的入门书籍,单片机具体型号为STM32F103R6。全书以项目教学模式编写,引导读者完成项目的过程学习并掌握单片机相关知识。本书所述的单片机开发方式没有采用早期的STD库,而是采用了意法半导体公司目前主推的HAL/LL库,IDE采用了意法半导体公司目前主推的STM32CubeIDE,并且几乎所有项目都支持Proteus仿真。本书可作为高职高专院校电子类专业的教材,也可供STM32单片机爱好者入门学习使用。
目录:
OO篇 入门篇
1.1 单片机与STM32单片机
1.1.1 什么是单片机
1.1.2 单片机发展史
1.1.3 STM32单片机的诞生与发展
1.1.4 STM32单片机丰富的产品线
1.2 STM32单片机的引脚构成
1.2.1 引脚结构
1.2.2 单片机OO系统
1.3 STM32单片机的内部构造
1.3.1 Cortex-M3的存储器结构
1.3.2 STM32单片机的启动(BOOT)模式
1.3.3 时钟树
1.4 STM32单片机的程序开发方式
1.4.1 STM32单片机程序开发流程概述
1.4.2 STM32CubeIDE简介
1.4.3 硬件实物调试简介
1.4.4 软件电路仿真简介
第2篇 语言篇
2.1 C语言入门与顺序结构
2.1.1 计算机语言与C语言
2.1.2 使用Dev-C++编写计算机C程序
2.1.3 C语言的基本数据类型
2.1.4 格式输入/输出函数
2.1.5 C语言的运算符(一)
2.1.6 任务程序的编写
2.2 分支结构
2.2.1 C语言的运算符(二)
2.2.2 分支语句
2.2.3 任务程序的编写
2.3 循环结构程序
2.3.1 数组
2.3.2 循环语句
2.3.3 任务程序的编写
2.4 模块化程序的设计
2.4.1 结构体认知
2.4.2 指针认知
2.4.3 函数与模块化程序设计
2.4.4 任务程序的编写
第3篇 基础篇
3.1 LED单灯闪烁之软件延时
3.1.1 STM32单片机的GPIO引脚及其输出类型
3.1.2 使用STM32CubeIDE编写STM32单片机C程序
3.1.3 使用ISP方式下载程序
3.1.4 任务程序的编写
3.2 按键输入
3.2.1 STM32单片机的GPIO引脚及其输入类型
3.2.2 Proteus的电路仿真
3.2.3 任务程序的编写
3.3 流水灯之软件延时
3.3.1 程序算法
3.3.2 任务程序的编写
3.4 数码管动态显示
3.4.1 数码管的结构
3.4.2 数码管的静态显示与动态显示
3.4.3 任务程序的编写
3.5 矩阵式键盘
3.5.1 矩阵式键盘的电路组成
3.5.2 矩阵式键盘的行扫描法
3.5.3 任务程序的编写
第4篇 提高篇
4.1 外部(EXTI)中断
4.1.1 中断技术
4.1.2 STM32单片机的中断系统概述
4.1.3 STM32单片机的外部中断(EXTI)
4.1.4 任务程序的编写
4.2 LED单灯闪烁之定时器延时(阻塞方式)
4.2.1 STM32单片机的定时器
4.2.2 任务程序的编写
4.3 流水灯之定时器延时(中断方式)
4.3.1 定时器中断
4.3.2 任务程序的编写
4.4 长短按键
4.4.1 长短按键的用途和设计思路
4.4.2 任务程序的编写
4.5 呼吸灯
4.5.1 STM32单片机的PWM技术
4.5.2 任务程序的编写
4.6 串口通信之单字节通信
4.6.1 串口通信
4.6.2 单片机与计算机的串口通信
4.6.3 任务程序的编写
4.7 串口通信之总线通信*
4.7.1 CRC
4.7.2 Modbus_RTU协议概述
4.7.3 任务程序的编写
4.8 热敏电阻+ADC的温度采集
4.8.1 热敏电阻
4.8.2 ADC
4.8.3 任务程序的编写
4.9 Flash ROM的读写
4.9.1 Flash ROM
4.9.2 任务程序的编写
4.10 RTC的时钟设计
4.10.1 STM32单片机的RTC
4.10.2 任务程序的编写
第5篇 拓展篇
5.1 LCD1602的使用
5.1.1 液晶显示屏与LCD1602
5.1.2 任务程序的编写
5.2 串行E2PROM AT24C02的使用
5.2.1 I2C总线简介
5.2.2 AT24C02简介
5.2.3 任务程序的编写
5.3 串行温度传感器TC72的使用
5.3.1 SPI总线简介
5.3.2 TC72简介
5.3.3 任务程序的编写
5.4 串行DAC芯片MCP4921的使用
5.4.1 MCP4921简介
5.4.2 任务程序的编制
5.5 直流电动机的控制
5.5.1 直流电动机与H桥电路
5.5.2 双H桥芯片L298
5.5.3 任务程序的编写
5.6 步进电动机的控制
5.6.1 达林顿晶体管阵列ULN2803
5.6.2 步进电动机的驱动
5.6.3 任务程序的编写
附录
参考文献