首页 理论教育 撤除中断请求-版本成果

撤除中断请求-版本成果

时间:2023-11-16 理论教育 版权反馈
【摘要】:CPU响应某一中断后,在中断返回前,该中断请求应该撤除;否则,会引起重复中断而发生错误。光靠清除中断标志,并不能彻底解决中断请求的撤除问题。因为尽管中断请求标志位撤除了,但是中断请求的有效低电平仍然存在,在下一个机器周期采样中断请求时,又会使IE0或IE1重新置1。为此,要想彻底解决中断请求的撤除,必须在中断响应后把外部输入端信号从低电平强制改为高电平。图4-5 电平触发方式的外部中断请求撤除电路

撤除中断请求-版本成果

CPU响应某一中断后,在中断返回前,该中断请求应该撤除;否则,会引起重复中断而发生错误

对于定时器T0和T1的溢出中断及边沿触发方式的外部中断,CPU响应中断后,便由中断系统的硬件自动清除相关的中断请求标志,即这些中断请求是自动撤除的,用户无须采取其他措施。

但对电平触发方式的外部中断,情况则不同。光靠清除中断标志,并不能彻底解决中断请求的撤除问题。因为尽管中断请求标志位撤除了,但是中断请求的有效低电平仍然存在,在下一个机器周期采样中断请求时,又会使IE0或IE1重新置1。为此,要想彻底解决中断请求的撤除,必须在中断响应后把外部输入端信号从低电平强制改为高电平

对于串行接口中断,CPU响应中断后,硬件不能清除它们的中断标志,必须在中断服务程序中用软件清除中断标志,如“CLR RI”、“CLR TI”。MCS-52的T2定时中断标志必须由软件清0。电平触发方式的外部中断请求撤除电路如图4-5所示。

由图4-5可见,当外部中断源产生中断请求时,D触发器被触发,其端输出低电平并送到单片机978-7-111-54295-7-Chapter04-25.jpg引脚,该低电平被单片机CPU检测到后就使中断标志IE0置1,CPU响应中断请求便可转去执行中断服务程序。为了撤除978-7-111-54295-7-Chapter04-26.jpg上的低电平,可以在978-7-111-54295-7-Chapter04-27.jpg中断服务程序开头加上如下的指令:

INTSUB:ANL P1,#0FE;P1.0=0

ORL P1,#01H;P1.0=1(www.xing528.com)

CLR IE0

RETI

CPU执行上述INT0的中断服务程序时,可在P1.0上产生一个宽度为两个机器周期的负脉冲。在该负脉冲作用下,D触发器的端被置位成1状态,978-7-111-54295-7-Chapter04-28.jpg上的电平因此而变高,从而撤除了其上的中断请求。

978-7-111-54295-7-Chapter04-29.jpg

图4-5 电平触发方式的外部中断请求撤除电路

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈