内容简介
本书内括了基于STM32的嵌入式系统设计的原理、硬件设计、软件开发及工程实践。紧扣教学需求, 以满足无人驾驶行业应用需求为主线, 根据无人驾驶控制系统的特点,选取无人驾驶装置基能作为实践内容。内括无人驾驶装置开发基础、无人驾驶装置的启停控制、无人驾驶装置显示系统、无人驾驶装置驱动系统、无人驾驶装置数据存储系统、无人驾驶装置的感知系统等。本书可作为电子信息类专业的核心课教材。
目录
项目一 无人驾驶装置开发基础 1.1 常见无人驾驶装置简介 1.1.1 智能机器人的架构介绍 1.1.2 自动驾驶系统的架构介绍 1.1.3 无人机机载控制系统架构的介绍 1.2 STM32概述 1.2.1 ARM处理器简介 1.2.2 Cortex—M3内核简介 1.2.3 STM32 MCU简介 1.3 搭建软件开发环境 1.3.1 MDK—KeiI μVision简介 1.3.2 MDK—Keil μ Vision 5安装与设置 1.3.3 Proteus简介 1.3.4 Proteus 8安装与设置 1.4 案例一 MDK5下STM32的程序开发 1.4.1 STM32的开发方式 1.4.2 STM32编程的C语言基础 1.4.3 STM32固件库简介 1.4.4 创建个工程 1.4.5 STM32软件仿真 1.5 案例二Proteus 8下sTM32的硬件原理仿真 1.5.1 Schaematic Captute介绍 1.5.2 STM32小系统 1.5.3 绘制小系统原理图 1.5.4 原理图仿真调试 章节测验项目二 无人驾驶装置的启停控制 2.1 STM32GP10简介 2.1.1 GPIO的8种工作模式 2.1.2 与GPIO相关寄存器及库函数说明 2.1.3 GPIO钟配置 2.2 SysTick定时器 2.2.1 SysTick简介 2.2.2 SysTick寄存器介绍 2.2.3 延能 2.3 案例三无人驾驶装置指示灯(I/0位输出)设计 2.3.1 方案设计 2.3.2 硬件设计 2.3.3 软件设计 2.3.4 软件仿真 2.4 案例四无人驾驶装置系统启停电路(I/0位输入)设计 2.4.1 方案设计 2.4.2 硬件设计 2.4.3 软件设计 2.4.4 软件仿真 2.5 STM32的中断向量表 2.6 嵌套向量中断控制器NVIC 2.6.1 优先级定义 2.6.2 优先级分组 2.6.3 中断编程的具体流程 2.7 EXTI外部中断 2.7.1 外部中断初始化配置 2.7.2 编写中断服务函数 2.7.3 外部中断配置过程 2.8 案例五无人驾驶装置系统启停电路(中断方式)设计 2.8.1 方案设计 2.8.2 硬件设计 2.8.3 软件设计 2.8.4 软件仿真 章节测验项目三 无人驾驶装置人机交互系统 3.1 STM32通用定时器简介 3.1.1 STM32的定时器 3.1.2 STM32的通用定时器 /104 3.1.3 STM32的通用定时器能特点 3.1.4 STM32的通用定时器的结构 3.1.5 计数模式 3.2 通用定时器的寄存器 3.2.1 计数器当前值寄存器 3.2.2 预分频寄存器 3.2.3 自动重装载寄存器 3.2.4 控制寄存器 3.2.5 DMA/中断使能寄存器 3.2.6 计算通用定时器溢出时间 3.3 通用定时器中断处理 3.3.1 中断处理步骤 3.3.2 中断处理固件库函数介绍 3.4 OLED显示器 3.4.1 OLED简介 3.4.2 OLED接口时序 3.4.3 OLED的显存 3.4.4 SSD1306的指令 3.5 案例六无人驾驶装置显示系统(OLED)设计 3.5.1 方案设计 3.5.2 硬件设计 3.5.3 软件设计 3.5.4 软件仿真 章节测验项目四 无人驾驶装置驱动系统 4.1 直流电机调速原理 4.1.1 脉冲宽度调制 4.1.2 双极式可逆PWM调速 4.2 STM32的PWM简介 4.3 PWM相关寄存器 4.3.1 捕获/比较模式寄存器 4.3.2 捕获/比较使能寄存器 4.3.3 捕获/比较寄存器 4.4 案例七无人驾驶装置驱动系统(PWM)设计 4.4.1 方案设计 4.4.2 硬件设计 4.4.3 软件设计 4.4.4 软件仿真 章节测验项目五 无人驾驶装置数据存储系统 5.1 常用存储器介绍 5.1.1 存储器类 5.1.2 RAM存储器 5.1.3 非易失存储器 5.2 12C协议 5.2.1 12C协议简介 .5.2.2 12C基本读写过程 5.2.3 通信的起始和停止信号 .5.2.4 数据有效 5.2.5 地址及数据方 5.2.6 应答 5.3 STM32的12C外设 5.3.1 通信引脚 5.3.2 相关寄存器 5.3.3 时钟控制逻辑 5.3.4 控制逻辑 5.3.5 主模式通信过程 5.3.6 12C中断请求 5.4 AT24C02简介 5.5 案例八无人驾驶装置系统参数存储之:EEPROM 5.1.1 方案设计 5.5.2 硬件设计 5.5.3 软件设计 5.5.4 软件仿真 章节测验项目六 无人驾驶装置的通信系统 6.1 通信的概念 6.1.1 并行通信 6.1.2 串行通信 6.2 串口通信协议 6.2.1 物理层 6.2.2 协议层 6.3 STM32的USART外设 6.3.1 USAR能框图 6.3.2 USAR3、相关寄存器 6.4 MAX232简介 6.5 案例九无人驾驶装置系统通信接口(IlS-232)设计 6.5.1 方案设计 6.5.2 硬件设计 6.5.3 软件设计 6.5.4 软件仿真 章节测验项目七 无人驾驶装置的感知系统 7.1 模数转换器AD能介绍 7.1.1 STM32 ADC简介 7.1.2 AD能介绍 7.2 ADC相关寄存器 7.2.1 ADC控制寄存器 7.2.2 ADC控制寄存器 7.2.3 ADC采样事件寄存器(ADC—SMPR1和ADC_SMPR2) 7.2.4 ADC规则序列寄存器(ADC SQR1-3) 7.2.5 ADc规则数据寄存器(ADC-DR) 7.2.6 ADC状态寄存器(ADC_SR) 7.3 ADC转换模式 7.3.1 单次转换模式 7.3.2 连续转换模式 7.4 惯导航系统 7.4.1 惯传感器 7.4.2 无人驾驶装置的传感器网络 7.4.3 传感器的原理 7.5 案例十无人驾驶装置姿态检测 7.5.1 方案设计 7.5.2 硬件设计 7.5.3 软件设计 7.5.4 软件仿真 7.6 超声波测距原理 7.7 案例十一无人驾驶装置障碍物探测 7.7.1 方案设计 7.7.2 硬件设计 7.7.3 软件设计 7.7.4 软件仿真 章节测验项目八 工程实例:基于STM32的智能机器人 8.1 智能机器人简介 8.1.1 循迹板介~g 8.1.2 云台摄像头介绍 8.1.3 任务板介绍 8.1.4 各组成部分连接 8.2 智能机器人硬件资源 8.2.1 主控核心板硬件资源 8.2.2 通信显示板硬件资源 8.3 T程实例 8.3.1 LED测试实验 8.3.2 按键实验 8.3.3 PWM输出实验 8.3.4 CA线测试实验 8.3.5 Wi-Fi测试实验 8.3.6 光强度测量实验 8.3.7 超声波测量实验 8.3.8 Rt-ID读卡器实验 8.3.9 智能语音控制实验 8.3.10 综合实验参考文献