目录 第1章STM32嵌入式微控制器最小系统设计 1.1STM32微控制器概述 1.1.1STM32微控制器产品介绍 1.1.2STM32系统性能分析 1.1.3STM32微控制器的命名规则 1.1.4STM32微控制器内部资源 1.1.5STM32微控制器的选型 1.2STM32F1系列产品系统构架和STM32F103ZET6内部架构 1.2.1STM32F1系列产品系统架构 1.2.2STM32F103ZET6内部架构 1.3STM32F103ZET6的存储器映像 1.3.1STM32F103ZET6内置外设的地址范围 1.3.2嵌入式SRAM 1.3.3嵌入式Flash 1.4STM32F103ZET6的时钟结构 1.5STM32F103VET6的引脚 1.6STM32F103VET6 最小系统设计 第2章人机接口设计与应用实例 2.1独立式键盘接口设计 2.1.1键盘的特点及按键确认 2.1.2独立式按键扩展实例 2.2矩阵式键盘接口设计 2.2.1矩阵式键盘工作原理 2.2.2按键的识别方法 2.2.3键盘的编码 2.3矩阵式键盘的接口实例 2.3.14×4矩阵式键盘的硬件设计 2.3.24×4矩阵式键盘的软件设计 2.4显示技术的发展及其特点 2.4.1显示技术的发展 2.4.2显示器件的主要参数 2.5LED显示器接口设计 2.5.1LED显示器的结构 2.5.2LED显示器的扫描方式 2.6触摸屏技术及其在工程中的应用 2.6.1触摸屏发展历程 2.6.2触摸屏的工作原理 2.6.3工业用触摸屏产品介绍 2.6.4触摸屏在工程中的应用 第3章DGUS彩色液晶显示屏应用实例 3.1屏存储空间 3.1.1数据变量空间 3.1.2字库(图标)空间 3.1.3图片空间 3.1.4寄存器 3.2硬件配置文件 3.3DGUS组态软件安装 3.4DGUS组态软件使用说明 3.4.1界面介绍 3.4.2背景图片制作方法 3.4.3图标制作方法及图标文件的生成 3.4.4新建一个工程并进行界面配置 3.4.5工程文件说明 3.5工程下载 3.6DGUS屏显示变量配置方法及其指令详解 3.6.1串口数据帧架构 3.6.2数据变量 3.6.3文本变量 3.6.4图标变量 3.6.5基本图形变量 3.7通过USB对DGUS屏进行调试 第4章旋转编码器设计实例 4.1旋转编码器的接口设计 4.1.1旋转编码器的工作原理 4.1.2旋转编码器的接口电路设计 4.1.3旋转编码器的时序分析 4.2呼吸机按键与旋转编码器程序结构 4.3按键扫描与旋转编码器中断检测程序 4.3.1KEY1与KEY5的按键扫描程序 4.3.2KEY2与KEY3的中断检测程序 4.4键值存取程序 4.4.1环形FIFO按键缓冲区 4.4.2键值存取程序相关函数 第5章PWM输出与看门狗定时器应用实例 5.1STM32F103定时器概述 5.2STM32通用定时器 5.2.1通用定时器简介 5.2.2通用定时器的主要功能 5.2.3通用定时器的功能描述 5.2.4通用定时器的工作模式 5.3STM32 PWM输出应用实例 5.3.1PWM输出硬件设计 5.3.2PWM输出软件设计 5.4看门狗定时器 5.4.1看门狗应用介绍 5.4.2独立看门狗 5.4.3窗口看门狗 5.4.4看门狗操作相关的库函数 5.4.5独立看门狗程序设计 5.4.6窗口看门狗程序设计 第6章USART与Modbus通信协议应用实例 6.1串行通信基础 6.1.1串行异步通信数据格式 6.1.2连接握手 6.1.3确认 6.1.4中断 6.1.5轮询 6.2STM32的USART工作原理 6.2.1USART介绍 6.2.2USART主要特性 6.2.3USART功能概述 6.2.4USART通信时序 6.2.5USART中断 6.2.6USART相关寄存器 6.3STM32的USART串行通信应用实例 6.3.1STM32的USART的基本配置流程 6.3.2STM32的USART串行通信应用硬件设计 6.3.3STM32的USART串行通信应用软件设计 6.4外部总线 6.4.1RS232C串行通信接口 6.4.2RS485串行通信接口 6.5Modbus通信协议 6.5.1概述 6.5.2两种传输模式 6.5.3Modbus消息帧 6.5.4错误检测方法 6.5.5Modbus的编程方法 6.6PMM2000电力网络仪表ModbusRTU通信协议 6.6.1串口初始化参数 6.6.2开关量输入 6.6.3继电器控制 6.6.4错误处理 6.6.5读取标准电力参数 第7章SPI与铁电存储器接口应用实例 7.1STM32的SPI通信原理 7.1.1SPI概述 7.1.2SPI互连 7.2STM32F103的SPI工作原理 7.2.1SPI主要特征 7.2.2SPI内部结构 7.2.3时钟信号的相位和极性 7.2.4数据帧格式 7.2.5配置SPI为主模式 7.3STM32的SPI与铁电存储器接口应用实例 7.3.1STM32的SPI配置流程 7.3.2SPI与铁电存储器接口的硬件设计 7.3.3SPI与铁电存储器接口的软件设计 第8章I2C与日历时钟接口应用实例 8.1STM32的I2C通信原理 8.1.1I2C控制器概述 8.1.2I2C总线的数据传输 8.2STM32F103的I2C接口 8.2.1STM32F103的I2C主要特性 8.2.2STM32F103的I2C内部结构 8.2.3STM32F103的模式选择 8.3STM32的I2C与日历时钟接口应用实例 8.3.1STM32的I2C配置流程 8.3.2I2C与日历时钟接口的硬件设计 8.3.3I2C与日历时钟接口的软件设计 第9章CAN通信转换器设计实例 9.1CAN的特点 9.2STM32的CAN总线概述 9.2.1bxCAN的主要特点 9.2.2CAN物理层特性 9.2.3STM32的CAN控制器 9.2.4STM32的CAN过滤器 9.3STM32的bxCAN工作模式 9.3.1初始化模式 9.3.2正常模式 9.4STM32的bxCAN功能描述 9.4.1CAN发送流程 9.4.2CAN接收流程 9.5CAN总线收发器 9.5.1PCA82C250/251 CAN总线收发器 9.5.2TJA1051 CAN总线收发器 9.6CAN通信转换器概述 9.7CAN通信转换器微控制器主电路的设计 9.8CAN通信转换器UART驱动电路的设计 9.9CAN通信转换器CAN总线隔离驱动电路的设计 9.10CAN通信转换器USB接口电路的设计 9.11CAN通信转换器的程序设计 第10章电力网络仪表设计实例 10.1PMM2000电力网络仪表概述 10.2PMM2000电力网络仪表的硬件设计 10.2.1主板的硬件电路设计 10.2.2电压输入电路的硬件设计 10.2.3电流输入电路的硬件设计 10.2.4RS485通信电路的硬件设计 10.2.54~20mA模拟信号输出的硬件电路设计 10.3周期和频率测量 10.4STM32F103VBT6初始化程序 10.4.1NVIC中断初始化程序 10.4.2GPIO初始化程序 10.4.3ADC初始化程序 10.4.4DMA初始化程序 10.4.5定时器初始化程序 10.5电力网络仪表的算法 10.6LED数码管动态显示程序设计 10.6.1LED数码管段码表 10.6.2LED指示灯状态编码表 10.6.31ms系统滴答定时器中断服务程序 10.7PMM2000电力网络仪表在数字化变电站中的应用 10.7.1应用领域 10.7.2iMeaCon数字化变电站后台计算机监控网络系统 第11章μC/OSⅡ在STM32上的移植与应用实例 11.1μC/OSⅡ介绍 11.2嵌入式控制系统的软件平台 11.2.1软件平台的选择 11.2.2μC/OSⅡ内核调度基本原理 11.3μC/OSⅡ的移植与应用 11.3.1μC/OSⅡ的移植 11.3.2μC/OSⅡ的应用 第12章RTC与万年历应用实例 12.1RTC 12.1.1RTC简介 12.1.2RTC主要特性 12.1.3RTC内部结构 12.1.4RTC复位过程 12.2备份寄存器(BKP) 12.2.1BKP简介 12.2.2BKP特性 12.2.3BKP入侵检测 12.3RTC的操作 12.3.1RTC的初始化 12.3.2RTC时间写入初始化 12.4万年历应用实例 第13章新型分布式控制系统设计实例 13.1新型DCS概述 13.1.1通信网络的要求 13.1.2通信网络的要求控制功能的要求 13.1.3系统可靠性的要求 13.1.4其他方面的要求 13.2现场控制站的组成 13.2.1两个控制站的DCS结构 13.2.2DCS测控板卡的类型 13.3新型DCS通信网络 13.3.1以太网实际连接网络 13.3.2双CAN通信网络 13.4新型DCS控制卡的硬件设计 13.4.1控制卡的硬件组成 13.4.2W5100网络接口芯片 13.4.3双机冗余电路的设计 13.4.4存储器扩展电路的设计 13.5新型DCS控制卡的软件设计 13.5.1控制卡软件的框架设计 13.5.2双机热备程序的设计 13.5.3CAN通信程序的设计 13.5.4以太网通信程序的设计 13.6控制算法的设计 13.6.1控制算法的解析与运行 13.6.2控制算法的存储与恢复 13.78通道模拟量输入板卡(8AI)的设计 13.7.18通道模拟量输入板卡的功能概述 13.7.28通道模拟量输入板卡的硬件组成 13.7.38通道模拟量输入板卡微控制器主电路设计 13.7.422位ΣΔ型A/D转换器ADS1213 13.7.58通道模拟量输入板卡测量与断线检测电路设计 13.7.68通道模拟量输入板卡信号调理与通道切换电路设计 13.7.78通道模拟量输入板卡程序设计 13.88通道热电偶输入板卡(8TC)的设计 13.8.18通道热电偶输入板卡的功能概述 13.8.28通道热电偶输入板卡的硬件组成 13.8.38通道热电偶输入板卡测量与断线检测电路设计 13.8.48通道热电偶输入板卡程序设计 13.98通道热电阻输入板卡(8RTD)的设计 13.9.18通道热电阻输入板卡的功能概述 13.9.28通道热电阻输入板卡的硬件组成 13.9.38通道热电阻输入板卡测量与断线检测电路设计 13.9.48通道热电阻输入板卡的程序设计 13.104通道模拟量输出板卡(4AO)的设计 13.10.14通道模拟量输出板卡的功能概述 13.10.24通道模拟量输出板卡的硬件组成 13.10.34通道模拟量输出板卡PWM输出与断线检测电路设计 13.10.44通道模拟量输出板卡自检电路设计 13.10.54通道模拟量板卡输出算法设计 13.10.64通道模拟量板卡程序设计 13.1116通道数字量输入板卡(16DI)的设计 13.11.116通道数字量输入板卡的功能概述 13.11.216通道数字量输入板卡的硬件组成 13.11.316通道数字量输入板卡信号预处理电路的设计 13.11.416通道数字量输入板卡信号检测电路设计 13.11.516通道数字量输入板卡程序设计 13.1216通道数字量输出板卡(16DO)的设计 13.12.116通道数字量输出板卡的功能概述 13.12.216通道数字量输出板卡的硬件组成 13.12.316通道数字量输出板卡开漏极输出电路设计 13.12.416通道数字量输出板卡输出自检电路设计 13.12.516通道数字量输出板卡外配电压检测电路设计 13.12.616通道数字量输出板卡的程序设计 13.138通道脉冲量输入板卡(8PI)的设计 13.13.18通道脉冲量输入板卡的功能概述 13.13.28通道脉冲量输入板卡的硬件组成 13.13.38通道脉冲量输入板卡的程序设计 13.14嵌入式控制系统可靠性与安全性技术 13.14.1可靠性技术的发展过程 13.14.2可靠性基本概念和术语 13.14.3可靠性设计的内容 13.14.4系统安全性 13.14.5软件可靠性 参考文献