第十五届蓝桥杯单片机组备赛——中断系统与外部中断应用

本文详细介绍了51单片机的中断系统,包括中断概念、中断过程、中断控制系统特点,以及中断相关寄存器如IE、TCON和TMOD的使用。特别强调了中断服务函数编写规范和外部中断的应用注意事项。
摘要由CSDN通过智能技术生成

一、中断概念

  内核与外设之间的主要交互方式有两种:轮询中断
  轮询的方式貌似公平,但实际工作效率很低,且不能及时响应紧急事件;
  中断系统使得内核具备了应对突发事件的能力。在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转而去执行另外一段特殊程序来处理出现的紧急事务,处理结束后,CPU自动返回到原来暂停的程序中去继续执行。这种程序在执行过程中由于外界的原因而被中间打断的情况,称为中断。
  📌中断服务函数:内核响应中断后执行的相应处理程序。也就是中断发生后要做什么。
  📌中断向量:中断服务程序的入口地址。每个中断源都对应一个固定的入口地址。当内核响应中断请求时,就会暂停当前的程序执行,然后跳转到该入口地址执行代码。
  📌中断号:在C语言对51进行编程时,中断向量被映射为中断号,也就是我们不需要去背中断向量,只需要记住中断号对应哪个中断源就好。

✨记忆技巧:外部中断和定时中断交叉,先外部再定时器,先0后1,最后一个是串口。
在这里插入图片描述

二、中断过程

在这里插入图片描述

三、中断控制系统(类似STM32的NVIC)

51单片机的中断系统和STM32最大的区别51的中断不能嵌套,必须执行完当前中断服务函数才能执行下一个中断服务函数。

在这里插入图片描述

使用这个中断系统时,用户需要明确每个中断源的功能,适当地设置优先级,编写对应的中断服务函数。根据应用的需要,用户可能还需要控制中断的使能和禁止,并在中断服务例程中恰当地处理中断标志位。

四、中断相关寄存器

在这里插入图片描述

4.1 IE寄存器

在这里插入图片描述

4.2 IP寄存器(不重要,我写了好几届省赛真题都没用到这个寄存器)

在这里插入图片描述

4.3 TCON寄存器

在这里插入图片描述

4.4 TMOD寄存器(只能字节寻址)

在这里插入图片描述
什么叫做只能字节寻址?

举个例子就能明白,例如我们想控制TCON的外部中断0触发方式,我们可以直接IT0=0;
而我们想设置TMOD的GATE,我们不能直接GATE=0;,而必须TMOD=0x**;也就是不能直接对某一位进行操作,而必须对整个寄存器进行操作,所以我们一定要学会位操作

4.5 SCON寄存器(串口设置相关)

在这里插入图片描述

五、中断编写

5.1 中断初始化&中断服务函数

推荐在写这两个函数的时候有一个自己的规范

例如:

void Init_IT0()						// 外部中断0初始化
{
	
}

void Interrupt_IT0() interrupt 0	// 外部中断0服务函数
{

}

5.2 特殊编程格式

A. 中断函数没有返回值,也不能带参数。
B. 函数名后面要跟一个关键字 interrupt,说明这是一个中断服务函数。
C. 在关键字 interrupt 后面要跟上中断号,说明这个中断服务函数是为那个中断源服务的。

六、外部中断应用

外部中断编写重点:
1.外部中断触发方式:高电平触发or下降沿触发
2.外部中断开关
3.总开关

编写中断服务函数的规则之一就是少做事情,一定不能在中断中进行延时操作

未完待续…

  • 14
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值