主题
课件版 · 半小时学完单片机基础
🖥️ 课件版 — 幻灯片大图预览版,适合快速翻阅、概览知识体系框架。
52:19电赛零基础AI+速通,一个视频学完单片机。GPIO PWM ADC TIM IRQ I2C SPI UART WDG DMA【BA】
零基础入门单片机,半小时速通GPIO、PWM、ADC、UART、I2C、SPI等核心外设功能
BA-0:单片机基础
核心要点:
- 单片机 = 指甲盖大小的迷你小电脑,专控制小电器
- 优势:便宜、体积小、低功耗、稳定不易死机
- 前置要求:初中电路知识 + 基础编程认知
- 学习目标:搞懂引脚外设功能,看懂并上手实际项目
BA-1:电压?!电压到底是什么?
核心要点:
- 电压 = 电位差,核心本质是 差值
- 0V 是人为定义的参考电位(GND)
- 电压数值默认是对 GND 的差值,负电压表示低于 GND
- 没有回路就没有电流
BA-2:电子积木的电压规则:共地
核心要点:
- 所有 GND 连接到 同一个 0V
- 无共地 → 信号悬空、通信失败、舵机乱动
- 新手最易忽略的核心问题
BA-3:电子积木,启动!
核心要点:
- 最小系统 = 不能再精简的必备硬件:主控芯片 + 电源 + 时钟 + 复位
- 最小系统板 = 集成以上全部,通过引脚外接模块
- 后续所有功能都围绕 引脚功能 展开
BA-4-1:GPIO,先读到 0 和 1
核心要点:
- GPIO = 通用输入输出口,可配置为输入或输出模式
- 输入模式:读取引脚高电平(1)/低电平(0)
- 悬空问题:按键释放时引脚无固定电平,值随机
- 解决方案:上拉电阻 / 下拉电阻(外部或芯片内部)
BA-4-2:GPIO,再输出 0 和 1
核心要点:
- 推挽输出:两个开关分别连 VCC/GND,直接输出高低电平,有驱动能力(~10mA)
- 开漏输出:仅开关连 GND,需上拉电阻才能输出高电平,只能拉低、无法主动拉高
- 开漏优势:实现"线与"逻辑,多设备并接无短路风险
BA-5:PWM,不只是 0 和 1 了,还有 0.666
核心要点:
- PWM = 脉冲宽度调制,用数字信号模拟连续模拟量
- 频率:周期次数,越高信号越平稳(控制蜂鸣器音调)
- 占空比:高电平占比,越大越接近高电平(控制 LED 亮度、电机转速、舵机角度)
BA-6:0.666,用 TIM 产生
核心要点:
- 外设:芯片内部独立硬件单元,配置后可自主运行,不占 CPU
- TIM 定时器/计数器:精准计数、定时
- 三大参数:PSC(预分频)、ARR(自动重装值)、CCR(比较值)
- PWM 频率 = 主频 ÷ [(PSC+1) × (ARR+1)]
- PWM 占空比 = CCR ÷ (ARR+1) × 100%
BA-7:ADC,读取 0.666,转换为 0 和 1
核心要点:
- ADC = 模数转换器,将连续模拟电压转为离散数字信号
- 量程:默认 VCC 为最大参考电压,可用 ADC_VREF 指定
- 精度/分辨率:N bit → 2^N 个电压台阶
- 多路 ADC 多为异步采样,通道切换后需等待(如 20μs)再采集
BA-8:IRQ,中断一下,请求先看这个
核心要点:
- 中断:触发条件 → 暂停主程序 → 执行中断函数 → 返回主程序
- 触发方式:高/低电平、上升沿/下降沿
- 常见来源:外部引脚、TIM 计数器/定时器、UART/DMA/ADC/I2C/SPI
BA-9:I2C/SPI,少量线,多数据
核心要点:
- I2C:SCL + SDA 两根线(开漏输出),支持一主机多从机,中低速场景
- SPI:SCK + MOSI + MISO + CS 四根线,速率更高
- 两者都是串行同步通信协议,可直接调用库函数
BA-10:UART,还是太好用了
核心要点:
- UART = 异步串行通信,无需时钟线,仅 TX/RX 交叉接线
- 电脑需 TTL 转 USB 模块 进行协议 + 电平转换
- TTL:0V=0、3.3V/5V=1;USB:D+/D- 电压差表示 0/1
- 程序下载:SWD(2 线)、JTAG(4~5 线)
BA-11:WDG 与 DMA,锦上添花
核心要点:
- WDG 看门狗(可靠):递减计数器,未及时喂狗则自动复位系统;独立电路 + 独立时钟
- DMA 直接存储器访问(高效):不占 CPU,自主完成 RAM 与外设间的数据搬运
- 典型应用:UART 数据→数组、ADC 结果→变量
总结: 至此完成"底层基础→最小运行→核心外设→模拟交互→实时处理→批量通信→系统优化"的完整学习闭环。
【完】