单片机最小系统电路(单片机最小系统硬件电路图)

单片机最小系统电路(单片机最小系统硬件电路图)

  让STM32跑起来

  STM32 内部包含 RC 振荡器和复位电路,所以要让 STM32 工作起来甚至只需要为它提供一个电源。但是,为了让 STM32 提供灵活、可靠、稳定、抗干扰性较强的控制动作,还需具备其他附加电路。由此所构成的基本运行环境,称为最小系统。

  最小系统电路的组成部分

  一种典型的STM32最小系统

  STM32最小系统电路示意

  STM32的三种启动模式

  FLASH ISP模式

  当BOOT0为0(低电平)时,不论BOOT1是什么状态,单片机再次复位后都会运行Flash里面的用户程序,这也就是正常的启动模式。

  BootLoader模式

  ① 当BOOT0 为1(高电平)、BOOT1为0(低电平)时,单片机复位后将运行BootLoader程序。

  ② BootLoader程序是由ST 公司在芯片出厂时写入单片机的一段程序,用户是不能修改的。这段程序的任务就是与计算机上的ISP软件相连接,把HEX文件存入单片机的Flash或SRAM中,是一段ISP下载辅助程序。

  RAM ISP模式

  BOOT1和BOOT0都为1 时,单片机再次复位后将进入RAM ISP模式,这个模式多用于开发过程中的程序调试。

  由上述工作模式可见,要想把自己写好的程序写入STM32单片机并运行,并不是一步到位,而是涉及模式切换和复位操作。如果这些操作每次都让你手动完成,相信要不了几次你就会厌烦的。通常情况下,各厂家的开发板上都有自动下载功能,这一系列操作都自动完成了,执行过程如下:

  将BOOT1置0,BOOT0置1(即最小系统示意图中的K1、K2都闭合),为程序下载做准备。

  按下复位键(K3),这时STM32进入BootLoader模式。

  点击下载软件的“开始编程”,下载软件将与BootLoader程序相配合,将程序写入FLASH或SRAM中。

  根据程序写入位置继续执行

  ① 如果程序下载到FLASH里,则将K1断开,K2随意,再按K3复位键,这时单片机将开始运行FLASH中我们下载好的程序。

  ② 如果程序下载到SRAM里,则将K1闭合,将K2断开,再按K3复位键,程序将从SRAM中运行。

  这里只是希望大家了解ISP下载的工作原理,在使用没有自动下载功能的电路时也能应对。

推荐阅读