51单片机--中断/定时/PWM

GPIO

GPIO:Genral Purpose Input/Output,通用目的输入输出

引脚输入输出

两种工作模式:

1.输出模式:给定单片机引脚电平,控制引脚输出高/低电平(LED控制、数码管控制、蜂鸣器控制)

2.输入模式:检测引脚电平变化(用于检测外部电平信号 按键检测、检测ADC信号)

按键

  1. 按键一端接到GND,另外一端接到GPIO引脚
  2. 如果按键被按下,GND会和引脚短路到一起,此时引脚呈现低电平,代表按键被按下

中断

概念:CPU在处理某个任务时,被外界更为紧急的事件打断,要求CPU优先去处理这个更为紧急的事件;处理完紧急事件后,再回到之前被打断的地方继续向下执行

中断源

打断CPU执行当前的任务源头/事件

中断源分类

外部中断0、外部中断1、定时器0、定时器1、串口

外部中断

引脚电平变化所引发的中断
INT0:P3_2引脚 INT1:P3_3引脚

中断优先级

CPU总是先处理优先级高的中断,处理完优先级高的中断后再处理优先级低中断
优先级:INT0>TIMER0>INT1>TIMER1>UART

中断嵌套

CPU处理一个中断时再去嵌套另外一个中断任务(最多两层嵌套)

中断处理流程(中断源->CPU过程)

1.中断源发出中断请求

2.检查CPU是否允许中断(总开关 能够响应外部中断)及该中断源是否被屏蔽(子开关 能够产生对应的中断)

3.比较中断优先级

4.保护现场

5.执行中断服务函数(回调函数)

6.恢复现场

中断向量表:本质是一个数组,数组中存放的是中断服务函数的入口地址

中断向量:中断向量表中的标号,通过标号可以访问到对应中断服务函数

中断相关寄存器

IE寄存器(中断允许寄存器)

TCON寄存器(定时器寄存器)

定时器

概念:能够产生一个精准的定时,不同外设对时序的要求高(高电平和低电平时间是精准的)51单片机内部有两个定时器,分别为timer0、timer1,所使用自增型定时器(计数器 16位)

工作模式

定时器/计数器0有4种工作模式

  • 模式0(13位定时器/计数器)
  • 模式1(16位定时器/计数器模式)
  • 模式2(8位自动重装模式)
  • 模式3(两个8位定时器/计数器)

定时器/计数器1除模式3外,其他工作模式与定时器/计数器0相同,T1在模式3时无效,停止计数。

定时步骤

  1. 先配置TMOD模式选择寄存器,将低四位清0,再将bit0置1代表工作在16位定时器

  2. 向TH0和TL0中装入定时器的初值(1ms -> 64535)

  3. 将TCON寄存器中的bit6置1,代表允许定时器开始计数

  4. 将IE寄存器中的bit7和bit1置1,开启中断总开关和定时器0的子开关

  5. 编写定时器0的中断服务函数

定时器相关寄存器

TCON寄存器

bit4置1,TMOD寄存器中的Gate位清0, 代表允许定时器开始计数

TMOD寄存器

  • 定时器0->低四位清0
  • 将TMOD寄存器中的M0,bit0置1,代表定时器0工作在16位定时器/计数器模式

IE寄存器(中断)

  • 将IE寄存器中的bit7置1,代表CPU能够响应所有中断
  • 将IE寄存器中的bit1置1,代表允许定时器0产生中断

计算初值

晶振有12MHZ / 11.0592KHZ

计算步骤:

  • 51单片机达不到12MHZ,将12MHZ进行12分频,12MHZ/12 = 1MHZ
  • 51单片机完成一条指令运算:1/1MHZ = 1us
  • 通过定时器0实现1ms定时:1ms = 1000us
  • 定时器初值:65535 - 1000 = 64535

PWM控制蜂鸣器

概念:脉冲宽度调制,能够让引脚产生一个方波,周期性的让引脚的电平发生翻转

PWM周期:一个方波所经历的周期(从上升沿到上升沿所经历的时间/从下降沿到下降沿所经历的时间)

PWM占空比:在一个周期内高电平所占的比例

蜂鸣器

有源蜂鸣器:内部存在震荡源,通电后可以发出持续固定频率的声音
无源蜂鸣器:不存在震荡源,需要给定对应引脚一个高低电平产生震荡(可以输出指定频率音调)

计算初值

相关推荐
irislinAmelia9 小时前
缺陷检测AI关键点在哪
人工智能·嵌入式硬件·1024程序员节
糖糖单片机设计10 小时前
基于 STM32 的植物生长环境监控系统
stm32·单片机·嵌入式硬件
创界工坊工作室10 小时前
56-基于STC89C52的智能声控饮水机设计
stm32·单片机·嵌入式硬件·51单片机·proteus
LCG米10 小时前
STM32 DMA 多通道链式传输实测:请求仲裁顺序错位根因、半满中断乒乓与高速并发搬运落地
stm32·单片机·嵌入式·1024程序员节
hkj880811 小时前
stm32 ADC DMA 循环模式配合双缓冲分块(Ping-Pong)
stm32·单片机·嵌入式硬件
POMAGTOR13 小时前
【磁吸式连接器选型工程解析:结构原理、应用场景与选型可靠性要点】
网络·嵌入式硬件
RFID科技的魅力14 小时前
2026 年 RFID 资产标签批量制作怎么做?RFID 标签打印机实操指南
运维·人工智能·嵌入式硬件·物联网
Lxx_Zw16 小时前
机器周期与共地:时钟基准和电压参考基准
stm32·单片机·嵌入式硬件
我叫洋洋17 小时前
用 Qoder(AI 编程助手)把 Cadence 16.6 从零配到能画板
人工智能·单片机·嵌入式硬件·电路·1024程序员节
深圳老胡19 小时前
STM32 开发中 Trae 内置模型怎么选:Seed、MiniMax、GLM、DeepSeek、Kimi、Qwen 全对比
笔记·stm32·单片机·嵌入式硬件·代码规范·1024程序员节