【51单片机中断】

目录

配置流程

1.在IE寄存器中开启总中断通道和需要的某中断通道

2.在TCON寄存器开启所用中断的触发方式

3.使用中断函数完成中断

4.若需要中断嵌套则在IP寄存器中配置

5.若需要使用串口的中断,则配置SCON寄存器

6.代码示例


配置流程

1.在IE寄存器中开启总中断通道和需要的某中断通道

置1为开启

2.在TCON寄存器开启所用中断的触发方式

置1为开启

没有加粗的内容在普通的中断配置流程中可以忽略

3.使用中断函数完成中断

关键字:interrupt

复制代码
void Function() interrupt n 
{
    
}

n是中断号,取值范围0~4,分别对应外部中断0、定时器0、外部中断1、定时器1、串口

4.若需要中断嵌套则在IP寄存器中配置

置1为高优先级

虽然手册上说在同优先级的情况下优先级的顺序为外部中断0、定时器0、外部中断1、定时器1、串口,但是实践中发现需要中断嵌套的情况下如果不在IP寄存器中配置优先级,则没有中断嵌套的现象

5.若需要使用串口的中断,则配置SCON寄存器

6.代码示例

复制代码
#include <REGX52.H>

void main()
{
  EA = 1;           //总中断允许
  EX0 = 1;          //外部中断0允许
  EX1 = 1;          //外部中断1允许
  
  IT0 = 1;          //外部中断0触发方式为下降沿
  IT1 = 1;          //外部中断1触发方式为下降沿
  
  PX0 = 1;          //外部中断0优先级高
  PX1 = 0;          //外部中断1优先级低

  while(1)
  {
    
  }
}


void Int0(void) interrupt 0    //外部中断0中断号为0
{

}
 
void Int1(void) interrupt 2    //外部中断1中断号为2
{

} 
相关推荐
weixin_464078072 小时前
Altium Designer自定义变压器
嵌入式硬件
QQ5286211243 小时前
芯片程序提取的具体流程和方法
stm32·单片机·嵌入式硬件·程序·pcb抄板
LingzhiPi4 小时前
零知派ESP32-S3-智能小车控制系统(4.2)-红外双目跟随模块使用
单片机·嵌入式硬件
智者知已应修善业8 小时前
【proteus交通灯故障检测的完善方案】2025-4-29
经验分享·笔记·单片机·嵌入式硬件·proteus
LingzhiPi9 小时前
零知ESP32--RC522NFC考勤打卡系统
c++·单片机·嵌入式硬件
炸膛坦客10 小时前
常见代码问题与解答:(二)因外部晶振频率改变导致 MCU 锁死的原因及处理方法
单片机·嵌入式硬件
ShiMetaPi12 小时前
ShiMetaPi Pico-G1:百元级黑光全彩AI ISP开发板
人工智能·嵌入式硬件·pico·isp
Lzh编程小栈12 小时前
嵌入式深度精讲|STM32引脚全方位底层原理、配置逻辑、硬件规范、高频面试题
c语言·stm32·单片机·嵌入式硬件
ch3nyuyu1 天前
单片机实验2
单片机·嵌入式硬件
mk0151 天前
20V输入,12V 3A输出 效率96%DCDC降压芯片
驱动开发·单片机·硬件工程·智能硬件·pcb工艺