一、单片机简介
1.1 单片机是什么
单片机:Single-Chip Microcomputer,单片微型计算机,是一种集成电路芯片

电脑VS单片机

1.2 单片机的特点
- 体积小 <5mm*5mm
- 功耗低 mA级
- 集成度高 IO/TIM/AD/DA
- 使用方便 C/Debug
- 扩展灵活 ICC/SPI/FSNC
1.3 单片机的使用场景
- 仪器仪表——电源/示波器/焊台
- 家用电器——空调/冰箱/洗衣机
- 工业控制——机器人/PLC/电梯
- 汽车电子——GPS/ABS/胎压监测
1.4 单片机的发展历程

1.5 CISC VS RISC
对比项 | 复杂指令集计算机(CISC) | 精简指令集计算机(RISC) |
---|---|---|
目的 | 为了便于编程和提高储存器的访问效率 | 为了提高处理器运行速度 |
指令特点 | 1. 指令多,模式多,格式可变 2.指令的执行需要的时钟周期差距很大 3. 无流水线或流水线程度较低 4. 指令由微带码翻译执行 | 1. 指令少,模式少,格式固定 2. 大多数指令只需1个时钟周期 3. 流水线结构 4. 指令直接由硬件执行 |
优点 | 1. 指令丰富、功能强大 2.寻址方式灵活 | 1. 指令精简,易于设计,使用率均衡 2.程序执行效率高 |
缺点 | 1. 指令使用率不均衡 2. 不利于采用先进结构提高性能 3. 结构复杂不利于超大规模集成电路实现 | 1. 指令数较少,功能不及CISC强大 2. 寻址方式不够灵活 |
CISC和RISC举例

冯诺依曼结构 VS 哈佛结构

1.6 总结

二、Cortex-M系列
2.1 ARM公司
ARM公司:只做内核设计和IP授权,不参与芯片设计

2.2 ARM架构为什么能风靡全球

2.3 Cortex内核分类及特征
对比项 | Cortex-A | Cortex-R | Cortex-M |
---|---|---|---|
特点 | 高时钟频率,长流水线,高性能 | 较高时钟频率,较长的流水线,实时性强 | 时钟频率较低,通常较短的流水线,超低功耗 |
应用场景 | 移动计算,智能手机,平板电脑,数字电视 | 军工,汽车电子,无线基带,硬盘控制器 | 工控、传感器、消费电子、家用电器、医疗器械 |
2.4Cortex-M3/4/7介绍
类别 | Cortex-M3 | Cortex-M4 | Cortex-M7 |
---|---|---|---|
核心版本 | ARMv7-M | ARMv7E-M | |
指令系统 | Thumb/Thumb-2 | ||
DSP指令扩展 | 无 | 有 | 有 |
浮点单元 | 无 | 单精度浮点单元 | 可选单/双精度浮点单元 |
流水线 | 3级 | 3级+分支预测 | 6级+分支预测 |
中断 | NVIC,NMI + 1~240物理中断源,8~256个中断优先级 | ||
系统定时器 | 24位系统滴答定时器 | ||
睡眠模式 | 集成WFI和WFE指令以及退出睡眠功能 | ||
调试 | 可选JTAG和SWD调试接口 | ||
内存保护 | 可选8个区域MPU | 可选8个区域MPU | 可选8、16个区域MPU |
DMIPS/MHz | 1.25 | 1.25 | 2.14 |
CoreMark®/MHz | 3.34 | 3.43 | 5.01 |
2.5总结

三、初识STM32
3.1 STM32是什么
STM32
ST:意法半导体 M:MCU/MPU 32:32位
3.2 STM32芯片分类
五大类

3.3 STM32命名规则

3.4 STM32选型
由高到低(性能),由大到小(内存,闪存)
3.5 总结

四、查看数据手册
4.1 芯片的基本参数
- 主频/FLASH/SRAM
- 工作电压/最大电流
- IO引脚接入电压范围
- 单个IO引脚最大电流
4.2 最小系统
最小系统:保证MCU正常工作的最小电路组成单元
- 芯片
- 电源电路
- 复位电路
- 晶振电路
- Boot启动电路
- 下载调试电路
- 其他电路
