【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
{

} 
相关推荐
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
Lester_11014 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元4 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133974 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315204 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
Alaso_shuang4 天前
STM32 核心输入、输出模式
stm32·单片机·嵌入式硬件
脚后跟4 天前
AI助力嵌入式物联网项目全栈开发
嵌入式硬件·物联网·ai编程
2501_918126914 天前
stm32死锁是怎么实现的
stm32·单片机·嵌入式硬件·学习·个人开发
z20348315204 天前
STM32F103系列单片机定时器介绍(一)
stm32·单片机
星马梦缘5 天前
驱动层开发——蜂鸣器驱动
stm32·单片机·嵌入式硬件·hal·驱动