模块化新型实验箱实验指导书
(STM32F107 版)
栗华 编著
山东大学出版社
内容简介
本书结合多年来作者的实验教学经验而编写的。本书分为 STM32 基础知识,开发环境
介绍,软件仿真实验和硬件接口实验三个章节。整体结构循序渐进,实验内容如下:
1) 软件仿真实验(2 个):MDK 开发环境的使用,以及以此为基础的纯软件仿真实验
共有两个。通过这个实验,读者能够掌握如何使用 STM32 官方固件库开发自己的
工程项目。
2) 硬件接口实验(共 29 个):分别是:流水灯实验、按键扫描实验、串口通信实验、
按键中断实验、Systick 实验、定时器实验、看门狗实验、静态数码管实验、矩阵
键盘和动态数码管实验、LCD1602 实验、LCD12864 实验、16x16d 点阵实验、AD
转换实验、DA 转换实验、RTC 实验、18B20 实验、RS485 实验、CAN 总线回环
实验、PWM 直流电机驱动实验、步进电机实验、EEPROM 读写实验、FLASH(SPI)
读写实验、SD 卡读写实验、TFT 彩屏实验、315M 无线收发及遥控实验、NRF24L01
通信实验、以太网 ping 通实验、USB_VirtualCOM 实验、uCOSII 操作系统试验。
本书可作为电子信息、通信工程、计算机、自动化等专业专科生、本科生的 STM32 嵌
入式系统原理与应用实验教材,也可作为大学生电子设计大赛的培训教材,或作为从事单片
机开发应用工作的工程技术人员自学实训书籍。
2
目 录
第一章 STM32 基础知识 ............................................................................................................... 1
1.1 STM32 32 位 ARM Cortex MCU....................................................................................... 1
1.2 STM32 F1 系列主流 MCU ................................................................................................ 1
1.3 STM32F107VCT 单片机简介 ........................................................................................... 2
第二章 开发环境 RVMDK 应用指南 ............................................................................................ 6
2.1 RVMDK 的安装 ................................................................................................................. 6
2.2 RVMDK 的应用 ............................................................................................................... 10
第三章 软件仿真实验 ................................................................................................................... 26
3.1 STM32 官方固件库简介.................................................................................................. 27
3.2 GPIO 仿真实验(寄存器版) ........................................................................................ 33
3.3 GPIO 仿真实验(库函数版) ........................................................................................ 36
第四章 硬件接口实验 ................................................................................................................... 42
4.1 实验 1:流水灯实验 ........................................................................................................ 42
4.2 实验 2:按键扫描实验 .................................................................................................... 45
4.3 实验 3:串口通信实验 .................................................................................................... 48
4.4 实验 4:按键中断实验 .................................................................................................... 53
4.5 实验 5:SysTick 实验 ...................................................................................................... 58
4.6 实验 6:定时器实验 ........................................................................................................ 61
4.7 实验 7:独立看门狗实验 ................................................................................................ 64
4.8 实验 8:静态数码管显示实验 ........................................................................................ 66
4.9 实验 9:矩阵键盘和动态数码管实验 ............................................................................ 69
4.10 实验 10:LCD1602 显示实验 ....................................................................................... 74
4.11 实验 11:12864 LCD 显示实验 .................................................................................... 77
4.12 实验 12:16x16 点阵实验 ............................................................................................. 80
4.13 实验 13:AD 转换实验 ................................................................................................. 84
4.14 实验 14:DA 转换实验 ................................................................................................. 86
4.15 实验 15 RTC 时钟实验 ............................................................................................... 89
4.16 实验 16:18B20 温度传感器实验 ................................................................................ 93
4.17 实验 17:RS485 收发实验 ............................................................................................ 96
4.18 实验 18:CAN 总线回环实验 .................................................................................... 100
3
4.19 实验 19:PWM 直流电机驱动实验 ........................................................................... 105
4.20 实验 20:步进电机驱动实验 ...................................................................................... 107
4.21 实验 21:EEPROM 读写实验 ..................................................................................... 110
4.22 实验 22:FLASH(SPI)读写实验 ................................................................................. 114
4.23 实验 23:SD 卡读写实验 ............................................................................................ 116
4.24 实验 24:TFT 彩屏显示实验 ...................................................................................... 120
4.25 实验 25:315M 无线收发及遥控实验 ....................................................................... 123
4.26 实验 26:NRF24L01 通信实验 ................................................................................... 125
4.27 实验 27:以太网 ping 通实验 ..................................................................................... 130
4.28 实验 28:USB_VirtualCOM 实验 ............................................................................... 136
4.29 实验 29:uCOSII 操作系统实验 ................................................................................ 140
4
第一章 STM32 基础知识
1.1 STM32 32 位 ARM Cortex MCU
STM32 系列 32 位 Flash 微控制器基于 ARM Cortex™‑M 处理器,旨在为 MCU 用户
提供新的开发自由度。它包括一系列 32 位产品,集高性能、实时功能、数字信号处理、低
功耗与低电压操作等特性于一身,同时还保持了集成度高和易于开发的特点。
无可比拟且品种齐全的 STM32 产品基于行业标准内核,提供了大量工具和软件选项,
使该系列产品成为小型项目和完整平台的理想选择。
图 1.1.1 Cortex 内核系列
1.2 STM32 F1 系列主流 MCU
STM32 F1 系列主流 MCU 满足了工业、医疗和消费类市场的各种应用需求。凭借该
产品系列,意法半导体在全球 ARM Cortex-M 微控制器领域处于领先地位,同时树立了嵌
入式应用的里程碑。该系列利用一流的外设和低功耗、低压操作实现了高性能,同时还以
可接受的价格、利用简单的架构和简便易用的工具实现了高集成度。
该系列包含五个产品线,它们的引脚、外设和软件均兼容。
超值型系列:STM32F100 - 24MHz CPU,具有电机控制和 CEC 功能
基本型系列:STM32F101 - 36MHz CPU,具有高达 1MB 的片上闪存
USB 基本型系列:STM32F102 - 48MHz CPU 具备全速 USB 模块
1
增强型系列:STM32F103 - 72MHz CPU,具有高达 1MB 的 Flash(片上闪
存)、集成电机控制、USB 和 CAN 模块
互联型系列:STM32F105/107 - 72 MHz CPU,具有以太网 MAC、CAN 和 USB
2.0 OTG 功能
图 1.2.1 STM32F1 系列产品线特性
1.3 STM32F107VCT 单片机简介
(1)STM32F107 系列单片机介绍
STM32F107xx 互联型产品系列整合了工作频率为 72MHz 的高性能 ARM ®Cortex™-
M3 32 位 RISC 内核、高速嵌入式存储器(256KB Flash 存储器和 64KB SRAM),和大量连
至 2 条 APB 总线的增强型 I/O 与外设。 所有器件均带有 2 个 12 位 ADC、4 个通用 16 位
定时器和 1 个 PWM 定时器,以及标准与高级通信接口:2 个 I2C、3 个 SPI、2 个 I2S、5
个 USART、1 个全速 USB OTG 和 2 个 CAN。 只有 STM32F107xx 支持以太网。
STM32F107xx 互联型产品系列的工作温度范围是–40~+105°C,供电电压为 2.0~3.6V。
为低功耗应用设计提供了一组完整的节电模式。
STM32F107xx 互联型产品系列提供从 64 引脚至 100 引脚,共 3 种不同的封装选项。
不同的型号,包含的外设组合也不同。
(2)STM32F107 系列产品特性
内核:ARM 32 位 Cortex™-M3 CPU
72 MHz maximum frequency, 1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0
wait state memory access
Single-cycle multiplication and hardware division
2
存储器
64 to 256 Kbytes of Flash memory
64 Kbytes of general-purpose SRAM
时钟、复位和电源管理
2.0 to 3.6 V application supply and I/Os
POR, PDR, and programmable voltage detector (PVD)
3-to-25 MHz crystal oscillator
Internal 8 MHz factory-trimmed RC
Internal 40 kHz RC with calibration
32 kHz oscillator for RTC with calibration
低功耗
Sleep, Stop and Standby modes
VBAT supply for RTC and backup registers
2 个 12 位、1μs A/D 转换器(多达 16 通道)
Conversion range: 0 to 3.6 V
Sample and hold capability
Temperature sensor
up to 2 MSPS in interleaved mode
2 个 12 位 D/A 转换器
DMA:12 通道的 DMA 控制器
Supported peripherals: timers, ADCs, DAC, I2Ss, SPIs, I2Cs and USARTs
调试模式
Serial wire debug (SWD) & JTAG interfaces
Cortex-M3 Embedded Trace Macrocell™
多达 80 个高速 I/O 端口
51/80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant
CRC 计算单元、96 位唯一 ID
多达 10 个具有管脚重映射功能的定时器
Up to four 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and
quadrature (incremental) encoder input
1 × 16-bit motor control PWM timer with dead-time generation and emergency stop
2 × watchdog timers (Independent and Window)
SysTick timer: a 24-bit downcounter
2 × 16-bit basic timers to drive the DAC
多达 14 个具有管脚重映射功能的通信接口
Up to 2 × I2C interfaces (SMBus/PMBus)
Up to 5 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)
Up to 3 SPIs (18 Mbit/s), 2 with a multiplexed I2S interface that offers audio class
accuracy via advanced PLL schemes
2 × CAN interfaces (2.0B Active) with 512 bytes of dedicated SRAM
USB 2.0 full-speed device/host/OTG controller with on-chip PHY that supports
HNP/SRP/ID with 1.25 Kbytes of dedicated SRAM
10/100 Ethernet MAC with dedicated DMA and SRAM (4 Kbytes): IEEE1588
hardware support, MII/RMII available on all packages
3
(3)STM32F107XXX 内部结构
图 1.3.1 STM32F107XXX 内部结构图
4