模块化新型实验箱实验指导书 
(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