硬件 --- GPIO/中断/定时器/蜂鸣器

GPIO(通用输入输出口)

作用 :单片机最基础的引脚,用于控制硬件(输出)读取外部信号(输入)

1. 输出模式(给定引脚电平,控制引脚高低电平的变化)

  • 推挽输出:可直接输出强高 / 低电平,驱动能力强(常用:LED、继电器)
  • 开漏输出 :需外部上拉电阻才能输出高电平,支持电平转换、线与功能(常用:I2C 通信)
  • 复用推挽:引脚作为外设功能(串口 / PWM)的推挽输出
  • 复用开漏:引脚作为外设功能的开漏输出

2. 输入模式(读取引脚电平)检测引脚电平变化

  • 上拉输入 :内部接高电平,默认读取高电平 1
  • 下拉输入 :内部接低电平,默认读取低电平 0
  • 浮空输入 :无上下拉,电平不确定,只用于读取外部明确信号
  • 模拟输入 :用于ADC 采集电压(读取模拟量,非数字 0/1)

中断系统

1. 中断定义

当 CPU 正在执行程序时,外部紧急事件触发请求 ,CPU 暂停当前任务,转去处理事件,处理完毕后返回原位置继续执行 ,这个过程叫中断

2. 中断源(51 单片机标准 5 个)

打断 CPU 运行的事件来源:

  1. 外部中断 0(INT0)
  2. 外部中断 1(INT1)
  3. 定时器 0 中断(T0)
  4. 定时器 1 中断(T1)
  5. 串口中断(UART)

3. 外部中断

由引脚电平变化 / 下降沿触发的中断(如按键按下触发)

4. 中断优先级

多个中断同时请求时,CPU优先响应优先级更高的中断

5. 中断处理流程(标准流程)

  1. 中断源发出中断请求
  2. CPU 检查是否响应、中断是否开启
  3. 比较中断优先级
  4. 保护现场(保存当前寄存器 / 地址)
  5. 执行中断服务函数(处理事件)
  6. 恢复现场
  7. 返回主程序继续执行

6. 中断向量表 + 中断向量

  • 中断向量表 :本质是一个数组,存放所有中断服务函数入口地址的固定存储区域
  • 中断向量::本质是一个标号,可以通过标号在中断向量表中找到中断服务函数的入口地址
  • 作用:让 CPU 快速找到该执行哪个中断函数

定时器 / 计数器

1. 定时器

  • 作用:实现精准延时、定时触发任务
  • 原理:对内部时钟脉冲计数,计时精准

2. 计数器

  • 作用:统计外部引脚脉冲个数

3. 51 单片机定时器

  • Timer0(定时器 / 计数器 0)
  • Timer1(定时器 / 计数器 1)

PWM 脉冲宽度调制

PWM( Pulse Width Modulation )

  • 本质:让单片机引脚快速、周期性输出高低电平,形成连续方波
  • 核心作用:模拟输出电压、控制亮度 / 转速 / 音调(LED 调光、电机调速、蜂鸣器发声)

关键参数

  1. PWM 周期一个完整方波的时间(从一个上升沿 → 下一个上升沿)周期越短,频率越高

  2. PWM 占空比 一个周期内,高电平持续时间占总周期的比例

    • 占空比越大 → 高电平时间越长 → 平均电压越高
    • 占空比越小 → 高电平时间越短 → 平均电压越低

蜂鸣器(区分有源 / 无源)

1. 有源蜂鸣器

  • 内部自带震荡源
  • 只要 通电(给高低电平) 就响
  • 声音频率固定,不能调节音调
  • 优点:使用简单

2. 无源蜂鸣器

  • 内部没有震荡源
  • 只给直流电不会响
  • 必须输入 PWM 方波(交替高低电平)*才能发声
  • 优点:可以调节音调、频率
相关推荐
forAllforMe2 小时前
LAN9252 从机模式寄存器的配置代码示例
stm32·单片机·嵌入式硬件
不想起床&2 小时前
51单片机
单片机·嵌入式硬件·51单片机
我在人间贩卖青春2 小时前
单片机复位源
单片机·嵌入式硬件·复位源
项目題供诗2 小时前
51单片机入门-温度传感器DS18B20(十三)
单片机·嵌入式硬件·51单片机
莎士比亚的文学花园3 小时前
硬件通信——UART串行口
单片机·嵌入式硬件
guygg883 小时前
基于STM32的贪吃蛇游戏实现(OLED屏)
stm32·嵌入式硬件·游戏
BackCatK Chen3 小时前
STM32保姆级入门教程|第4章:GPIO输入+外部中断 实现按键控制LED(手把手全流程)
stm32·单片机·外部中断·按键控制 led·stm32cubeid·gpio 输入
悠哉悠哉愿意4 小时前
【单片机学习笔记】第十二届国赛经验复盘
笔记·单片机·嵌入式硬件·学习
rit84324995 小时前
STC8单片机模拟AD转换程序(NTC测温)
单片机·嵌入式硬件