注册 登录 进入教材巡展
#
  • #

出版时间:2024-08

出版社:中国铁道出版社

以下为《ARM微控制器与嵌入式系统》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 中国铁道出版社
  • 9787113308247
  • 1-1
  • 531532
  • 16开
  • 2024-08
  • 计算机类
  • 高职
内容简介
本书是“十四五”高等职业教育新形态一体化教材之一,以实际应用开发为主线,讲解了 基于ARM Cortex-M4为内核的微控制器STM32F407的开发方法。本书采用项目引领、任务驱 动的编写方式,先从开发环境的搭建开始,让读者快速进入开发角色,然后从点亮单灯、GPIO 接口、定时器、NVIC、USART、SPI、I²C、PWM、ADC,再到嵌入式系统移植,由浅入深,使读者熟悉 ARM微控制器与嵌入式系统的开发流程、STM32F4xx的固件库,以及各外设的使用方法。
本书适合作为高等职业院校学习ARM微控制器与嵌入式系统的教材,也可作为微控制器 与嵌入式系统爱好者的自学用书,以及嵌入式工程技术人员的培训用书。


目录
项目一 开发环境搭建 1
任务一 微控制器选型 1
【任务描述】 1
【相关知识】 2
一、ARM 微控制器发展历史 2
二、软件接口标准 CMSIS 2
【任务实施】 3
控制器选型 3
任务二 初识开发板硬件电路 6
【任务描述】 6
【相关知识】 6
STM32 微控制器启动模式 6
【任务实施】 6
一、了解扩展板硬件电路 6
二、了解核心板电路 8
任务三 搭建开发环境 10
【任务描述】 10
【相关知识】 10
一、MDK-ARM 10
二、JTAG 接口和 SWD 调试接口 10
【任务实施】 11
一、获取 KEIL5 安装包 11
二、安装 KEIL5 11
三、安装 STM32 芯片包 13
四、安装调试工具 15
项目总结 16
扩展阅读:华为麒麟芯片十年
攀登史 16
项目二 库函数开发初探———从点亮单灯开始 18
任务一 多文件编程 18
【任务描述】 18
【相关知识】 18
一、使用函数提高编程效率 18
二、模块化编程 20
【任务实施】 21
使用多文件编程求三角形和矩形面积 21
任务二 创建库函数工程模板 22
【任务描述】 22
【相关知识】 22
一、固件库文件 22
二、帮助文档 26
【任务实施】 27
创建库函数工程模板 27
任务三 点亮单灯 34
【任务描述】 34
【相关知识】 34
一、点亮 LED 灯的开发步骤 34
二、LED 灯的硬件电路 34
三、点亮 LED 灯的软件设计 35
【任务实施】 35
使用库函数开发点亮单灯 35
项目总结 39
扩展阅读:千里之行始于足下 39
项目三 使用 GPIO 接口完成简单开发任务 40
任务一 使用 GPIO 实现流水灯 40
【任务描述】 40
【相关知识】 40
一、GPIO 工作模式 40
二、STM32F407ZGT6 的时钟系统 45
三、GPIO 结构体及库函数 49
【任务实施】 53
通过 GPIOA 实现流水灯 53
任务二 使用 GPIO 完成按键控制 55
【任务描述】 55
【相关知识】 55
一、按键的硬件电路 55
二、按键去抖 56
三、按键控制软件设计 56
【任务实施】 57
一、使用 GPIOC0 控制按键 57
二、多个按键控制 59
任务三 数码管动态显示 60
【任务描述】 60
【相关知识】 60
一、数码管内部结构 60
二、数码管的静态显示 61
三、数码管的动态显示 62
【任务实施】 62
一、在一位数码管上轮流显示0 ~ 9 62
二、四位数码管显示不同数字 64
项目总结 67
项目拓展 67
扩展阅读:代码规范 67
项目四 利用定时器和外部中断实现电子钟校准 68
任务一 通过嵌套向量中断控制器
NVIC 设置中断参数 69
【任务描述】 69
【相关知识】 69
一、 STM32 的中断和异常 69
二、嵌套向量中断控制器 NVIC 70
三、 NVIC 结构体 73
四、 NVIC 的固件库函数 75
五、中断编程要点 75
【任务实施】 75
完成基本定时器 TIM6 的 NVIC配置 75
任务二 利用定时器实现电子钟 76
【任务描述】 76
【相关知识】 77
一、高级定时器、通用定时器、基本定时器 77
二、基本定时器的主要特性 77
三、定时器的结构体 80
四、定时器的库函数 81
五、使用基本定时器 TIM6定时 1 s 82
【任务实施】 83
一、掌握基本定时器的原理 83
二、定时器定时 1 s 83
三、定时器实现电子钟 84
任务三 利用外部中断实现电子钟的校准 87
【任务描述】 87
【相关知识】 88
一、EXTI 控制器的主要特性 88
二、使用软件中断产生外部中断 89
三、 EXTI 的结构体 90
四、 ETXI 的库函数 91
【任务实施】 92
一、配置外部中断线的相关参数 92
二、利用外部中断实现电子钟的校准 93
项目总结 98
扩展阅读:知识产权 98
项目五 通过 USART 收发数据 100
任务一 配置 USART 的参数 101
【任务描述】 101
【相关知识】 101
一、串口通信协议 101
二、USART 主要特性 104
三、USART 功能 104
四、USART 的结构体 109
五、USART 的库函数 111
【任务实施】 113
配置 USART1 的相关参数 113
任务二 通过 USART 收发数据 114
【任务描述】 114
【相关知识】 114
一、通过 USART 进行数据发送与接收原理 114
二、编程要点 114
【任务实施】 115
通过 USART1 发送、接收数据并控制 LED 灯 115
项目总结 122
扩展阅读:中国自主 CPU 发展道路———龙芯研制之路 122
项目六 使用 SPI 总线驱动 TFT 屏显示 123
任务一 设置 SPI 的相关参数 124
【任务描述】 124
【相关知识】 124
一、SPI 协议 124
二、SPI 特性 127
三、SPI 框图 127
四、 SPI 的结构体 129
五、SPI 的库函数 132
【任务实施】 133
设置 SPI 的参数,初始化 SPI1 133
任务二 STM32 驱动 TFT-LCD 屏
显示 133
【任务描述】 133
【相关知识】 133
一、TFT-LCD 屏 133
二、串行接口传输写模式和读模式 134
三、数据传输模式 136
四、显示数据 RAM 136
五、典型电路接法 136
【任务实施】 137
SPI 总线驱动 TFT-LCD 屏显示电子钟 137
项目总结 149
扩展阅读:工匠精神 149
项目七 利用定时器输出 PWM波形 151
任务一 配置定时器生成 PWM 的参数 151
【任务描述】 151
【相关知识】 151
一、PWM 简介 151
二、PWM 的应用 152
三、通用定时器的特性 154
四、通用定时器的功能 155
五、定时器的结构体 166
六、定时器的库函数 167
【任务实施】 168
配置 PWM 参数 168
任务二 通过定时器生成 PWM波形 168
【任务描述】 168
【相关知识】 168
一、定时器生成 PWM 的编程要点 168
二、定时器通道和输出端口的参数配置 169
【任务实施】 172
通过定时器生成 PWM 172
项目总结 175
扩展阅读:精益求精 175
项目八 使用 I2C 获取 BH1750光强 176
任务一 配置 I2C 参数 176
【任务描述】 176
【相关知识】 177
一、 I2C 协议 177
二、 I2C 的主要特性 180
三、 I2C 功能 181
四、 I2C 的通信过程 184
五、 I2C 的结构体 185
六、 I2C 的库函数 187
【任务实施】 191
初始化 I2C 结构体 191
任务二 使用 I2C 驱动 BH1750 获取光强 192
【任务描述】 192
【相关知识】 192
一、 BH1750 环境光强度传感器集成电路 192
二、 BH1750 结构框图 193
三、 BH1750 的测量 194
四、 BH1750 的传输时序 195
【任务实施】 196
驱动 BH1750 获取光强 196
项目总结 203
扩展阅读:柔性 OLED 显示屏 203
项目九 通过 ADC 采集电压值 204
任务一 配置 ADC 参数 204
【任务描述】 204
【相关知识】 205
一、如何实现 A/ D 转换 205
二、STM32 的 ADC 外设 207
三、ADC 的结构体 213
四、ADC 的库函数 217
【任务实施】 221
配置 ADC 相关参数 221
任务二 通过 ADC 采集电压值 221
【任务描述】 221
【相关知识】 221
一、硬件连接方式 221
二、独立模式单通道 ADC 采集编程要点 222
【任务实施】 223
通过 ADC 采集电压值 223
项目总结 226
扩展阅读:华为,正在引爆下一轮
科技革命 226
项目十 嵌入式操作系统 μC/ OS-Ⅲ的移植 227
任务一 将 μC / OS-Ⅲ移植到STM32 F407 开发板 227
【任务描述】 227
【相关知识】 227
一、嵌入式操作系统的特点 227
二、常用的嵌入式操作系统 229
三、裸机系统和多任务操作系统的区别 230
【任务实施】 232
μC/ OS-Ⅲ操作系统移植 232
任务二 在 μC / OS-Ⅲ上实现单任务
———LED 灯闪烁 237
【任务描述】 237
【相关知识】 237
一、多任务系统 237
二、定义任务堆栈 237
【任务实施】 237
在 μC/ OS-Ⅲ上实现 LED 灯闪烁 237
项目总结 239
扩展阅读:华为鸿蒙操作系统 240