当前位置:首页 > 问问

单片机什么时候进入串口中断 单片机串口中断触发时机

1、中断的定义

在程序执行过程中,有些情况需要立刻中断当前程序的执行,转而执行一些特殊的处理为中断效果。单片机的中断分为外部中断和内部中断。

其中,外部中断是由硬件引起的,当硬件发生了一些特殊的事件后,会通过相应的中断线将信息送到CPU。此时CPU会立即暂停当前程序的处理,而转而去响应中断程序。

而在具体使用过程中,我们常常利用串口中断实现程序中指令和与用户输入之间的互动。

2、串口中断条件

在单片机中,串口通信是非常常见的,并且通过串口和PC或其他设备通信是部分嵌入式开发中常见的做法。单片机的串口中断是由硬件引发的,需要具备下面两个条件才能进入串口中断:

1)使能中断:对应设置寄存器中的相应位为1,使能串口中断

2)串口中断标识位设置:在串口接收到数据后,硬件把标志位SET,CPU获得控制权后再去处理数据

3、进入中断过程

当中断条件满足的时候,CPU会立即暂停当前程序的执行,执行由中断向量表中指定的中断程序。首先,CPU会把当前程序的PC和其他用于保护现场的寄存器等内容压入栈中,以备中断结束后恢复当前程序的状态。

然后,CPU将处理器状态字(PSW)的相应位设置为中断处理程序的模式。在执行中断处理程序前,CPU还要对中断请求进行确认和响应。确认中断请求的主要方式是检查与中断请求相对应的中断屏蔽寄存器(IMR)中相应位的状态,判断中断请求是否允许发生。响应中断请求的方法是通过软件向外部设备发出的硬件控制信号,请求它发出相应中断的中断屏蔽信号。

4、退出中断过程

当中断程序结束时,CPU会执行一系列恢复现场的操作。首先,CPU从中断处理程序返回之前保存的栈内容中取出现场信息,回到中断发生前的位置。接着,CPU把处理器状态字的相应位设置为以前的状态,CPU又以前的状态继续执行。

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:fendou3451@163.com
标签:

  • 关注微信

相关文章