目 录
第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)
任务五 按键中断 (112)
任务六 中断方式测试机器人触觉 (128)
工程素质和技能归纳 (130)
第5章 STM32单片机输入/输出端口综合应用与红外导航 (132)
任务一 搭建电路并测试红外发射器和接收器 (133)
任务二 探测和避开障碍物 (137)
任务三 高性能的红外导航 (140)
任务四 俯视的探测器 (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)
任务一 独立看门狗编程 (289)
任务二 认识系统节拍定时器 (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)