目录
[1.1 核心概念](#1.1 核心概念)
[1.2 工作模式分类](#1.2 工作模式分类)
[1.2.1 输出模式:控制外设](#1.2.1 输出模式:控制外设)
[1.2.2 输入模式:检测外设信号](#1.2.2 输入模式:检测外设信号)
[2.1 硬件连接原理](#2.1 硬件连接原理)
[2.2 核心工作逻辑](#2.2 核心工作逻辑)
[2.3 消抖处理](#2.3 消抖处理)
[3.1 中断核心概念](#3.1 中断核心概念)
[3.2 中断源分类与关键参数](#3.2 中断源分类与关键参数)
[3.3 中断处理流程](#3.3 中断处理流程)
[3.4 中断相关寄存器](#3.4 中断相关寄存器)
[3.4.1 IE寄存器](#3.4.1 IE寄存器)
[3.4.2 TCON寄存器](#3.4.2 TCON寄存器)
[4.1 基础知识](#4.1 基础知识)
[4.2 工作原理](#4.2 工作原理)
[4.3 定时器寄存器](#4.3 定时器寄存器)
[4.3.1 TMOD寄存器](#4.3.1 TMOD寄存器)
[4.3.2 TCON寄存器](#4.3.2 TCON寄存器)
[5.1 核心概念](#5.1 核心概念)
[5.2 蜂鸣器原理与分类](#5.2 蜂鸣器原理与分类)
一、GPIO
1.1 核心概念
GPIO(General Purpose Input Output)即通用输入输出,是单片机最基础的外设接口,本质是可灵活配置的引脚,能独立切换为输入或输出模式,实现 "发送控制信号" 和 "接收外部信号" 两大核心功能,是单片机与 LED、按键、传感器等外设通信的桥梁。
1.2 工作模式分类
1.2.1 输出模式:控制外设
输出模式下,单片机可主动输出高电平(VCC)或低电平(GND),驱动外设工作,主要分为 4 种类型:
- 推挽输出:引脚可直接输出高 / 低电平,驱动能力强(如直接点亮 LED),是最常用的输出模式;
- 开漏输出:仅能输出低电平,高电平需依赖外部上拉电阻实现,适合多设备总线通信(如 I2C 总线);
- 复用开漏:引脚复用为外设功能(如串口 TX),同时保持开漏特性;
- 复用推挽:引脚复用为外设功能(如定时器 PWM 输出),同时保持推挽驱动能力。
1.2.2 输入模式:检测外设信号
输入模式下,单片机被动检测引脚的电平状态,获取外部设备的信号,主要分为 4 种类型:
- 上拉输入:引脚通过内部 / 外部上拉电阻接 VCC,未检测到信号时默认输出高电平(如按键未按下时);
- 下拉输入:引脚通过内部 / 外部下拉电阻接 GND,未检测到信号时默认输出低电平;
- 浮空输入:引脚不接上下拉电阻,电平状态完全由外部信号决定(易受干扰,适合高精度信号检测);
- 模拟输入:引脚作为模拟信号通道,用于连接 ADC(模数转换器),检测连续变化的模拟量(如温度传感器信号)。
二、独立按键
2.1 硬件连接原理
51 单片机开发板的独立按键通常采用 "共地接法",原理图如下:

- 按键一端接 GPIO 引脚(如 P14、P15、P16),另一端直接接地(GND);
- 引脚默认通过内部上拉电阻保持高电平(未按下时);
- 当按键按下时,引脚与 GND 短路,电平变为低电平,单片机通过检测该低电平判断按键动作。
2.2 核心工作逻辑
- 未按下状态:GPIO 引脚为高电平(上拉输入模式下);
- 按下状态:GPIO 引脚与 GND 导通,变为低电平;
- 检测方法:通过读取 GPIO 引脚的电平值,若为低电平则判定按键按下,否则未按下。
2.3 消抖处理
机械按键按下和松开时,触点会产生 "抖动"(约 10~20ms 的电平波动),直接检测会导致误触发。解决方法:延时消抖,即检测到低电平后,延时 10~20ms 再重新检测,确认电平仍为低电平时,才判定为有效按下。
三、中断系统
3.1 中断核心概念
- 中断:CPU 正在执行任务时,外部 / 内部紧急事件触发 CPU 暂停当前任务,转去执行事件处理程序,完成后返回原任务继续执行的过程;
- 中断源:触发中断的 "事件源头"(如按键电平变化、定时器溢出);
- 中断优先级:多个中断同时触发时,CPU 优先处理优先级高的中断;
- 中断嵌套:CPU在处理一个中断任务的时候,再去嵌套另外的一个中断任务(51单片机中最多允许嵌套两层)。
3.2 中断源分类与关键参数
| 中断源 | 对应引脚 | 中断向量地址 | 优先级查询次序 | 中断允许位 | 中断标志位 |
|---|---|---|---|---|---|
| 外部中断 0(INT0) | P32 | 0003H | 0(最高) | EX0/EA | IE0 |
| 定时器 0(Timer0) | 无(内部触发) | 000BH | 1 | ET0/EA | TF0 |
| 外部中断 1(INT1) | P33 | 0013H | 2 | EX1/EA | IE1 |
| 定时器 1(Timer1) | 无(内部触发) | 001BH | 3 | ET1/EA | TF1 |
| 串口中断(UART) | P30(RX)、 P31(TX) | 0023H | 4(最低) | ES/EA | RI+TI |
3.3 中断处理流程
- 中断源发出中断请求
- 检查CPU是否允许中断及该中断源是否被屏蔽
- 比较中断优先级
- 保护现场
- 执行中断处理函数(回调函数)
- 恢复现场
3.4 中断相关寄存器

3.4.1 IE寄存器

3.4.2 TCON寄存器

四、定时器
4.1 基础知识
- 产生精准时间,不同外设对时间要求是精准的
- 51单片机中有两个定时器,分别是Timer0和Timer1,是自增型定时器
4.2 工作原理
定时器内部有个16位的计数器,给定计数器一个初值,会按照1us的速率进行自增,加到65535溢出时向CPU发起中断请求,CPU响应定时器中断并执行中断处理函数
4.3 定时器寄存器
4.3.1 TMOD寄存器
定时器模式配置寄存器

- 将 TMOD 寄存器中的低 4 位清 0
- 将 M0 置 1,M1 置 0,代表定时器 0 工作在 16 位定时器模式下

4.3.2 TCON寄存器
定时器控制寄存器


将 TCON 寄存器中的 TR0 置 1,代表打开定时器,开始计数

将 IE 寄存器中的 bit7 和 bit1 置1,代表允许CPU响应所有中断 + 允许定时器0产生中断
五、PWM
5.1 核心概念
- PWM 周期:一个完整方波的时间(从上升沿到下一个上升沿),决定信号的频率(频率 = 1 / 周期);
- PWM 占空比:高电平在一个周期内所占的时间比例(如占空比 50% 表示高电平与低电平时间相等);
- 核心作用:通过调整占空比模拟 "渐变" 效果(如 LED 亮度调节),通过调整周期改变信号频率(如蜂鸣器音调)。
5.2 蜂鸣器原理与分类
蜂鸣器原理图:

51 单片机开发板常用蜂鸣器为 NPN 三极管驱动(连接引脚如 P11),分为两种类型:
| 类型 | 核心特性 | 驱动方式 |
|---|---|---|
| 有源蜂鸣器 | 内置震荡源,上电即发声 | 给引脚输出持续高 / 低电平即可驱动 |
| 无源蜂鸣器 | 无内置震荡源,需外部方波 | 通过 PWM 信号(周期性电平翻转)驱动 |
关键说明:
- 音调:由 PWM 频率决定,高频对应高音,低频对应低音;
- 音量:由 PWM 占空比决定,占空比越大,驱动电流越大,音量越高。
六、重点内容
- GPIO的输入模式和输出模式
- 独立按键的工作原理
- 中断概念
- 中断源概念
- 中断源分类
- 中断处理流程
- 51单片机中有几个定时器
- 定时器是自增还是自减?
- 定时器工作原理
- PWM相关概念
- PWM周期
- PWM占空比
- 有源蜂鸣器和无源蜂鸣器的区别