注册 登录 进入教材巡展
#

出版时间:2026-05

出版社:电子工业出版社

以下为《嵌入式微控制器原理及设计——基于STM32及Proteus仿真开发(第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 电子工业出版社
  • 9787121525599
  • 1-1
  • 16开
  • 2026-05
  • 443
  • 工学
  • 电子信息类
  • 电子信息与电气
  • 本科 研究生及以上
内容简介
本书以STM32F103系列微控制器为硬件平台,以Proteus仿真软件为开发环境,系统介绍嵌入式系统原理、接口技术及物联网操作系统应用。主要内容包括:嵌入式系统基本概念、ARM Cortex-M3体系结构、硬件最小系统、C语言编程与STM32固件库(STD库、HAL库、LL库)以及基于MDK和VSCode的开发环境搭建。本书详细阐述核心外设原理与应用,涵盖GPIO、中断、串行通信(USART、SPI、I2C、RS-485)、定时器、ADC、DMA、CAN及USB等常用外设。嵌入式操作系统以FreeRTOS为核心,剖析其实时内核的任务管理、同步与通信机制(互斥量、信号量、事件标志组、队列)、中断处理及内存管理,并引入CMSIS-RTOS V2标准接口。最后通过温湿度自动检测与报警系统综合实例,完整展示嵌入式项目开发流程。本书内容由浅入深,理论与实践结合,各章均配有基于Proteus的仿真实例和基于HAL库的代码示例,读者可通过仿真环境直观理解硬件原理,快速上手嵌入式项目开发。
目录
第1章 嵌入式系统与微控制器 1
1.1 嵌入式系统相关概念 1
1.1.1 什么是嵌入式系统 1
1.1.2 嵌入式系统的特点 1
1.1.3 嵌入式系统主要硬件组成 1
1.1.4 嵌入式芯片类型 3
1.2 微控制器 4
1.2.1 微控制器的特点 4
1.2.2 微控制器芯片型号及发展历史 4
1.2.3 ARM微控制器介绍 6
1.2.4 STM32系列微控制器 8
1.3 嵌入式系统开发 8
1.3.1 方案设计及芯片选型 8
1.3.2 嵌入式系统硬件设计 9
1.3.3 嵌入式系统软件开发 10
1.3.4 嵌入式代码编译 11
1.3.5 嵌入式代码下载及调试 12
1.4 微控制器芯片的发展趋势 12
习题1 13
第2章 微控制器体系结构及汇编语言 15
2.1 Cortex-M3体系架构 15
2.1.1 Cortex-M3总体架构 15
2.1.2 Cortex-M3总线 16
2.1.3 Cortex-M3寄存器 17
2.1.4 Cortex-M3操作模式 19
2.1.5 Cortex-M3存储器映射 19
2.1.6 流水线 20
2.1.7 异常和中断 20
2.1.8 存储器保护单元(MPU) 21
2.2 汇编指令寻址方式 21
2.3 ARM指令集 22
2.3.1 指令基本形式 22
2.3.2 ARM指令集条件码 23
2.3.3 ARM指令种类 24
2.4 Thumb指令集 29
习题2 30
第3章 微控制器硬件系统 32
3.1 微控制器概述 32
3.1.1 STM32F103内部结构 32
3.1.2 STM32F103常用接口 35
3.1.3 STM32F103系列芯片简介 36
3.2 微控制器基本电路 37
3.2.1 电源电路 37
3.2.2 复位电路 38
3.2.3 时钟源 39
3.2.4 时钟管理单元 40
3.2.5 下载电路 42
3.2.6 启动配置电路 43
3.3 微控制器低功耗模式 44
习题3 46
第4章 微控制器软件开发 48
4.1 微控制器开发语言 48
4.1.1 开发语言介绍 48
4.1.2 嵌入式C语言 49
4.2 微控制器开发库函数 54
4.2.1 STM32开发库函数介绍 54
4.2.2 STM32 STD库 56
4.2.3 STM32 HAL库和LL库 57
4.3 微控制器开发环境 59
4.3.1 MDK开发环境 59
4.3.2 STM32CubeMX软件 60
4.3.3 基于Visual Studio Code(VSCode)的开发环境 61
4.4 微控制器虚拟仿真环境 63
4.5 微控制器程序调试和下载 64
4.6 STM32微控制器启动程序 66
习题4 67
第5章 GPIO 68
5.1 GPIO结构及特点 68
5.1.1 GPIO功能模式 68
5.1.2 GPIO特点及操作 69
5.1.3 GPIO开发实例 70
5.2 GPIO寄存器开发方式 71
5.2.1 GPIO寄存器说明 71
5.2.2 GPIO寄存器实现应用实例 71
5.3 GPIO STD库开发方式 73
5.3.1 GPIO STD库函数说明 73
5.3.2 GPIO STD库应用实例 75
5.4 GPIO HAL库开发方式 77
5.4.1 GPIO HAL库函数说明 77
5.4.2 GPIO HAL库应用实例 79
5.5 GPIO LL库开发方式 82
5.5.1 GPIO LL库函数说明 82
5.5.2 GPIO LL库应用实例 85
5.6 GPIO应用开发实例 86
5.6.1 数码管显示实例 86
5.6.2 行列式键盘扫描实例 89
习题5 92
第6章 中断 93
6.1 STM32中断简介 93
6.2 嵌套向量中断控制器 95
6.2.1 NVIC寄存器 95
6.2.2 系统控制寄存器(SCB) 95
6.2.3 中断和异常处理 96
6.2.4 STM32中断优先级 97
6.3 EXTI外部中断 98
6.3.1 EXTI硬件结构 98
6.3.2 EXTI中断操作 99
6.4 EXTI中断应用实例 100
习题6 103
第7章 串行通信 105
7.1 串行通信简介 105
7.1.1 串行通信基础知识 105
7.1.2 微控制器常见的串行通信方式 106
7.2 STM32 USART接口 107
7.2.1 USART硬件引脚 107
7.2.2 USART主要寄存器及中断请求 108
7.2.3 USART异步通信 108
7.2.4 USART其他功能模式 109
7.3 USART串行通信实现 111
7.3.1 串行数据发送和接收 111
7.3.2 USART数据发送和接收应用实例 112
7.3.3 RS-232接口 116
7.3.4 printf串口终端实现 118
7.3.5 RS-485接口 118
7.4 基于串口的无线通信 122
7.4.1 移动通信 122
7.4.2 蓝牙串口通信 122
7.4.3 串口无线网络(Wi-Fi) 123
7.4.4 ZigBee通信 123
7.4.5 星闪通信 123
7.5 SPI通信 124
7.5.1 STM32 SPI接口 124
7.5.2 SPI接口应用实例 126
习题7 128
第8章 定时器 130
8.1 定时器概述 130
8.1.1 通用定时器 131
8.1.2 高级定时器 131
8.1.3 高级/通用定时器接口 131
8.1.4 定时器引脚和寄存器 134
8.1.5 定时器时钟源 135
8.1.6 定时器计数模式 135
8.2 定时器操作 136
8.2.1 定时功能及实例 136
8.2.2 计数功能及实例 139
8.2.3 捕获功能及实例 141
8.2.4 输出PWM模式及实例 143
8.2.5 其他功能模式 146
8.3 系统滴答定时器(SysTick) 147
8.3.1 SysTick工作分析及配置 148
8.3.2 SysTick功能实现 148
8.4 看门狗定时器(WDT) 150
8.4.1 独立看门狗 150
8.4.2 窗口看门狗 151
8.4.3 独立看门狗与窗口看门狗的区别 153
8.5 实时时钟(RTC) 153
习题8 157
第9章 ADC 159
9.1 ADC概述 159
9.1.1 STM32的ADC功能 159
9.1.2 STM32的ADC结构 159
9.1.3 STM32的ADC引脚 161
9.1.4 STM32的ADC操作 162
9.1.5 STM32的ADC主要寄存器 166
9.2 ADC应用实例 167
9.2.1 实例主要库函数说明 167
9.2.2 ADC查询和中断实例 168
习题9 170
第10章 DMA 171
10.1 DM