第1章 ARM Cortex-M3处理器编程环境与嵌入式系统 1
1.1 单片机与ARM Cortex-M3处理器 1
1.2 基于ARM Cortex-M3的STM32单片机教学开发板 5
任务一 获得软件 7
任务二 安装软件 7
任务三 硬件连接 8
1.3 创建工程和执行程序 10
任务四 你的第一个工程 10
任务五 你的第一个程序 14
任务六 下载可执行文件到教学开发板 19
任务七 用串口调试软件查看单片机输出信息 25
任务八 做完实验关断电源 28
工程素质和技能归纳 29
第2章 STM32单片机IO端口与伺服电机控制 30
2.1 STM32单片机的输入输出端口 30
任务一 认识封装 31
任务二 单灯闪烁控制 33
2.2 STM32单片机的时钟配置 35
2.3 STM32单片机的IO端口配置 45
任务三 该你了——让另一个LED闪烁 57
任务四 流水灯 58
2.4 STM32单片机IO端口的应用 59
任务五 机器人伺服电机控制信号 59
任务六 计数并控制循环次数 62
任务七 用你的计算机来控制机器人的运动 65
工程素质和技能归纳 68
第3章 STM32单片机程序模块化设计与机器人运动控制 69
3.1 STM32单片机程序调试方法 69
任务一 程序调试 69
3.2 STM32单片机程序模块化设计 77
任务二 基本巡航动作 78
任务三 匀加速/减速运动 81
任务四 用函数调用简化运动程序 83
任务五 高级主题——用数组建立复杂运动 87
工程素质和技能归纳 91
第4章 STM32单片机中断编程与机器人触觉导航 92
4.1 TM32单片机按键输入检测 92
任务一 按键检测 92
4.2 STM32单片机输入端口的应用 94
任务二 安装并测试机器人的触觉——胡须 95
任务三 基于胡须的机器人触觉导航 99
任务四 机器人进入死区后的人工智能决策 102
4.3 STM32单片机中断编程 106
任务五 按键中断 111
任务六 中断方式测试机器人触觉 127
工程素质和技能归纳 129
第5章 STM32单片机输入/输出接口综合应用与红外导航 130
任务一 搭建电路并测试红外发射和接收 131
任务二 探测和避开障碍物 135
任务三 高性能的红外导航 138
任务四 俯视的探测器 140
工程素质和技能归纳 144
第6章 STM32单片机定时器编程与机器人的距离检测 145
6.1 STM32单片机通用定时器 145
任务一 通用定时器控制LED闪烁 153
6.2 STM32单片机通用定时器的应用 156
任务二 距离探测 156
任务三 尾随小车 160
任务四 跟踪条纹带 166
6.3 STM32单片机高级控制定时器 168
任务五 高级控制定时器控制LED闪烁 170
任务六 使用高级控制定时器实现PWM控制 172
工程素质和技能归纳 180
第7章 STM32单片机串口编程及其应用 181
7.1 STM32单片机串行通信接口 181
任务一 编写串口通信程序 186
7.2 串行RS-232电平与TTL电平转换 188
任务二 串口Echo回应程序 191
工程素质和技能归纳 195
第8章 STM32单片机LCD显示接口编程及其应用 196
8.1 LCD介绍 196
任务一 认识LCD模块 198
8.2 STM32单片机LCD接口编程 198
任务二 编写LCD模块驱动程序 203
任务三 用LCD显示机器人运动状态 206
工程素质和技能归纳 209
第9章 STM32单片机模数转换编程及其应用 210
9.1 A/D模数转换介绍 210
任务一 认识传感器 211
9.2 STM32单片机A/D转换编程 213
任务二 编写A/D程序 219
任务三 环境温度测量 222
工程素质和技能归纳 226
第10章 STM32单片机DMA编程及其应用 228
10.1 DMA介绍 228
10.2 STM32单片机DMA编程 230
任务一 利用DMA方式进行A/D数据采集 234
任务二 DMA与USART、ADC、定时器综合编程 238
工程素质和技能归纳 242
第11章 STM32单片机实时时钟编程及其应用 243
11.1 RTC实时时钟介绍 243
任务一 进一步认识晶振 244
11.2 STM32单片机RTC的结构和寄存器 247
11.3 STM32单片机的备份寄存器和电源控制寄存器 251
任务二 编写RTC程序 254
任务三 RTC时间设置编程 259
任务四 闹钟提醒机器人编程 267
11.4 STM32单片机的侵入检测 270
任务五 侵入检测编程 271
11.5 STM32单片机的电源控制 273
任务六 电源控制编程 276
工程素质和技能归纳 279
第12章 STM32单片机看门狗编程及其应用 280
12.1 看门狗介绍 280
12.2 STM32单片机独立看门狗编程 282
任务一 独立看门狗编程 284
任务二 认识系统节拍定时器 288
12.3 STM32单片机窗口看门狗编程 289
任务三 窗口看门狗编程 292
工程素质和技能归纳 299
附录A 本书所用STM32教学开发板主要电路图 300
附录B 基于ARM Cortex-M3的STM32微控制器原理归纳 308
B.1 基于ARM Cortex-M3内核的STM32F10x微控制器结构 308
B.2 存储映像地址 312
B.3 芯片编号和引脚说明 319
附录C STM32固件库说明 326
附录D 本书所使用的器材清单 339
参考文献 340