企业做商城网站需要什么资质,wordpress cosy主题,怎样辨别网站,百姓网网站建设文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据… 文章目录 一.概要二.单片机型号命名规则三.STM32F103系统架构四.STM32F103C8T6单片机启动流程五.STM32F103C8T6单片机主要外设资源六.编程过程中芯片数据手册的作用1.单片机外设资源情况2.STM32单片机内部框图3.STM32单片机管脚图4.STM32单片机每个管脚可配功能5.单片机功耗数据6.FALSH编程时间擦写次数7.I/O高低电平电压表格8.外设接口最大速度 七.STM32F103C8T6单片机应用场景八.总结 一.概要
单片机MCU是一种集成电路芯片是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU内核、随机存储器SRAM、存储器FLASH、多种I/O口和中断系统、定时器/计数器等功能可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路集成到一块硅片上构成的一个小而完善的微型计算机系统。
STM32是ST公司基于ARM Cortex-M3内核开发的32位微控制器。 我们常用的STM32F103C8T6就是其中的一款单片机。
STM32F103C8T6单片机主要特性 内核ARM Cortex-M3 主频72MHz RAM20kSRAM ROM64kFlash 供电2.0~3.6V标准3.3V
芯片实物图如下
芯片引脚定义如下
二.单片机型号命名规则
根据命名规则STM32F103C8T6就是基础型的48脚64K闪存LQFP贴片封装-40~85度的工业级的单片机。
三.STM32F103系统架构
下图左上角为内核ARM Cortex-M3I-Code和D-Code主要连接Flash闪存。
Cortex‐M3内核 是一个 32 位处理器内核。内部的数据总线是 32 位的寄存器是 32 位的存储器接 口也是 32 位的。Cortex‐M3采用了哈佛结构拥有独立的指令总线和数据总线可以让取指与数据访问并行不悖。这样一来数据访问不再占用指令总线从而提升了性能。
FLASH闪存 我们编写好的程序经过Keil5编译之后都是一条条指令存放在FLASH中。内核ARM Cortex-M3通过I-Code总线来取里边的指令所以FLASH主要是用来存程序但也开放一部分空间可以存数据。
SRAM存储器存放程序运行时的变量数据。
I-Code指令总线 内核ARM Cortex-M3要从FLASH中读取指令来执行程序就必须通过ICode总线它几乎每时每刻都需要被使用它是专门用来取指的所以叫它指令总线。
D-Code数据总线 我们在写程序的时候数据有常量也有变量常量就是固定不变的用C语言中的const关键字修饰是放在FLASH变量是可变的是放在SRAM所以内核ARM Cortex-M3可以通过D-code总线访问FLASH和SRAM读取数据所以叫它数据总线。
APB2,APB1系统总线 用于挂载外设GPIO、USART、I2C、SPI等这些外设APB2一般和AHB同频率最高可以到72MHzAPB1最高只能到36MHz。
System总线主要是用来访问外设寄存器我们通常说的寄存器编程即读写寄存器都是通过System总线来完成的。
DMA总线可以用来传输数据这个数据可以是某个外设的数据寄存器也可以是SRAM或者FLASH中的数据。
FSMC跟SDIO在STM32F103C8T6中是没有的会在STM32F103ZET6等引脚多的单片机中。
四.STM32F103C8T6单片机启动流程
通过单片机BOOT0引脚与BOOT1引脚的电平高低组合配置单片机启动模式 我们一般都用下拉电阻配置BOOT0引脚为低电平单片机的SWD下载口用下载器下载完代码程序就能直接运行这是最常用的启动模式。
STM32F103C8T6单片机从FLASH的启动流程 当芯片上电后采样到 BOOT0 引脚为低电平时0x00000000 和 0x00000004 地址被映射到内部 FLASH 的首地址 0x08000000 和 0x0800 0004。因此内核离开复位状态后读取内部 FLASH 的 0x08000000 地址空间存储的内容赋值给栈指针 MSP作为栈顶地址再读取内部 FLASH 的 0x08000004 地址空间存储的内容赋值给程序指针 PC作为将要执行的第一条指令所在的地址。完成这两个操作后内核就可以开始从 PC 指向的地址中读取指令执行了0x0800 0004是中断向量表的起始地址这就是复位程序的入口地址接着跳转到复位程序入口处初始向量表然后设置时钟设置堆栈最后跳转到main函数即进入用户程序。
五.STM32F103C8T6单片机主要外设资源
STM32F103C8T6单片机集成了丰富的外设比如GPIO,定时器SPIUSARTCANUSBADC等外设这些丰富的外设能驱动很多各种接口的传感器很多时候编程的工作也是对这些外设进行驱动编程。
六.编程过程中芯片数据手册的作用
在编程的过程中会经常查看一些资料比如芯片数据手册会经常用到作用比较大主要需要查看哪几点下面做个简单介绍
1.单片机外设资源情况
编程的时候会了解是否存在这个外设外设数量是否正确FLASH的大小RAM的大小空间是否会超需要查看确认。
2.STM32单片机内部框图
需要知道某个外设是挂在哪个总线下面最高主频多少是否存在这个外设等数据需要查看这个单片机框图。
3.STM32单片机管脚图
在代码的调试过程中需要确认硬件是否连接正确需要知道单片机相应引脚的定义。
4.STM32单片机每个管脚可配功能
在写代码过程中需要知道这个引脚的基本功能是否5V容忍可以配置成啥外设是否需要重映射等功能需要查看这表格。
5.单片机功耗数据
在低功耗的项目中需要知道配置成哪个低功耗模式哪种主频功耗能符合功耗要求需要查看这表格。
6.FALSH编程时间擦写次数
在FLASH的存储操作中需要知道编程时间保证数据能正确写入需要知道擦写次数保证芯片不会因为擦写过多而损坏。
7.I/O高低电平电压表格
在I/O读取操作时有些电压采集到的不是高电平或者低电平需要查这表格确认读到的电压符合单片机读到的高低电平电压要求。
8.外设接口最大速度
还有一些外设的最大速度比如SPI,USART口的最快速度也都能在芯片手册中找到
七.STM32F103C8T6单片机应用场景
工业自动化STM32F103C8T6具有丰富的外设接口如USART、SPI、I2C等可以方便地与各种传感器和执行器进行通信和控制。在工业自动化领域它可以用于实现各种控制逻辑、数据采集和通信等功能。
智能家居STM32F103C8T6具有低功耗、高性能的优点可以作为智能家居系统的主控制器。通过与传感器、执行器等设备进行通信和控制可以实现智能照明、智能安防、智能环境监测等功能。
智能交通STM32F103C8T6可以用于智能交通系统的控制和管理。例如它可以用于控制交通信号灯、监控道路状况、检测车辆违章等提高交通效率和安全性。
医疗电子STM32F103C8T6具有高精度、低功耗的特点可以用于医疗电子设备的控制和监测。例如它可以用于实现医疗设备的自动化控制、数据采集和传输等功能。
消费电子STM32F103C8T6也可以用于消费电子产品的设计和开发。例如它可以用于实现智能手表、智能音箱、智能玩具等产品的控制逻辑和数据处理等功能。
八.总结
在了解STM32单片机大概的内部信息和特性之后基于STM32F103C8T6的小系统板配合STLINK下载调试器在STM32CubeMX软件和Keil 5软件的加持下就可以进行编程操作了。