基于ARM的微机原理与接口技术——STM32嵌入式系统架构、编程与应用(第2版·
1星价
¥56.9
(7.2折)
2星价¥56.9
定价¥79.0
图文详情
- ISBN:9787302667346
- 装帧:70g胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:408
- 出版时间:2024-09-01
- 条形码:9787302667346 ; 978-7-302-66734-6
本书特色
《基于ARM的微机原理与接口技术——STM32嵌入式系统架构、编程与应用(第2版·微课视频版)》凝聚了作者数年的教学实践和工程项目实践经验,从工程应用的角度强调开发方法和工程实现,注重学生实践能力和工程素养的培养,非常适合自动化、电子信息、电气自动化、机械等相关专业学生及工程技术人员的学习。
山东省普通高等教育一流教材,从工程应用的角度强调开发方法和工程实现,资源丰富!
张承慧 山东大学讲席教授、控制科学与工程学院院长,国家级高层次人才计划入选者,国家基金委创新研究群体带头人,全国高校黄大年式教师团队带头人,IEEE Fellow
本书凝聚了作者数年的教学实践和工程项目实践经验,从工程应用的角度强调开发方法和工程实现,注重学生实践能力和工程素养的培养,特别适合作为普通高校计算机类、自动化类、电子信息类、电气自动化及机械专业的教学用书;还可作为高职高专及相关培训班的教材使用;同时,也可作为从事嵌入式系统应用领域的工程技术人员的参考书。
宋斌 安谋科技(中国)有限公司中国大学计划部负责人ARM架构具有精简指令集、低功耗、高度可扩展性和兼容性等特点,通过高效的寄存器设计和多指令集支持性能和兼容性的提升,因此在移动设备和嵌入式系统中占据重要地位。ARM Cortex-M3是一种32位的嵌入式微控制器内核,是ARM Cortex-M系列中的一员,具有高性能、低功耗、低成本的特点,广泛应用于各种嵌入式系统,如智能家居、智能电子设备、工业自动化、汽车电子等领域。
本书采用ARM Cortex-M3内核的STM32F103VET6为背景,介绍微型计算机系统(嵌入式系统)的原理、设计及应用,非常适合自动化、电子信息、电气自动化、机械等相关专业学生的学习,体现了业界的新技术,完全能够满足新工科的教学要求。
丁晓磊 意法半导体公司中国区微控制器和数字IC产品部负责人本书首先介绍微型计算机的相关概念及应用,介绍Cortex M3微处理器架构及开发方法。在开发应用方面,以STM32F103系列中的STM32F103VET6芯片为背景,介绍了常见接口的原理及应用。STM32F103VET6芯片是意法半导体公司推出的典型产品,采用Cortex-M3内核,片内集成了512KB Flash存储器、64KB RAM、80根I/O口线,还包括多达11个定时器、5个USART接口、3个SPI接口、2个I2C接口、1个USB 2.0全速接口、3个12位模数转换器(ADC)、2个12位数模转换器(DAC)等资源,是一个真正的片上系统(SOC),对于应用开发非常方便。
本书非常注重实践,详细介绍了每种外设的应用设计及调试,可操作性强;特别增加了CubeMX的使用介绍,帮助读者或者开发者更加方便地使用STM32芯片。教材中的实例代码设计规范、美观,均经过严格的仿真调试,读者可将它们加入自己的工程项目中,可以大大加快学习效率和开发效率。
本书深入浅出,层次分明,逻辑性强,突出实用,特别适合作为普通高校计算机类、自动化类、电子信息类、电气自动化及机械等专业的教学用书,还可作为高职高专及相关专业培训班的教程,同时也可作为从事嵌入式系统应用领域的工程技术人员的参考书。
山东省普通高等教育一流教材,从工程应用的角度强调开发方法和工程实现,资源丰富!
内容简介
《基于ARM的微机原理与接口技术——STM32嵌入式系统架构、编程与应用(第2版·微课视频版)》基于作者长期讲授“微机原理与接口技术”课程和从事嵌入式系统应用开发的背景,首先介绍微型计算机的相关概念及应用,介绍Cortex M3微处理器架构及开发方法。在开发应用方面,以STM32F103系列中的STM32F103VET6芯片为背景,介绍了常见接口的原理及应用。STM32F103VET6芯片是意法半导体公司推出的典型产品,采用Cortex-M3内核,片内集成了512KB Flash存储器、64KB RAM、80根I/O口线,还包括多达11个定时器、5个USART接口、3个SPI接口、2个I2C接口、1个USB 2.0全速接口、3个12位模数转换器(ADC)、2个12位数模转换器(DAC)等资源,是一个真正的片上系统(SOC),对于应用开发非常方便
目录
第1章 基础知识 …………………………………………………………………………………………… 1
1.1 微型计算机发展概述 ……………………………………………………………………………… 1
1.2 微型计算机领域的几个相关概念 ………………………………………………………………… 2
1.2.1 常用单位及术语…………………………………………………………………………… 2
1.2.2 微型计算机的基本构成…………………………………………………………………… 4
1.2.3 微控制器与嵌入式系统…………………………………………………………………… 5
1.2.4 常见技术…………………………………………………………………………………… 7
1.3 ARM 概述 ………………………………………………………………………………………… 9
1.4 微型计算机的应用………………………………………………………………………………… 12
1.5 习题………………………………………………………………………………………………… 14 第2章 Cortex-M3处理器 ……………………………………………………………………………… 15
2.1 Cortex-M3处理器简介及其组件 ………………………………………………………………… 15
2.1.1 Cortex-M3处理器简介 ………………………………………………………………… 15
2.1.2 Cortex-M3处理器的组件 ……………………………………………………………… 15
2.1.3 总线结构 ………………………………………………………………………………… 18
2.2 流水线……………………………………………………………………………………………… 19
2.3 寄存器……………………………………………………………………………………………… 20
2.3.1 通用寄存器 ……………………………………………………………………………… 20
2.3.2 特殊功能寄存器 ………………………………………………………………………… 22
2.4 工作模式和工作等级……………………………………………………………………………… 25
2.5 堆栈………………………………………………………………………………………………… 27
2.5.1 堆栈的基本操作 ………………………………………………………………………… 27
2.5.2 Cortex-M3的双堆栈机制 ……………………………………………………………… 28
2.6 存储器管理………………………………………………………………………………………… 29
2.6.1 存储器空间分配 ………………………………………………………………………… 29
2.6.2 位带操作 ……………………………………………………………………………… 31
2.6.3 端模式 …………………………………………………………………………………… 35
2.7 异常与中断………………………………………………………………………………………… 36
2.7.1 中断的基本概念 ……………………………………………………………………… 36
2.7.2 嵌套向量中断控制器 …………………………………………………………………… 39
2.7.3 中断寄存器 …………………………………………………………………………… 40
2.7.4 向量表 …………………………………………………………………………………… 47
2.7.5 中断输入及挂起 ………………………………………………………………………… 48
2.7.6 Fault类异常……………………………………………………………………………… 50
2.7.7 中断的具体行为 ……………………………………………………………………… 51
2.7.8 中断嵌套控制 …………………………………………………………………………… 53
2.7.9 高级中断技术 …………………………………………………………………………… 53
2.7.10 异常返回值……………………………………………………………………………… 55
2.7.11 中断系统设置过程……………………………………………………………………… 56
2.8 复位序列 ……………………………………………………………………………………… 57
2.9 习题………………………………………………………………………………………………… 59 第3章 STM32F1系列微控制器 ……………………………………………………………………… 60
3.1 STM32F1系列微控制器简介 …………………………………………………………………… 60
3.2 STM32F1系列产品系统构架和 STM32F103ZET6内部结构 ………………………………… 61
3.2.1 STM32F1系列产品系统架构 ……………………………………………………… 61
3.2.2 STM32F103ZET6的内部架构 ………………………………………………………… 62
3.3 STM32F103ZET6的存储器映像 ………………………………………………………………… 65
3.4 STM32F103ZET6的时钟结构 ……………………………………………………………… 69
3.5 STM32F103VET6的引脚 ……………………………………………………………………… 71
3.6 STM32F103VET6*小系统设计 ……………………………………………………………… 76
3.7 习题………………………………………………………………………………………………… 80 第4章 汇编语言及其程序设计 ……………………………………………………………………… 81
4.1 编程语言简介……………………………………………………………………………………… 81
4.2 指令分类、条件域和指令格式 …………………………………………………………………… 82
4.3 寻址方式…………………………………………………………………………………………… 91
4.4 Cortex-M3指令集 …………………………………………………………………………… 94
4.4.1 数据传送类指令 ………………………………………………………………………… 94
4.4.2 数据处理类指令 ………………………………………………………………………… 99
4.4.3 跳转指令………………………………………………………………………………… 110
4.4.4 其他指令………………………………………………………………………………… 115
4.4.5 Thumb指令及应用 …………………………………………………………………… 115
4.5 汇编语言程序设计举例 ………………………………………………………………………… 116
4.5.1 分支程序设计…………………………………………………………………………… 116
4.5.2 循环程序设计…………………………………………………………………………… 118
4.5.3 子程序的调用与返回…………………………………………………………………… 119
4.6 习题 ……………………………………………………………………………………………… 120 第5章 ARM 微控制器开发 ………………………………………………………………………… 121
5.1 开发流程 ………………………………………………………………………………………… 121
5.2 处理器的启动过程 ……………………………………………………………………………… 122
5.3 输入和输出接口 ………………………………………………………………………………… 123
5.4 程序映像 ………………………………………………………………………………………… 123
5.5 C 语言开发 ARM 应用 ………………………………………………………………………… 127
5.6 固件库 …………………………………………………………………………………………… 131
5.6.1 基于固件库开发和直接操作寄存器的区别…………………………………………… 132
5.6.2 STM32固件库简介 …………………………………………………………………… 133
5.7 STM32CubeMX 简介 …………………………………………………………………………… 136
5.8 习题 ……………………………………………………………………………………………… 137
第6章 通用输入/输出接口 ………………………………………………………………………… 138
6.1 通用输入/输出接口概述 …………………………………………………………………… 138
6.2 GPIO 的功能 …………………………………………………………………………………… 140
6.3 GPIO 的寄存器 ………………………………………………………………………………… 143
6.4 RCC 时钟模块的寄存器 ………………………………………………………………………… 146
6.5 GPIO 的使用 …………………………………………………………………………………… 156
6.5.1 利用汇编语言访问 GPIO ………………………………………………………… 156
6.5.2 利用 C 语言直接操作寄存器方法访问 GPIO …………………………………… 160
6.5.3 利用固件库函数方法访问 GPIO ………………………………………………… 163
6.5.4 利用 CubeMX 环境访问 GPIO …………………………………………………… 169
6.6 习题 ……………………………………………………………………………………………… 173 第7章 中断和事件 …………………………………………………………………………………… 174
7.1 STM32的中断源及中断优先级 ………………………………………………………………… 174
7.2 外部中断/事件控制器…………………………………………………………………………… 177
7.2.1 外部中断/事件控制器的结构及工作过程 ………………………………………… 178
7.2.2 外部中断/事件控制器相关寄存器 …………………………………………………… 180
7.3 外部中断的使用 ………………………………………………………………………………… 182
7.3.1 外部中断相关的固件库函数…………………………………………………………… 183
7.3.2 利用固件库函数开发外部中断应用 ……………………………………………… 186
7.4 习题 ……………………………………………………………………………………………… 188 第8章 定时器 …………………………………………………………………………………………… 189
8.1 STM32通用定时器概述 ………………………………………………………………………… 189
8.1.1 高级控制定时器(TIM1和 TIM8) …………………………………………………… 189
8.1.2 普通定时器(TIMx) …………………………………………………………………… 190
8.1.3 基本定时器(TIM6和 TIM7) ………………………………………………………… 190
8.1.4 定时器的时钟 ……………………………………………………………………… 191
8.2 普通定时器的结构 …………………………………………………………………………… 191
8.2.1 时基单元………………………………………………………………………………… 192
8.2.2 计数器模式……………………………………………………………………………… 192
8.2.3 时钟选择………………………………………………………………………………… 199
8.3 普通定时器的寄存器 …………………………………………………………………………… 202
8.4 普通定时器的使用 …………………………………………………………………………… 205
8.4.1 普通定时器的固件库函数……………………………………………………………… 205
8.4.2 普通定时器的使用举例 ………………………………………………………………… 208
8.5 习题 ……………………………………………………………………………………………… 210 第9章 串行通信 ………………………………………………………………………………………… 211
9.1 通信的有关概念 ………………………………………………………………………………… 211
9.1.1 串行通信的相关概念 …………………………………………………………………… 211
9.1.2 并行通信中的相关概念 ………………………………………………………………… 217
9.2 STM32的异步串行通信接口 …………………………………………………………………… 218
9.2.1 STM32异步串行通信接口简介 ……………………………………………………… 218
9.2.2 STM32的 USART 引脚重映射 ……………………………………………………… 220
9.2.3 STM32的 USART 接口结构 ……………………………………………………… 220
9.2.4 STM32的 USART 特性 ……………………………………………………………… 222
9.2.5 STM32的 USART 中断请求 ……………………………………………………… 229
9.2.6 STM32的 USART 寄存器 …………………………………………………………… 230
9.2.7 STM32的 USART 固件库函数 …………………………………………………… 237
9.2.8 STM32的 USART 使用举例 ………………………………………………………… 241
9.3 STM32的 SPI接口 ……………………………………………………………………………… 243
9.3.1 STM32的 SPI接口简介 ……………………………………………………………… 243
9.3.2 STM32的 SPI接口结构 ……………………………………………………………… 243
9.3.3 STM32的 SPI接口配置 ……………………………………………………………… 245
9.3.4 STM32的 SPI接口数据发送与接收过程 …………………………………………… 248
9.3.5 CRC 计算 ……………………………………………………………………………… 255
9.3.6 状态标志………………………………………………………………………………… 259
9.3.7 关闭 SPI………………………………………………………………………………… 259
9.3.8 STM32的 SPI接口中断 ……………………………………………………………… 260
9.3.9 STM32的 SPI接口的寄存器 ………………………………………………………… 260
9.3.10 STM32的 SPI接口固件库函数 ……………………………………………………… 264
9.3.11 STM32的 SPI接口应用实例 ………………………………………………………… 270
9.4 习题 ……………………………………………………………………………………………… 273 第10章 模拟量模块 …………………………………………………………………………………… 274
10.1 模数转换器的工作原理及性能指标 ………………………………………………………… 275
10.1.1 模数转换器的工作原理 …………………………………………………………… 275
10.1.2 模数转换器的性能指标 …………………………………………………………… 275
10.2 STM32F103VET6集成的 ADC 模块 ……………………………………………………… 277
10.2.1 STM32的 ADC 概述 ……………………………………………………………… 277
10.2.2 STM32的 ADC 模块结构 ……………………………………………………… 278
10.2.3 STM32的 ADC 配置 ……………………………………………………………… 278
10.2.4 STM32的 ADC 应用特征 ……………………………………………………… 283
10.2.5 STM32的 ADC 中断请求 ………………………………………………………… 287
10.2.6 STM32的 ADC 寄存器 …………………………………………………………… 288
10.2.7 STM32的 ADC 固件库函数 …………………………………………………… 296
10.2.8 STM32的 ADC 使用举例 ………………………………………………………… 300
10.3 数模转换器的工作原理及性能指标 ………………………………………………………… 301
10.3.1 数模转换器的工作原理 …………………………………………………………… 301
10.3.2 数模转换器的性能指标 …………………………………………………………… 303
10.4 STM32F103VET6集成的 DAC 模块 ……………………………………………………… 303
10.4.1 STM32的 DAC 主要特征 ………………………………………………………… 303
10.4.2 STM32的 DAC 接口结构 ………………………………………………………… 304
10.4.3 STM32的 DAC 配置 ……………………………………………………………… 304
10.4.4 STM32的 DAC 寄存器 …………………………………………………………… 308
10.4.5 STM32的 DAC 固件库函数 ……………………………………………………… 313
10.4.6 STM32的 DAC 使用举例 ………………………………………………………… 315
10.5 习题 …………………………………………………………………………………………… 317
第11章 DMA控制器 ………………………………………………………………………………… 318
11.1 DMA 的结构和主要特征 ………………………………………………………………… 318
11.2 DMA 的功能描述 …………………………………………………………………………… 319
11.2.1 DMA 处理 ………………………………………………………………………… 319
11.2.2 仲裁器 ……………………………………………………………………………… 320
11.2.3 DMA 通道 ………………………………………………………………………… 320
11.2.4 可编程的数据传输宽度、对齐方式和数据大小端 ……………………………… 321
11.2.5 DMA 中断 ………………………………………………………………………… 323
11.2.6 DMA 请求映像 …………………………………………………………………… 323
11.3 DMA 的寄存器 ……………………………………………………………………………… 326
11.4 DMA 的固件库函数 ……………………………………………………………………… 329
11.4.1 DMA 寄存器 C 语言结构定义 …………………………………………………… 329
11.4.2 DMA 库函数 ……………………………………………………………………… 330
11.5 DMA 使用举例 ……………………………………………………………………………… 336
11.6 习题 …………………………………………………………………………………………… 339
第12章 FSMC控制器 ………………………………………………………………………………… 340
12.1 FSMC 的功能和结构 ………………………………………………………………………… 340
12.1.1 FSMC 的功能描述 ……………………………………………………………… 340
12.1.2 FSMC 的结构 ……………………………………………………………………… 341
12.2 AHB接口 …………………………………………………………………………………… 341
12.3 FSMC 外部设备地址映像 …………………………………………………………………… 342
12.4 NOR 闪存和 PSRAM 控制器………………………………………………………………… 343
12.4.1 外部存储器接口信号 …………………………………………………………… 344
12.4.2 支持的存储器及其操作 …………………………………………………………… 345
12.4.3 NOR 闪存和 PSRAM 控制器时序………………………………………………… 346
12.4.4 同步的成组读 ……………………………………………………………………… 356
12.5 NOR 闪存和 PSRAM 控制器寄存器………………………………………………………… 360
12.6 FSMC 固件库函数 ………………………………………………………………………… 365
12.7 FSMC 使用举例 …………………………………………………………………………… 367
12.8 习题 …………………………………………………………………………………………… 378 附录A ASCII码表 ……………………………………………………………………………………… 379 附录B 逻辑符号对照表 ……………………………………………………………………………… 380 附录C 使用MDK开发调试汇编语言程序 ……………………………………………………… 381
C.1 MDK 简介 ……………………………………………………………………………………… 381
C.2 使用 MDK 调试汇编语言程序 ……………………………………………………………… 384 参考文献 …………………………………………………………………………………………………… 393
展开全部
作者简介
陈桂友,教育部全国万名优秀创新创业导师,全国高校黄大年式教师团队成员,教育部硕士学位论文评审专家,山东大学“嵌入式系统与人工智能”创新教育平台主任,山东大学控制科学与工程学院实验教学与创新实践中心主任,山东省教育学会人工智能教育专业委员会理事长,山东省自动化学会理事,山东省大学生智能技术应用设计大赛发起人之一。新疆自治区“天山学者”主讲教授,全国大学生智能汽车竞赛山东赛区秘书长。主要研究方向为嵌入式系统与人工智能,大数据技术及应用。
预估到手价 ×
预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。
确定