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) 0003H P3.2 引脚低电平/下降沿 紧急按键、传感器信号
↓ ​定时器 0 中断​ (TF0) 000BH 定时器/计数器 0 溢出 定时任务、PWM 生成
↓ ​外部中断 1​ (INT1) 0013H P3.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,支持位寻址)。其功能是全局或单独使能/禁止中断源,具体格式如下:

​位​ D7 D6 D5 D4 D3 D2 D1 D0
​名称​ ​EA​ --- --- --- ​ES​ ​ET1​ ​EX1​ ​ET0​
​功能​ 总中断允许 保留 保留 保留 串口中断允许 定时器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;。
位 名称 描述
7 SM0 串行通信工作模式位 0
6 SM1 串行通信工作模式位 1
5 SM2 使能多机通信模式
4 REN 接收使能位
3 TB8 发送第8位数据,主要用于多机通信时发送第8位数据
2 RB8 接收第8位数据,主要用于多机通信时接收第8位数据
1 TI 发送中断标志位,表示数据已发送完成
0 RI 接收中断标志位,表示接收数据已准备好
SCON 寄存器位的功能说明:
  1. SM0 和 SM1(位 7 和 6):

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

      • 工作方式 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。软件需要清除该标志位来确认接收操作完成。
相关推荐
ye15012777455几秒前
220V降压24V700mA交转直芯片WT5110
stm32·单片机·嵌入式硬件·其他·硬件工程
BSD_HY29 分钟前
薄膜开关矩阵扫描在低功耗 MCU 上的 GPIO 扩展
单片机·嵌入式硬件·矩阵
时代的凡人2 小时前
生活中的恒流源和恒压源
嵌入式硬件
恒锐丰科技林技术员3 小时前
EG2181 半桥驱动芯片原理与应用解析
经验分享·嵌入式硬件·硬件工程
Jason_zhao_MR3 小时前
电力数据采集核心板选型指南
linux·嵌入式硬件·fpga开发·嵌入式
沐欣工作室_lvyiyi3 小时前
基于物联网的汽车智能座舱控制系统的设计和实现(论文+源码)
单片机·物联网·汽车·智能座舱·哈尔滨信息工程学院·黄河科技学院
创界工坊工作室3 小时前
21-基于单片机的智能窗帘与光照联动控制系统设计
stm32·单片机·嵌入式硬件·proteus
zhaoshuzhaoshu3 小时前
嵌入式系统看门狗详解——以 STM32 为例
stm32·嵌入式硬件
恒锐丰科技林技术员4 小时前
EG2113D 高压半桥驱动芯片:高压功率变换的实用驱动方案
经验分享·嵌入式硬件·硬件工程
石马马户4 小时前
传感器的中断 Latch、中断状态寄存器、中断读取与保持时间
stm32·单片机·嵌入式硬件