第1章 ARM Cortex-M3处理器编程环境与嵌入式系统 1
1.1 单片机与ARM Cortex-M3处理器 1
1.2 基于ARM Cortex-M3的STM32单片机教学开发板 5
任务一 获得软件 7
任务二 安装软件 8
任务三 硬件连接 9
1.3 创建工程和执行程序 11
任务四 你的第一个工程 11
任务五 你的第一个程序 15
任务六 下载可执行文件到教学开发板 18
任务七 用串口调试软件查看单片机输出信息 25
任务八 做完实验关断电源 29
工程素质和技能归纳 29
第2章 STM32单片机I/O端口与伺服电机控制 30
2.1 STM32单片机的输入/输出端口 30
任务一 认识封装 30
任务二 单灯闪烁控制 33
2.2 STM32单片机的时钟配置 36
2.3 STM32单片机的I/O端口配置 45
任务三 让另一个LED闪烁 58
任务四 流水灯 59
2.4 STM32单片机I/O端口的应用 60
任务五 机器人伺服电机控制信号 60
任务六 计数并控制循环次数 63
任务七 用你的计算机来控制机器人运动 66
工程素质和技能归纳 68
第3章 STM32单片机程序模块化设计与机器人运动控制 70
3.1 STM32单片机程序调试方法 70
任务一 程序调试 70
3.2 STM32单片机程序模块化设计 78
任务二 基本巡航动作 79
任务三 匀加速/减速运动 82
任务四 用函数调用简化运动程序 84
任务五 高级主题——用数组建立复杂运动 88
工程素质和技能归纳 92
第4章 STM32单片机中断编程与机器人触觉导航 93
4.1 STM32单片机按键输入检测 93
任务一 按键检测 94
4.2 STM32单片机输入端口的应用 95
任务二 安装并测试机器人的触觉——胡须 95
任务三 基于胡须的机器人触觉导航 100
任务四 机器人进入死区后的人工智能决策 103
4.3 STM32单片机中断编程 107
任务五 按键中断 113
任务六 中断方式测试机器人触觉 129
工程素质和技能归纳 131
第5章 STM32单片机输入/输出端口综合应用与红外导航 132
任务一 搭建电路并测试红外发射器和接收器 133
任务二 探测和避开障碍物 137
任务三 高性能的红外导航 141
任务四 俯视的探测器 143
工程素质和技能归纳 146
第6章 STM32单片机定时器编程与机器人的距离检测 147
6.1 STM32单片机通用定时器 147
任务一 通用定时器控制LED闪烁 155
6.2 STM32单片机通用定时器的应用 158
任务二 距离探测 158
任务三 尾随小车 162
任务四 跟踪条纹带 168
6.3 STM32单片机高级控制定时器 170
任务五 高级控制定时器控制LED闪烁 172
任务六 使用高级控制定时器实现PWM控制 174
工程素质和技能归纳 182
第7章 STM32单片机串口编程及其应用 183
7.1 STM32单片机串行通信接口 183
任务一 编写串口通信程序 188
7.2 串行RS-232电平与TTL电平转换 190
任务二 串口Echo回应程序 194
工程素质和技能归纳 198
第8章 STM32单片机LCD显示接口编程及其应用 199
8.1 LCD介绍 199
任务一 认识LCD模块 201
8.2 STM32单片机LCD接口编程 201
任务二 编写LCD模块驱动程序 206
任务三 用LCD显示机器人运动状态 209
工程素质和技能归纳 213
第9章 STM32单片机模数转换编程及其应用 214
9.1 A/D模数转换介绍 214
任务一 认识传感器 216
9.2 STM32单片机A/D转换编程 217
任务二 编写A/D程序 224
任务三 环境温度测量 226
工程素质和技能归纳 231
第10章 STM32单片机DMA编程及其应用 232
10.1 DMA介绍 232
10.2 STM32单片机DMA编程 234
任务一 利用DMA方式进行A/D数据采集 238
任务二 DMA与USART、ADC、定时器综合编程 242
工程素质和技能归纳 246
第11章 STM32单片机实时时钟编程及其应用 247
11.1 RTC实时时钟介绍 247
任务一 进一步认识晶振 249
11.2 STM32单片机RTC的结构和寄存器 251
11.3 STM32单片机的备份寄存器和电源控制寄存器 255
任务二 编写RTC程序 258
任务三 RTC时间设置编程 263
任务四 闹钟提醒机器人编程 271
11.4 STM32单片机的侵入检测 275
任务五 侵入检测编程 275
11.5 STM32单片机的电源控制 278
任务六 电源控制编程 281
工程素质和技能归纳 284
第12章 STM32单片机看门狗编程及其应用 285
12.1 看门狗介绍 285
12.2 STM32单片机独立看门狗编程 287
任务一 独立看门狗编程 290
任务二 认识系统节拍定时器 294
12.3 STM32单片机窗口看门狗编程 295
任务三 窗口看门狗编程 298
工程素质和技能归纳 304
第13章 STM32单片机数模转换编程及其应用 305
13.1 D/A数模转换介绍 305
13.2 STM32单片机D/A结构和编程方法 307
13.3 STM32单片机D/A转换编程 316
任务一 三角波生成 316
任务二 噪声生成 321
任务三 自定义波形生成 322
工程素质和技能归纳 324
附录A 本书所用STM32教学开发板主要电路图 325
附录B 基于ARM Cortex-M3的STM32微控制器原理归纳 333
B.1 基于ARM Cortex-M3内核的STM32F10x微控制器结构 333
B.2 存储映像地址 337
B.3 芯片编号和引脚说明 344
附录C STM32固件库说明 351
附录D 本书所使用的器材清单 365
参考文献 367