51单片机外部中断

中断系统

中断请求 -> 中断响应 -> 中断处理 -> 中断返回

什么是中断系统

计算机执行某程序时,发生了紧急事件或有特殊请求,CPU暂停某程序的执行,转而去处理上述事件或请求,处理完毕后再重新执行某程序的过程叫做中断。

数据的输入/输出传送方式

1.无条件传送方式:

一方对另一方来说总是准备好的

2.查询传送方式(LOOK UP):

传送前一方先查询另一方的状态,若已经准备好就传送,否则就继续查询/等待。

3.中断传送方式(IRQ):

一方通过申请中断的方式与另一方进行数据传送。

4.直接存储器存储方式(DMA):

双方直接通过总线传送数据,不经CPU中转。适用于数据量大高速通讯的设备,不占用CPU时间。

51子系列允许5个中断源

51单片机中断系统内部结构图

外部中断源(2个):

INT0 — 由P3.2端口线引入,低电平或下降沿引起
INT1 — 由P3.3端口线引入,低电平或下降沿引起
这两个外部中断源标志和他们的触发方式控制位由特殊功能寄存器TCON的低四位控制.

内部中断源(3个):

T0 — 定时器/计数器0中断,由T0回零溢出引起.
T1 — 定时器/计数器1中断,由T1回零溢出引起.
TI/RI —串行I/O中断,串行端口完成一帧字符发送/接收后引起
这三个内部中断源的控制位分别锁存在特殊功能寄存器TCON和SCON中.

如何去使用单片机中断系统

1. 允许中断

在这里插入图片描述

2.配置中断方式

在这里插入图片描述

编写中断函数

中断优先级处理原则

对同时发生多个终端申请时:

  1. 不同优先级的中断同时申请(很难遇到)----先高后低

  2. 相同优先级的中断同时申请(很难遇到)----按序进行

  3. 正处理低优先级中断又接到高级别中断----高打断低

  4. 正处理高优先级中断又接到低级别中断----高不理低

单片机同优先级中内部查询顺序

内部查询顺序:在同时受到几个同一优先级的中断请求时,哪一个中断请求能优先得到响应,取决于内部的查询顺序.这相当于在同一优先级内,还同时存在另一辅助优先级结构,其查询顺序如下:
在这里插入图片描述

中断响应条件

  • 此中断源的中断允许位为1
  • 此中断CPU中断打开(EA=1)
  • 中断源有中断请求
例 :外部中断1初始化
  • EA = 1;//开总中断
  • EX1 = 1;//开外部中断1
  • IT1 = 1;//跳变沿触发

中断处理函数

void int1() interrupt 2 //中断处理函数,加关键字interrupt和入口号
{
    
    
	中断处理语句
}

猜你喜欢

转载自blog.csdn.net/m0_52802869/article/details/112698323