单片机中断如何撤除

单片机中断如何撤除,第1张

  CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断而发生错误。根据中断方式的不同,中断的撤除可以分为定时器/计数器中断请求的撤除、外部中断请求的撤除、串口中断请求的撤除。

  一、定时器/计数器T0/T1中断的撤除

  定时器/计数器T0/T1的外部中断请求,在CPU响应中断后,由内部硬件自动清除中断标志TF0和TF1,IE0和IE1,无需采取其它措施。

  二、外部中断请求的撤除

  对于电平触发方式的外部中断请求的撤除,不仅要清除中断标志,还需在中断响应后把中断请求输入端从低电平强制改为高电平。撤除中断请求的电路方案如图1所示。

  单片机中断如何撤除,单片机中断如何撤除,第2张

  图1 电平方式外部中断请求的撤消电路

  SETB P1.0 ; P1.0置1

  CLR P1.0 ; P1.0置0

  所以,电平方式下外部中断请求信号的撤除,要通过硬件和软件的配合来解决。

  三、 串行口中断请求的撤除

  AT89S52进入串行口中断服务程序后常需要对它们进行检测,以测定串行口发生了接收中断还是发送中断。TI和RI是串行口中断的标志位(见SCON),中断系统不能自动将它们撤除,为防止CPU再次响应这类中断,只能用软件的方法,在中断服务程序中用如下指令将它们撤除。

  CLR TI ; 撤除发送中断

  CLR RI ;撤除接收中断

  若采用字节型指令,则可使用如下指令。

  ANL SCON #0FCH ; 撤除发送和接收中断.

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2710425.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存