内容推荐 本书以兼顾原理、注重应用为原则,以主流STM32F1系列微控制器为硬件平台,系统讲述微控制器系统构架及内部资源工作原理,并将其与典型应用紧密结合,涵盖于通用输入/输出接口(GPIO)、中断管理、定时器、串口通信、模数转换(ADC)等章节中;程序设计方法采用典型前后台程序结构,通过键盘、显示人机接口定时器、主从串口通信等简单案例原理分析,使读者理解任务需求与微控制器内部资源配置之间的关系,以及系统任务调度的方法。通过章节例程及本书应用案例学习,读者可以系统了解一个完整微控制器应用系统设计开发的方法和步骤。 软件开发采用STM32CubeMX软件,用图形化界面简单直观地对目标芯片的引脚、时钟及内部资源进行初始化配置,生成基于硬件抽象库(HAL库)的程序架构,并配合MDK-ARM等集成开发环境,实现应用程序的编写。这样做既加快了微控制器系统的开发效率,又降低了学习难度。 本书可作为高等院校电子信息类、自动化类、机电类专业本科生“单片机原理及应用”“微控制器原理及应用”课程的教材,也可供微控制器系统应用的工程技术人员参考。 目录 第1章 微控制器概述 1.1 微控制器 1.1.1 基本概念 1.1.2 微控制器发展 1.2 ARM处理器 1.2.1 ARM处理器架构体系 1.2.2 ARM处理器分类 1.3 Cortex-M3(CM3)内核微控制器 1.4 STM32系列微控制器 1.4.1 STM32F103系列微控制器 1.4.2 STM32总线和存储器结构 1.4.3 STM32最小系统电路 本章习题 第2章 开发环境 2.1 STM32CubeMX图形化代码生成工具 2.1.1 STM32CubeMX安装及建立新工程 2.1.2 芯片选型 2.1.3 时钟配置 2.1.4 引脚配置 2.1.5 工程代码生成 2.2 Keil集成开发环境 2.2.1 Keil安装 2.2.2 源程序编辑和管理 2.2.3 工程路径管理和设置 2.2.4 工程编译 2.2.5 可执行文件生成设置 2.2.6 程序空间-内存空间 2.2.7 程序下载和调试 2.3 程序框架 2.3.1 启动程序 2.3.2 Cortex-M3微控制器软件接口标准CMSIS 2.3.3 HAL库 2.3.4 用户程序 2.4 工程调试和验证 2.5 应用实例 本章习题 第3章 嵌入式C语言基础 3.1 标识符与关键字 3.2 数据类型与运算符 3.2.1 数据类型 3.2.2 变量 3.2.3 常量 3.2.4 运算符 3.3 数组 3.4 流程控制语句 3.4.1 语句 3.4.2 if语句 3.4.3 while语句 3.4.4 for语句 3.4.5 switch语句 3.4.6 break和continue语句 3.5 函数 3.6 指针 3.6.1 内存和地址 3.6.2 指针变量 3.6.3 指针运算符 3.6.4 指针在STM32中应用 3.7 结构体与枚举 3.7.1 结构体 3.7.2 枚举类型 3.8 预处理命令 3.8.1 宏定义 3.8.2 文件包含 3.8.3 条件编译 本章习题 第4章 GPIO基础 4.1 GPIO基本结构 4.2 GPIO的工作模式 4.2.1 浮空输入模式 4.2.2 上拉输入模式 4.2.3 下拉输入模式 4.2.4 模拟输入模式 4.2.5 推挽输出模式 4.2.6 开漏输出模式 4.2.7 推挽复用输出 4.2.8 开漏复用输出 4.2.9 GPIO工作模式总结 4.3 STM32F10x系列GPIO寄存器 4.3.1 端口配置寄存器 4.3.2 端口输入数据寄存器 4.3.3 端口输出数据寄存器 4.3.4 端口置位/复位寄存器 4.3.5 端口复位寄存器 4.3.6 端口配置锁定寄存器 4.3.7 寄存器操作 4.4 GPIO常用HAL库函数 4.5 GPIO应用实例——流水灯 本章习题 第5章 GPIO接口电路及应用 5.1 LED数码显示接口电路 5.1.1 LED数码管显示原理 5.1.2 LED数码管显示方式 5.1.3 LED数码管显示应用 5.2 键盘接口电路 5.2.1 键盘原理 5.2.2 独立式键盘及应用 5.2.3 矩阵式键盘及应用 5.2.4 键盘显示接口芯片 5.3 其他接口电路 5.3.1 GPIO驱动电路 5.3.2 GPIO电平转换电路 5.3.3 GPIO隔离电路 本章习题 第6章 中断系统 6.1 中断的基本概念 6.2 中断组成结构 6.2.1 系统控制块 6.2.2 嵌套向量中断控制器(NVIC) 6.2.3 中断优先级 6.2.4 中断和异常向量表 6.2.5 外部中断/事件控制器(EXTI) 6.3 中断响应过程 6.4 HAL库中断函数与中断处理机制 6.4.1 HAL库常用中断函数 6.4.2 HAL库中断处理机制 6.5 中断、外部中断应用 6.5.1 中断编程步骤 6.5.2 中断应用举例 本章习题 第7章 定时器原理及应用 7.1 定时器概述 7.2 SysTick定时器 7.2.1 SysTick定时器结构 7.2.2 Systick定时器工作机制 7.2.3 Systick定时器常用HAL库函数 7.2.4 SysTick定时器应用 7.3 常规定时器 7.3.1 基本定时器 7.3.2 通用定时器和高级定时器 7.3.3 时基定时器常用HAL库函数 7.4 时基定时器应用 7.5 定时器PWM输出 7.5.1 定时器输出比较模式 7.5.2 PWM输出工作原理 7.5.3 PWM输出常用HAL库函数 7.5.4 PWM输出应用 7.6 定时器输入捕获 7.6.1 输入捕获工作原理 7.6.2 输入捕获常用HAL库函数 7.6.3 输入捕获应用 本章习题 第8章 串口通信原理及应用 8.1 通信的基本概念 8.2 串行通信协议 8.2.1 物理层 8.2.2 通信接口电路 8.2.3 协议层 8.3 STM32通用同步异步收发器 8.3.1 USART结构及工作原理 8.3.2 串口通信使用流程 8.4 UART常用HAL库函数 8.5 UART工作模式与库函数处理机制 8.5.1 轮询方式HAL库函数处理机制 8.5.2 中断方式HAL库函数处理机制 8.5.3 DMA方式HAL库函数处理机制 8.6 UART应用实例 8.6.1 单机通信应用 8.6.2 多机通信应用 本章习题 第9章 ADC原理及应用 |