STM32单片机开发实例——基于Proteus虚拟仿真与HAL/LL库
定 价:45 元
- 作者:徐亮
- 出版时间:2021/1/1
- ISBN:9787121404825
- 出 版 社:电子工业出版社
- 中图法分类:TP368.1
- 页码:224
- 纸张:
- 版次:01
- 开本:16开
这是一本介绍STM32单片机的入门书籍,单片机具体型号为STM32F103R6。全书以项目教学模式编写,引导读者完成项目的过程学习并掌握单片机相关知识。本书所述的单片机开发方式没有采用早期的STD库,而是采用了意法半导体公司目前主推的HAL/LL库,IDE采用了意法半导体公司目前主推的STM32CubeIDE,并且几乎所有项目都支持Proteus仿真。本书可作为高职高专院校电子类专业的教材,也可供STM32单片机爱好者入门学习使用。
徐亮,男,江苏信息职业技术学院智能工程学院电子电气专业教学骨干,院机器人社团的负责人,2011年开始指导学生参加"中国机器人大赛暨RoboCup公开赛”、"中国工程机器人大赛”与"江苏省大学生机器人大赛”多次获奖,其中冠军3项、亚军3项、季军4项,熟悉MCS-51、STM32、恩智浦等单片机;具备较强的项目研发能力,曾独立或与学院精智模具研究院专家共同为企业提供技术研发服务。
目录
第1篇 入门篇 1
1.1 单片机与STM32单片机 1
1.1.1 什么是单片机 2
1.1.2 单片机发展史 2
1.1.3 STM32单片机的诞生与发展 2
1.1.4 STM32单片机丰富的产品线 3
1.2 STM32单片机的引脚构成 4
1.2.1 引脚结构 4
1.2.2 单片机最小系统 5
1.3 STM32单片机的内部构造 8
1.3.1 Cortex-M3的存储器结构 8
1.3.2 STM32单片机的启动(BOOT)模式 9
1.3.3 时钟树 9
1.4 STM32单片机的程序开发方式 10
1.4.1 STM32单片机程序开发流程概述 11
1.4.2 STM32CubeIDE简介 11
1.4.3 硬件实物调试简介 12
1.4.4 软件电路仿真简介 12
第2篇 语言篇 14
2.1 C语言入门与顺序结构 14
2.1.1 计算机语言与C语言 14
2.1.2 使用Dev-C++编写计算机C程序 17
2.1.3 C语言的基本数据类型 18
2.1.4 格式输入/输出函数 20
2.1.5 C语言的运算符(一) 23
2.1.6 任务程序的编写 26
2.2 分支结构 27
2.2.1 C语言的运算符(二) 27
2.2.2 分支语句 31
2.2.3 任务程序的编写 34
2.3 循环结构程序 36
2.3.1 数组 36
2.3.2 循环语句 38
2.3.3 任务程序的编写 42
2.4 模块化程序的设计 44
2.4.1 结构体认知 44
2.4.2 指针认知 45
2.4.3 函数与模块化程序设计 47
2.4.4 任务程序的编写 50
第3篇 基础篇 52
3.1 LED单灯闪烁之软件延时 52
3.1.1 STM32单片机的GPIO引脚及其输出类型 53
3.1.2 使用STM32CubeIDE编写STM32单片机C程序 55
3.1.3 使用ISP方式下载程序 59
3.1.4 任务程序的编写 61
3.2 按键输入 63
3.2.1 STM32单片机的GPIO引脚及其输入类型 63
3.2.2 Proteus的电路仿真 64
3.2.3 任务程序的编写 71
3.3 流水灯之软件延时 73
3.3.1 程序算法 74
3.3.2 任务程序的编写 75
3.4 数码管动态显示 79
3.4.1 数码管的结构 80
3.4.2 数码管的静态显示与动态显示 81
3.4.3 任务程序的编写 83
3.5 矩阵式键盘 85
3.5.1 矩阵式键盘的电路组成 86
3.5.2 矩阵式键盘的行扫描法 86
3.5.3 任务程序的编写 87
第4篇 提高篇 94
4.1 外部(EXTI)中断 94
4.1.1 中断技术 95
4.1.2 STM32单片机的中断系统概述 95
4.1.3 STM32单片机的外部中断(EXTI) 97
4.1.4 任务程序的编写 98
4.2 LED单灯闪烁之定时器延时(阻塞方式) 103
4.2.1 STM32单片机的定时器 104
4.2.2 任务程序的编写 106
4.3 流水灯之定时器延时(中断方式) 109
4.3.1 定时器中断 110
4.3.2 任务程序的编写 110
4.4 长短按键 113
4.4.1 长短按键的用途和设计思路 114
4.4.2 任务程序的编写 114
4.5 呼吸灯 118
4.5.1 STM32单片机的PWM技术 119
4.5.2 任务程序的编写 119
4.6 串口通信之单字节通信 123
4.6.1 串口通信 124
4.6.2 单片机与计算机的串口通信 126
4.6.3 任务程序的编写 127
4.7 串口通信之总线通信* 131
4.7.1 CRC 131
4.7.2 Modbus_RTU协议概述 132
4.7.3 任务程序的编写 133
4.8 热敏电阻+ADC的温度采集 137
4.8.1 热敏电阻 138
4.8.2 ADC 139
4.8.3 任务程序的编写 140
4.9 Flash ROM的读写 146
4.9.1 Flash ROM 147
4.9.2 任务程序的编写 149
4.10 RTC的时钟设计 153
4.10.1 STM32单片机的RTC 154
4.10.2 任务程序的编写 154
第5篇 拓展篇 161
5.1 LCD1602的使用 161
5.1.1 液晶显示屏与LCD1602 162
5.1.2 任务程序的编写 164
5.2 串行E2PROM AT24C02的使用 169
5.2.1 I2C总线简介 170
5.2.2 AT24C02简介 172
5.2.3 任务程序的编写 174
5.3 串行温度传感器TC72的使用 180
5.3.1 SPI总线简介 181
5.3.2 TC72简介 183
5.3.3 任务程序的编写 184
5.4 串行DAC芯片MCP4921的使用 189
5.4.1 MCP4921简介 190
5.4.2 任务程序的编制 192
5.5 直流电动机的控制 196
5.5.1 直流电动机与H桥电路 197
5.5.2 双H桥芯片L298 197
5.5.3 任务程序的编写 199
5.6 步进电动机的控制 203
5.6.1 达林顿晶体管阵列ULN2803 204
5.6.2 步进电动机的驱动 205
5.6.3 任务程序的编写 206
附录 211
参考文献