news 2026/4/25 17:26:11

51单片机——GPIO、按键、中断、定时器与PWM

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
51单片机——GPIO、按键、中断、定时器与PWM

目录

一、GPIO

1.1 核心概念

1.2 工作模式分类

1.2.1 输出模式:控制外设

1.2.2 输入模式:检测外设信号

二、独立按键

2.1 硬件连接原理

2.2 核心工作逻辑

2.3 消抖处理

三、中断系统

3.1 中断核心概念

3.2 中断源分类与关键参数

3.3 中断处理流程

3.4 中断相关寄存器

3.4.1 IE寄存器

3.4.2 TCON寄存器

四、定时器

4.1 基础知识

4.2 工作原理

4.3 定时器寄存器

4.3.1 TMOD寄存器

4.3.2 TCON寄存器

五、PWM

5.1 核心概念

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)P320003H0(最高)EX0/EAIE0
定时器 0(Timer0)无(内部触发)000BH1ET0/EATF0
外部中断 1(INT1)P330013H2EX1/EAIE1
定时器 1(Timer1)无(内部触发)001BH3ET1/EATF1
串口中断(UART)

P30(RX)、

P31(TX)

0023H4(最低)ES/EARI+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寄存器

定时器模式配置寄存器

  1. 将 TMOD 寄存器中的低 4 位清 0
  2. 将 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 占空比决定,占空比越大,驱动电流越大,音量越高。

六、重点内容

  1. GPIO的输入模式和输出模式
  2. 独立按键的工作原理
  3. 中断概念
  4. 中断源概念
  5. 中断源分类
  6. 中断处理流程
  7. 51单片机中有几个定时器
  8. 定时器是自增还是自减?
  9. 定时器工作原理
  10. PWM相关概念
  11. PWM周期
  12. PWM占空比
  13. 有源蜂鸣器和无源蜂鸣器的区别
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 21:32:50

论文初稿难产?10款AI工具助你高效降重与生成,大幅提升写作效率

�� AI工具性能速览表 工具名称 核心功能 处理时间 AI生成率控制 适配检测平台 askpaper 降AIGC率降重同步 20分钟 个位数 知网/格子达/维普 秒篇 AI痕迹深度弱化 20分钟 个位数 知网/格子达/维普 aicheck 全学科初稿生成 20-30分钟 低…

作者头像 李华
网站建设 2026/4/24 20:11:18

【开题答辩全过程】以 基于springbootvue图书馆选座系统设计与实现为例,包含答辩的问题和答案

个人简介 一名14年经验的资深毕设内行人,语言擅长Java、php、微信小程序、Python、Golang、安卓Android等 开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。 感谢大家…

作者头像 李华
网站建设 2026/4/25 12:02:08

子数列求积【牛客tracker 每日一题】

子数列求积 时间限制:1秒 空间限制:256M 网页链接 牛客tracker 牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有…

作者头像 李华
网站建设 2026/4/18 14:30:22

Java性能优化实战技术文章大纲性能优化的基本原则

Java性能优化实战技术文章大纲性能优化的基本原则理解性能优化的核心目标:减少资源消耗、提高响应速度、增强系统稳定性 避免过度优化,基于实际业务场景和数据驱动决策 采用可量化的指标评估优化效果(如TPS、RT、GC频率等)JVM层优…

作者头像 李华
网站建设 2026/4/18 1:47:45

预装智能办公软件,打造企业专属数字工作台

数据成为新生产要素,算法成为新生产力,这场由技术驱动的深层经济逻辑变革,影响着这个时代的每一个人,迫使每一个组织重新审视自己的价值链条与核心竞争力。每个企业需要深化技术与业务流程的结合应用,如何在保障数据主…

作者头像 李华
网站建设 2026/4/22 15:36:35

基于微信小程序的方言粤语文化传播平台的设计与开发PHP_nodejs_vue+uniapp

文章目录方言粤语文化传播平台的设计与开发摘要系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!方言粤语文化传播平台的设计与开发摘要 该平台基于微信小程序生态,结合PHP、Node.js、V…

作者头像 李华