您现在的位置是:首页 >技术杂谈 >STM32单片机(一)STM32简介网站首页技术杂谈

STM32单片机(一)STM32简介

乘凉~ 2024-06-20 11:57:32
简介STM32单片机(一)STM32简介

❤️ 专栏简介:本专栏记录了从零学习单片机的过程,其中包括51单片机和STM32单片机两部分;建议先学习51单片机,其是STM32等高级单片机的基础;这样再学习STM32时才能融会贯通。
☀️ 专栏适用人群 :适用于想要从零基础开始学习入门单片机,且有一定C语言基础的的童鞋。
?专栏目标:实现从零基础入门51单片机和STM32单片机,力求在玩好单片机的同时,能够了解一些计算机的基本概念,了解电路及其元器件的基本理论等。

⭐️ 专栏主要内容: 主要学习51单片机的功能、各个模块、单片机的外设、驱动等,最终玩好单片机和单片机的外设,全程手敲代码,实现我们所要实现的功能。
? 专栏说明 :如果文章知识点有错误的地方,欢迎大家随时在文章下面评论,我会第一时间改正。让我们一起学习,一起进步。
?专栏主页:http://t.csdn.cn/HCD8v

本学习过程参考:https://space.bilibili.com/383400717

STM3单片机安装软件、各种资料以及源码的路径:
链接:https://pan.baidu.com/s/1snD0uuTfMhchFqOMWvAiHA?pwd=asdf#list/path=%2F
提取码:asdf

链接里压缩包的解压密码:32

本节是STM32单片机部分的第一节,主要对STM32部分课程进行简单介绍,以及对STM32单片机进行简单介绍。

一、STM32课程简介

在这里插入图片描述

在STM32的学习过程中,将使用stm32最小系统板+面包板硬件平台进行学习和练习,硬件平台如上图所示,将STM32最小系统板(上图蓝色板子)插在面包板上,作为基本的硬件单元,下面插上一块0.96寸的OLED(右下角黑色板子)作为调试和显示的屏幕,在调试程序时,可以把程序中的变量显示在这个屏幕上,这样调试起来就会比较方便;右边的STLINK(紫色部分)插在电脑上用于下载程序和供电;最上面的是蜂鸣器模块;

使用面包板可以完成任意电路的连接,接线和修改都是非常方便的;相比较成品的开发板方式,使用面包板更有利于我们对硬件电路的学习,而且也可以避免开发板的一些问题,比如引脚冲突、引脚无法更改等;

当然使用面包板也会带来一些问题,比如如果程序现场跑不出来,不仅有可能是程序的问题,也有可能是接线的问题等;这就需要我们在连线的时候要更加细心;关注软件程序的同时,也要关注硬件电路;

硬件设备

在这里插入图片描述

软件设备:

在这里插入图片描述
这次学习STM32使用的是Keil5 MDK这个软件,Keil5 SDK是用来给ARM系列的单片机编程的。

套件介绍

在这里插入图片描述

在这里插入图片描述

中间白色部分是面包板,左边这一盒是面包板专用的跳线,这种跳线比较短,可以贴在面包板上插线,比较适合长时间插线的情况;上面那一扎是面包板的飞线,这种线比较长,也方便挪动,比较适合经常挪动的接线情况;飞线下面两排是杜邦线,分别是公对母和母对母的,可以用于插接一些电路模块;

在这里插入图片描述

蓝色部分是STM32最小系统板,该板上中间的黑色小模块就是STM32芯片,我们就是主要学习这个小芯片;STM32最小系统板的右边是0.96寸的OLED显示屏模块,用于显示参数和变量,这个显示屏是一个4引脚版本的,现在网上卖的由4引脚和7引脚的,主要不要弄错了;

图中右上角的是电位器,主要用来进行AD转换试验的;电位器下面是按键,两引脚的小按键,它可以正好跨接在面包板的引脚插孔和电源插孔之间,插接非常方便整洁,如下图所示:
在这里插入图片描述

在这里插入图片描述

五颜六色的是LED灯;左边紫色部分的是STLINK,用来下载程序和供电的;STLINK下面是USB转串口模块,使用这个模块就可以使STM32和电脑进行串口通信了;

在这里插入图片描述

有源蜂鸣器模块,内置震荡源,接上电就可以响;相比较无源蜂鸣器模块需要不断反转IO口的操作方式,有源蜂鸣器模块就方便多了,基本和点灯一样简单;

右边四个是传感器模块,第一个是光敏电阻模块,下面的四个引脚有两个是用来供电的,还有两个是光敏电阻信号的模拟输出和数字输出,可以用来进行IO口读取实验或者AD试验;第二个是热敏电阻模块,也是有模拟输出和数字输出的;第三个是对射式红外模块,这个模块配合遮光片可以用来计次,或者配合编码盘用来测速;第四个是反射式红外模块,它可以向地面发射红外光,然后再用红外接收管接收地面反射的红外光,通过判断接收光的强度,就可以大体地识别出地面的颜色变化了;

在这里插入图片描述

W25Q64 Flash存储模块,它可以存储数据,并且是用SPI总线进行通信的,我们主要用它来学习SPI通信;

MPU6050陀螺仪和加速度计,它可以测量芯片自身的姿态,像四轴飞行器上,一般都会配有陀螺仪和加速度计,他是用I2C总线通信的,我们主要用它来学习I2C通信;

旋转编码器,它可以输出两路正交的方波信号,用于指示旋转的方向和速度,STM32里有专用的编码器电路,可以很方便的识别这种信号,这个模块可以当做一个快读的按键来使用,当然本节主要还是用它来模拟编码器的测速,现在的编码电机一般配备活儿传感器或光电传感器,这些传感器的输出和这种旋转编码器是一样的,所以学习一下旋转编码器就可以了;而且这种旋转编码器还比较方便插在面包板上,而且比较便宜;

直流电机和TB6612电机驱动模块,可以用来进行直流电机的PWM调速实验;

SG90舵机,也是用PWM来控制的,它的输出端可以像船舵一样,根据我们给定的PWM信号的占空比固定在某一个角度上,可以用来做一些机器人或者机械臂的关节;

二、STM32简介

2.1 STM32介绍

在这里插入图片描述
ST的意思是ST公司,M是微控制器Microcontroller的首字母;微控制器就是MCU,就是我们常说的单片机,所以STM32也是一款单片机;32的意思是这是一款32位的单片机,相比较8位的51单片机,STM32的性能还是非常强的,当然ST也推出过8位的单片机,名字叫STM8,这个了解一下就行;

这个ARM Cortex-M内核就是STM32内部的核心部分;这个内核是ARM公司设计的,它在STM32中占据极为重要的地位;比如我们程序指令的执行,加减乘除的运算,都是在内核中完成的;它相当于整个芯片的CPU;

在这里插入图片描述

如图中所示,目前STM32主要有四个系列,分别是高性能系列(High Performance)、主流系列(Mainstream)、超低功耗系列(Ultra-low-power系列)和无线系列(Wireless);每个系列对应着不同的产品;

例如:

  • 高性能系列就有STM32F2、F4、F7、H7这些;图中有具体型号芯片的详细性能介绍;比如F2系列就是398 CoreMark和120MHz主频的Cortex-M3内核;这个CoreMark就是一个内核跑分,跑分越高性能越好;Cortex-M3内核就是ARM的其中一个内核芯片;可以看到,STM32H7是目前最强的STM32芯片,拥有3224的内核跑分,550MHz的cortex-M7和240MHz的cortex-M4的内核,是一个双核微控制器;
  • 主流系列包含了F0、F1、F3这些型号;我们本次教程使用的就是STM32F1的这个系列,由177的内核跑分和72MHz的cortex-M3内核;
  • 超低功耗系列包含L0、L1、L4、L5等型号;
  • 无线系列的STM32,包括STM32Wl和STM32WB,可以了解一下;

以上这些就是目前STM家族中的所有系列了;可以看出来这个系列还是比较全的;我们学习的事主流系列;当然如果觉得性能不够也可以继续进阶学习高性能的系列;如果对功耗比较敏感,也可以学习一下低功耗系列;如果想做无线通信的产品,可以了解一下无线的系列;因为他们都是一个家族的,所以换一个系列再学习的话也会比换别的芯片轻松很多;

2.2 ARM介绍

在本学习过程中我们使用的STM32的型号是STM32F103C8T6,如上图中右侧的图片所示;根据他的型号再对应前面的介绍,我们就已经知道了它是主流系列的STM32F1,他的内核是ARM Cortex-M3,

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。