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

} 
相关推荐
甜甜的大香瓜11 分钟前
【MT32F006】MT32F006之PWM控制背光灯(白光)
单片机
李日华大战鸡红12 分钟前
FOC SVPWM过调制(学习记录)
stm32·单片机·学习
独孤九剑打醒他18 分钟前
【原创开源·修订版】源-栅-漏-栅-源横向双栅MOS:从“被误解的短路”到“电流路径多值逻辑与顶层供电架构”
前端·嵌入式硬件·架构·开源·硬件工程
千里马0239 分钟前
STM32读取AD7606-4(HAL库)
stm32·单片机·嵌入式硬件
weixin_464078071 小时前
电路中补偿器的作用
嵌入式硬件
不会代码的小猴2 小时前
中断(NVIC)
单片机·嵌入式硬件
糖糖单片机设计3 小时前
基于STM32的空气污染检测与报警系统设计与实现
stm32·单片机·嵌入式硬件
盛世宏博北京3 小时前
工业环境稳定采集:配电室 IP 温湿度变送器 TCP/UDP 通信部署指南
单片机·tcp/ip·udp
comyccccc3 小时前
自制多路输出DCDC电源板,3.3V-12V可调 学习笔记
单片机·嵌入式硬件·硬件工程