- 机械工业出版社
- 9787111763680
- 1-4
- 535197
- 47268028-9
- 16开
- 2024-11-13
- 工学
- 电子信息类
- 单片机技术
- 本科
内容简介
本书以让读者掌握STM32单片机实际应用为目的,介绍了STM32单片机外设的组成、工作原理和使用方法,重点介绍了GPIO、中断、USART、定时器和ADC等最常用外设的工作模式、配置方法。为了让读者更好地理解所介绍的知识,作者专门设计了一套开发板以配合本书的学习。此开发板每个模块均设计了两组功能电路,本书提供了其中一组的例程,并进行讲解,从而便于读者在理解所提供例程的基础上,自行编写程序,以验证学习效果。通过这种“学习—改动—验证”的方法,可以解决读者在单片机学习中无法评估学习效果的问题。考虑到C语言、计算机基础知识的重要性,本书还介绍了必要的相关知识,便于读者在学习时进行查阅。通过详细讲解实例程序原理,将程序代码与外设硬件原理完全对应,可以提高读者对STM32单片机知识的理解。本书实例程序均经过调试运行。
本书可作为普通高校自动化、电子信息、电气工程、机械等相关专业的教学用书,也可作为单片机工程领域工程技术人员的培训教材或参考书。
本书可作为普通高校自动化、电子信息、电气工程、机械等相关专业的教学用书,也可作为单片机工程领域工程技术人员的培训教材或参考书。
目录
第1章计算机与C语言基础1
1.1计算机的问世1
1.2计算机的发展阶段2
1.3单片机简介3
1.4单片机的发展过程3
1.5单片机的应用领域4
1.6计算机基础知识6
1.6.1计算机中的数制6
1.6.2数制的转换7
1.6.3计算机数据的单位9
1.7C语言基础9
1.7.1变量及赋值9
1.7.2宏定义10
1.7.3ASCII码10
1.7.4数据类型11
1.7.5基本运算符号14
1.7.6分支和循环语句15
1.7.7函数18
思考和习题20
第2章STM32开发环境21
2.1STM32开发工具21
2.1.1STM32开发板22
2.1.2J-Link仿真器23
2.1.3USB转232模块24
2.2开发配套资料25
2.2.1STM32文档25
2.2.2开发板电路30
2.2.3实验例程34
2.2.4工具软件34
2.3开发软件Keil MDK及STM32F1系列
固件包的安装35
2.4应用案例:点亮LED39
2.4.1硬件连接39
2.4.2配置J-Link39
2.4.3编译程序41
2.4.4烧录程序42
思考和习题43
第3章通用输入及输出(GPIO)44
3.1GPIO简介44
3.2GPIO工作原理46
3.2.1输入配置46
3.2.2输出配置46
3.2.3复用功能配置47
3.2.4模拟输入配置47
3.3GPIO相关的常用库函数47
3.4GPIO输出应用案例:点亮LED53
3.4.1实现步骤53
3.4.2工作原理54
3.4.3习题59
3.5GPIO输入应用案例:按键控制LED60
3.5.1实现步骤60
3.5.2工作原理60
思考和习题63
第4章中断和事件64
4.1中断原理64
4.2嵌套向量中断控制器(NVIC)65
4.3NVIC相关的常用库函数68
4.4中断设计73
4.4.1NVIC设置73
4.4.2中断端口配置74
4.4.3中断处理74
4.5外部中断/事件控制器(EXTI)75
4.5.1EXTI的GPIO映射75
4.5.2EXTI库函数76
4.6中断应用案例:中断方式按键控制LED80
4.6.1实现步骤80
4.6.2硬件原理81
4.6.3软件设计82
思考和习题88
第5章通用同步/异步串行通信90
5.1串行通信原理概述90
5.2串行异步通信接口(USART)结构及工作方式91
5.2.1USART结构91
5.2.2USART工作方式93
5.3USART相关的常用库函数93
5.4USART使用流程100
5.5应用案例:串口发送数据101
5.5.1实现步骤101
5.5.2工作原理106
5.5.3习题115
5.6应用案例:串口接收数据115
5.6.1实现步骤115
5.6.2工作原理116
思考和习题122
第6章定时器(TIM)123
6.1定时器概述123
6.2三种定时器126
6.3通用定时器的结构127
6.3.1时钟源127
6.3.2通用定时器的功能寄存器127
6.3.3通用定时器的外部触发及输入/输出通道129
6.3.4通用定时器的功能129
6.4TIM相关的常用库函数130
6.5应用案例:定时器中断方式控制LED闪烁136
6.5.1实现步骤136
6.5.2工作原理136
6.6应用案例:脉冲宽度调制与仿真142
6.6.1实现步骤142
6.6.2工作原理146
思考和习题150
第7章模/数转换器(ADC)151
7.1ADC原理概述151
7.2应用系统输入/输出通道152
7.3ADC的性能指标153
7.4ADC结构154
7.5ADC相关的常用库函数156
7.6应用案例:ADC实现单通道电压
采集164
7.6.1实现步骤164
7.6.2工作原理165
思考和习题172
第8章STM32嵌入式应用设计173
8.1简易抢答器设计173
8.1.1设计要求173
8.1.2基础知识173
8.1.3简易抢答器的实现174
8.2密码锁设计175
8.2.1设计要求175
8.2.2密码锁的实现175
8.3光敏式智能台灯设计176
8.3.1设计要求176
8.3.2基础知识176
8.3.3光敏式智能台灯的实现177
8.4电动机转速控制器设计177
8.4.1设计要求177
8.4.2基础知识178
8.4.3电动机转速控制器的实现180
参考文献182
1.1计算机的问世1
1.2计算机的发展阶段2
1.3单片机简介3
1.4单片机的发展过程3
1.5单片机的应用领域4
1.6计算机基础知识6
1.6.1计算机中的数制6
1.6.2数制的转换7
1.6.3计算机数据的单位9
1.7C语言基础9
1.7.1变量及赋值9
1.7.2宏定义10
1.7.3ASCII码10
1.7.4数据类型11
1.7.5基本运算符号14
1.7.6分支和循环语句15
1.7.7函数18
思考和习题20
第2章STM32开发环境21
2.1STM32开发工具21
2.1.1STM32开发板22
2.1.2J-Link仿真器23
2.1.3USB转232模块24
2.2开发配套资料25
2.2.1STM32文档25
2.2.2开发板电路30
2.2.3实验例程34
2.2.4工具软件34
2.3开发软件Keil MDK及STM32F1系列
固件包的安装35
2.4应用案例:点亮LED39
2.4.1硬件连接39
2.4.2配置J-Link39
2.4.3编译程序41
2.4.4烧录程序42
思考和习题43
第3章通用输入及输出(GPIO)44
3.1GPIO简介44
3.2GPIO工作原理46
3.2.1输入配置46
3.2.2输出配置46
3.2.3复用功能配置47
3.2.4模拟输入配置47
3.3GPIO相关的常用库函数47
3.4GPIO输出应用案例:点亮LED53
3.4.1实现步骤53
3.4.2工作原理54
3.4.3习题59
3.5GPIO输入应用案例:按键控制LED60
3.5.1实现步骤60
3.5.2工作原理60
思考和习题63
第4章中断和事件64
4.1中断原理64
4.2嵌套向量中断控制器(NVIC)65
4.3NVIC相关的常用库函数68
4.4中断设计73
4.4.1NVIC设置73
4.4.2中断端口配置74
4.4.3中断处理74
4.5外部中断/事件控制器(EXTI)75
4.5.1EXTI的GPIO映射75
4.5.2EXTI库函数76
4.6中断应用案例:中断方式按键控制LED80
4.6.1实现步骤80
4.6.2硬件原理81
4.6.3软件设计82
思考和习题88
第5章通用同步/异步串行通信90
5.1串行通信原理概述90
5.2串行异步通信接口(USART)结构及工作方式91
5.2.1USART结构91
5.2.2USART工作方式93
5.3USART相关的常用库函数93
5.4USART使用流程100
5.5应用案例:串口发送数据101
5.5.1实现步骤101
5.5.2工作原理106
5.5.3习题115
5.6应用案例:串口接收数据115
5.6.1实现步骤115
5.6.2工作原理116
思考和习题122
第6章定时器(TIM)123
6.1定时器概述123
6.2三种定时器126
6.3通用定时器的结构127
6.3.1时钟源127
6.3.2通用定时器的功能寄存器127
6.3.3通用定时器的外部触发及输入/输出通道129
6.3.4通用定时器的功能129
6.4TIM相关的常用库函数130
6.5应用案例:定时器中断方式控制LED闪烁136
6.5.1实现步骤136
6.5.2工作原理136
6.6应用案例:脉冲宽度调制与仿真142
6.6.1实现步骤142
6.6.2工作原理146
思考和习题150
第7章模/数转换器(ADC)151
7.1ADC原理概述151
7.2应用系统输入/输出通道152
7.3ADC的性能指标153
7.4ADC结构154
7.5ADC相关的常用库函数156
7.6应用案例:ADC实现单通道电压
采集164
7.6.1实现步骤164
7.6.2工作原理165
思考和习题172
第8章STM32嵌入式应用设计173
8.1简易抢答器设计173
8.1.1设计要求173
8.1.2基础知识173
8.1.3简易抢答器的实现174
8.2密码锁设计175
8.2.1设计要求175
8.2.2密码锁的实现175
8.3光敏式智能台灯设计176
8.3.1设计要求176
8.3.2基础知识176
8.3.3光敏式智能台灯的实现177
8.4电动机转速控制器设计177
8.4.1设计要求177
8.4.2基础知识178
8.4.3电动机转速控制器的实现180
参考文献182















