当前位置: 首页 > news >正文

51单片机中断

80C51 单片机的中断源及其默认优先级(从高到低): 

优先级中断源中断号
1️⃣外部中断 0 (INT0)IE0,编号 0
2️⃣定时器 0 (T0)TF0,编号 1
3️⃣外部中断 1 (INT1)IE1,编号 2
4️⃣定时器 1 (T1)TF1,编号 3
5️⃣串口中断 (TX/RX)RI/TI,编号 4

80C51 单片机共有 ​5 个中断源,默认优先级由硬件固定(中断向量地址从低到高),具体如下:

优先级中断源中断向量地址触发条件典型应用
最高外部中断 0​ (INT0)0003HP3.2 引脚低电平/下降沿紧急按键、传感器信号
定时器 0 中断​ (TF0)000BH定时器/计数器 0 溢出定时任务、PWM 生成
外部中断 1​ (INT1)0013HP3.3 引脚低电平/下降沿外部设备触发信号
定时器 1 中断​ (TF1)001BH定时器/计数器 1 溢出串口波特率生成、计时
最低串口中断​ (RI/TI)0023H串口数据接收完成(RI)或发送完成(TI)串行通信(UART)

IE 寄存器格式(从高位到低位)

位编号:  EA  -  -  ES  ET1 EX1 ET0 EX0
位名称:  7   6  5  4   3   2   1   0
位名作用设置为1表示…
EA总中断允许位允许中断系统工作
(保留)位6和5保留,通常设为0-
ES串口中断允许(Serial)允许串口发送/接收中断
ET1定时器1中断允许允许 Timer1 中断
EX1外部中断1 允许(P3.3)允许 INT1 触发中断
ET0定时器0中断允许允许 Timer0 中断
EX0外部中断0 允许(P3.2)允许 INT0 触发中断

IE 寄存器是 80C51 单片机中用于控制中断允许的 8 位寄存器(地址 A8H,支持位寻址)。其功能是全局或单独使能/禁止中断源,具体格式如下:

D7D6D5D4D3D2D1D0
名称EAESET1EX1ET0
功能总中断允许保留保留保留串口中断允许定时器1中断允许外部中断1允许定时器0中断允许

详细说明:​

  1. EA(总中断允许位,D7)​

    • EA=1​:开启总中断(所有中断需在总中断开启后单独使能才能响应)。
    • EA=0​:禁止所有中断(全局关闭)。
  2. ES(串口中断允许位,D4)​

    • ES=1​:允许串口中断(RI/TI 触发)。
    • ES=0​:禁止串口中断。
  3. ET1(定时器1中断允许位,D3)​

    • ET1=1​:允许定时器/计数器1溢出中断(TF1=1 时触发)。
    • ET1=0​:禁止定时器1中断。
  4. EX1(外部中断1允许位,D2)​

    • EX1=1​:允许外部中断1(INT1/P3.3 引脚触发)。
    • EX1=0​:禁止外部中断1。
  5. ET0(定时器0中断允许位,D1)​

    • ET0=1​:允许定时器/计数器0溢出中断(TF0=1 时触发)。
    • ET0=0​:禁止定时器0中断。
  6. EX0(外部中断0允许位,D0)​

    • EX0=1​:允许外部中断0(INT0/P3.2 引脚触发)。
    • EX0=0​:禁止外部中断0。
  7. 保留位(D6-D5-D4)​

    • 默认置0,无实际功能,通常不操作。

TCON 寄存器结构

TCON(地址:88H)​​ 是8051单片机中控制定时器/计数器及外部中断的核心寄存器,支持位寻址。以下是其核心功能解析:


TCON寄存器位定义

名称功能描述
TF1​ (B7)定时器1溢出标志定时器1溢出时由硬件置1,​CPU响应中断后自动清零​(或通过软件手动清零)。
TR1​ (B6)定时器1运行控制由软件置1/0控制定时器1启停:
- ​GATE=0​:TR1=1启动;TR1=0停止。
- ​GATE=1​:需TR1=1且INT1引脚高电平才启动。
TF0​ (B5)定时器0溢出标志功能同TF1,对应定时器0。
TR0​ (B4)定时器0运行控制功能同TR1,对应定时器0。
IE1​ (B3)外部中断1标志边沿触发(IT1=1)​​:中断响应后硬件自动清零;
电平触发(IT1=0)​​:需软件清零。
IT1​ (B2)外部中断1触发方式- IT1=1:下降沿触发;
- IT1=0:低电平触发。
IE0​ (B1)外部中断0标志功能同IE1,对应外部中断0(INT0)。
IT0​ (B0)外部中断0触发方式- IT0=1:下降沿触发;
- IT0=0:低电平触发。

关键功能说明
  1. 定时器溢出标志(TF1/TF0)​

    • 定时器计数溢出时硬件自动置1,中断响应后自动清零,也可通过软件查询并清零(如 TF1 = 0;)。
  2. 定时器运行控制(TR1/TR0)​

    • GATE位(在TMOD寄存器中)的作用​:
      • GATE=0时,TR1/TR0直接控制定时器启停。
      • GATE=1时,需同时满足TR1/TR0=1且对应外部中断引脚(INT1/INT0)为高电平才启动定时器。
  3. 外部中断触发方式(IT1/IT0)​

    • 边沿触发(ITx=1)​​:下降沿触发中断,中断标志(IEx)由硬件自动清零。
    • 电平触发(ITx=0)​​:低电平触发中断,中断标志需软件清零,且中断服务结束前必须清除外部引脚的低电平,否则会重复触发。

IP(中断优先级寄存器):

位名作用
PX0外部中断0 优先级(1=高)
PT0定时器0 优先级
PX1外部中断1 优先级
PT1定时器1 优先级
PS串口优先级

SCON 寄存器

SCON 寄存器是一个 8 位的寄存器,通常位于 8051 的地址 0x98。它的每一位都具有不同的功能,以下是 SCON 寄存器的位结构:

SCON寄存器位定义

名称功能描述
SM0​ (B7)串口工作模式选择与SM1共同决定串口工作模式:
- ​SM0=0, SM1=0​:模式0(同步移位寄存器)
- ​SM0=0, SM1=1​:模式1(8位UART,波特率可变)
- ​SM0=1, SM1=0​:模式2(9位UART,波特率固定)
- ​SM0=1, SM1=1​:模式3(9位UART,波特率可变)
SM1​ (B6)串口工作模式选择同上,与SM0配合使用。
SM2​ (B5)多机通信控制- ​模式0​:SM2必须置0。
- ​模式1​:SM2=1时,只有接收停止位有效才会触发中断。
- ​模式2/3​:SM2=1时,接收的第9位(RB8)为1才触发中断。
REN​ (B4)接收允许控制- ​REN=1​:允许串口接收数据。
- ​REN=0​:禁止接收。
TB8​ (B3)发送数据第9位在模式2/3中,存放发送数据的第9位(可作校验位或地址/数据标识)。
RB8​ (B2)接收数据第9位在模式2/3中,存放接收数据的第9位;模式1中存放停止位。
TI​ (B1)发送中断标志- ​硬件置1​:当一帧数据发送完成时,TI=1。
- ​软件清零​:需手动清零 TI = 0;
RI​ (B0)接收中断标志- ​硬件置1​:当一帧数据接收完成时,RI=1。
- ​软件清零​:需手动清零 RI = 0;
名称描述
7SM0串行通信工作模式位 0
6SM1串行通信工作模式位 1
5SM2使能多机通信模式
4REN接收使能位
3TB8发送第8位数据,主要用于多机通信时发送第8位数据
2RB8接收第8位数据,主要用于多机通信时接收第8位数据
1TI发送中断标志位,表示数据已发送完成
0RI接收中断标志位,表示接收数据已准备好
SCON 寄存器位的功能说明:
  1. SM0 和 SM1(位 7 和 6)

    • 这两位用于选择串行通信的工作方式。串行口有四种工作模式(模式 0、模式 1、模式 2 和模式 3),由 SM0SM1 组合决定。

      • 工作方式 0:标准异步方式,通常用于 UART 通信。

      • 工作方式 1:可变波特率异步通信。

      • 工作方式 2:同步串行通信。

      • 工作方式 3:支持多机通信。

  2. SM2(位 5)

    • SM2 用于启用多机通信模式。若设置为 1,表示该通信模式允许多台设备在同一总线上进行串行通信。

  3. REN(位 4)

    • REN 是接收使能位。设置为 1 时,允许接收数据;设置为 0 时,禁用接收数据。

  4. TB8(位 3)

    • TB8 是发送第 8 位数据的标志。在多机通信模式下,它表示发送的第 8 位数据。

  5. RB8(位 2)

    • RB8 是接收第 8 位数据的标志。在多机通信模式下,它表示接收的数据的第 8 位。

  6. TI(位 1)

    • TI 是发送中断标志位,当数据发送完成后,硬件会自动设置该标志位为 1。软件需要清除该标志位来确认发送操作完成。

  7. RI(位 0)

    • RI 是接收中断标志位,当接收到一帧数据时,硬件会自动设置该标志位为 1。软件需要清除该标志位来确认接收操作完成。

相关文章:

  • Electron从入门到入门
  • Nacos简介—2.Nacos的原理简介
  • Linux:进程间通信->匿名管道实现内存池
  • 深入剖析 Vue 双向数据绑定机制 —— 从响应式原理到 v-model 实现全解析
  • Android中的多线程
  • ubuntu20.04安装x11vnc远程桌面
  • 如何成功防护T级超大流量的DDoS攻击
  • 【Leetcode 每日一题】2845. 统计趣味子数组的数目
  • 汽车售后 D - PDU 和 J2543 详细介绍
  • 驱动开发硬核特训 · Day 21(下篇): 深入剖析 PCA9450 驱动如何接入 regulator 子系统
  • Serverless 在云原生后端的实践与演化:从函数到平台的革新
  • classfinal 修改过源码,支持jdk17 + spring boot 3.2.8
  • 【k8s】sidecar边车容器
  • 项目maven版本不一致 导致无法下载
  • 【遥感图像分类】【综述】遥感影像分类:全面综述与应用
  • python实现简单的UI交互
  • redis客户端库redis++在嵌入式Linux下的交叉编译及使用
  • 多物理场耦合低温等离子体装置求解器PASSKEy2
  • ROS 快速入门教程04
  • 【Vue】静态站点生成(VitePress)
  • 重新认识中国女性|婚姻,古代传统家庭再生产的根本之道
  • ​王毅会见塔吉克斯坦外长穆赫里丁
  • 2025全国知识产权宣传周:用AI生成的图片要小心什么?
  • 福耀科技大学发布招生章程:专业培养语种为英语,综合改革省份选考需含物化
  • 舞剧《百合花》7月绽放,王安忆:这是送给母亲的一份礼物
  • 三部门:对不裁员少裁员的参保企业实施稳岗返还政策至今年底