PLC狂人 2026-6-27 08:11:16 | 显示全部楼层 | 阅读模式

『7x24小时有问必答』
很多刚接触嵌入式或单片机(MCU)的小伙伴,在点亮第一颗 LED 灯后,往往会陷入迷茫:除了写 while(1) { LED = 1; delay(); LED = 0; delay(); } 之外,这个小芯片还能干什么?
其实,单片机的核心(CPU)虽然强大,但它就像一个“只有大脑、没有五官和四肢”的思想家。它要感知外部世界、控制硬件设备,必须依赖芯片内部集成的外设(Peripherals)。
掌握外设的使用,才是真正跨入嵌入式开发大门的钥匙。今天这篇文章,我们就来系统梳理一下,在几乎所有单片机(从经典的 8051 到强大的 Cortex-M 系列)中,最常使用、也是最基础的几大外设。
gemin3 pro 图片生成

一、 什么是单片机外设?

简单来说,外设就是单片机芯片内部,围绕在 CPU 核心周围,专门负责特定功能的硬件模块。

它们与 CPU 共享同一个芯片,通过系统总线连接。CPU 通过读写外设的寄存器来配置其工作模式、读取数据或发送指令。外设通常也是单片机耗电的主要来源(所以低功耗设计往往是关闭未使用的外设)。

如果把 CPU 比作市长,外设就是市政府下面的各个职能部门:环保局(感知温度)、交通局(数据传输)、市政规划局(精确计时)。

二、 七大基础外设详解

1. GPIO (General Purpose Input/Output) —— 通用输入/输出口
这是最基础、最直观的外设,几乎每个引脚都可以配置为 GPIO。也是大家“点灯”用的那个模块。

功能:  CPU 直接控制引脚的电平状态(高电平或低电平)。
常用模式:
1
推挽输出 (Push-Pull Output): 最常用的输出模式,能输出强的高低电平,适合驱动 LED、继电器、蜂鸣器等。
2
浮空输入 (Floating Input): 引脚处于“悬空”状态,专门读取外部数字信号(0 或 1)。适合读取开关、传感器开关信号。
3
复用功能 (Alternate Function): 许多 GPIO 引脚兼任其他外设的功能(如串口的 TX/RX),此时需要配置为复用模式。
应用场景:  控制 LED、按键检测、片选信号、软件模拟简易通信协议。
2.UART (Universal Asynchronous Receiver/Transmitter) —— 串口
这是工程调试(Debugging)的灵魂外设。通常被称为“串口”或“SCI”。
1
功能:实现单片机与外部设备(如电脑、GPS、蓝牙模块)之间的全双工、异步串行通信。只需三根线:TX(发送)、RX(接收)、GND(地)。
2
特点:  配置灵活(波特率、数据位、停止位、校验位),但速度相对较慢。是工程调试中打印 printf("Current Temp: %d", temp); 的绝对主力。
应用场景:  电脑上位机调试(如串口助手)、连接蓝牙/Wi-Fi 透传模块、GPS 模块数据读取。

3. Timer (定时器/计数器)
如果说 GPIO 是单片机的四肢,定时器就是单片机的闹钟和心跳。它不仅仅是 delay

功能:
1
定时 (Timing): 基于精确的时钟源计数,产生固定的时间间隔。
2
计数 (Counting): 统计外部引脚上的脉冲个数。
3
中断触发 (Interrupt Request): 定时时间到,强制 CPU 暂停当前工作,去执行紧急任务(如 1ms 刷新一次显示)。
4
输入捕获 (Input Capture): 精确测量外部信号的频率或脉宽(比如测量遥控器的红外信号)。

应用场景:  1ms 软件定时、实现精确的 delay、计算外部脉冲频率。

4. PWM (Pulse Width Modulation) —— 脉冲宽度调制
PWM 常常是定时器的一个附属功能模式,但因其极为重要,往往被视为独立外设对待。
<b>1
功能: 通过改变方波信号的占空比(一个周期内高电平所占的比例),来模拟电压的变化。
2
原理: 对于像电动机或 LED 这种有惯性的设备,快速地开关电压,它们感知到的是一个“平均电压”。
应用场景:  LED 亮度调节(呼吸灯)、舵机角度控制、直流电机转速控制、D 类功放。

5. ADC (Analog-to-Digital Converter) —— 模数转换器
单片机是数字设备(只能识别 0 和 1),但我们生活的物理世界是模拟的(温度、压力、光照是连续变化的)。
<b>1
功能: 将外部引脚上的模拟电压信号(如 0V ~ 3.3V)转换为单片机能处理的数字量(如 0 ~ 4095,12 位 ADC)。
2
关键参数: 分辨率(精度,如 10 位、12 位、16 位)、采样率(转换速度)。

应用场景: 读取温度传感器(NTC)、监测电池电量、读取电位器(旋钮)位置、光敏电阻感光。

6. I2C (Inter-Integrated Circuit)
一种非常经典、简单的低速同步串行总线,由飞利浦公司开发。
<b>1
功能: 只需两根线(SDA 数据、SCL 时钟),就可以在同一总线挂载多个设备(多主多从模式,通过地址识别)。
2
特点: 适合短距离、低速器件间的连接,引脚占用极少。

应用场景:  连接 OLED 屏幕、EEPROM 存储器(AT24C02)、温湿度传感器(AHT20)、陀螺仪(MPU6050)。

7. SPI (Serial Peripheral Interface)
一种高速、全双工的同步串行接口。
<b>1

功能: 通常需要四根线(MISO 主入从出、MOSI 主出从入、SCK 时、CS 片选)。

2
特点: 速度非常快(常用于驱动彩色屏幕和外部 Flash),协议简单,但引脚占用较多(每增加一个从设备需要一根 CS 线)。

应用场景:  驱动 TFT 彩色屏幕、读取高速外部 Flash 存储器(W25Q64)、SD 卡读写、高速 AD 芯片。

三、 总结与进阶建议

以上 7 个外设,构成了单片机与外界交流的基础框架。

如果你是刚开始深入学习,建议的掌握顺序是:

GPIO(彻底明白输出/输入/浮空/推挽)
UART(学会通过串口打印调试信息,极大地优化后续开发体验)
Timer & PWM(掌握定时中断和基本调光)
ADC(学习采集外部模拟信号)
I2C & SPI(掌握一种常用的通信协议)

等你把这 7 个外设都玩透了,再去看一些更高级的外设(如 DMA、CAN、USB、Ethernet)或者深入研究 RTOS(实时操作系统),就会感觉水到渠成了。

嵌入式开发是一门实践性极强的学科,每一个外设,请务必手写代码(不要只复制粘贴)在开发板上跑通一次!
—    —
来源:知乎(哈桑)
链接:https://zhuanlan.zhihu.com/p/2019014315672347904
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处

扫码加免费领取资料
免费资料领取

资料介绍:10G必备工控资料礼包+电工必备热门软件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码