电工学习网

 找回密码
 立即注册

单片机中断的撤除方法

2014-12-1 11:26| 编辑:电工学习网| 查看: 14893| 评论: 0

CPU响应某中断请求后,在中断返回前,应该撤除该中断请求,否则会引起另一次中断而发生错误。根据中断方式的不同,中断的撤除可以分为定时器/计数器中断请求的撤除、外部中断请求的撤除、串口中断请求的撤除。
一、定时器/计数器T0/T1中断的撤除
   定时器/计数器T0/T1的外部中断请求,在CPU响应中断后,由内部硬件自动清除中断标志TF0和TF1,IE0和IE1,无需采取其它措施。
二、外部中断请求的撤除
   对于电平触发方式的外部中断请求的撤除,不仅要清除中断标志,还需在中断响应后把中断请求输入端从低电平强制改为高电平。撤除中断请求的电路方案如图所示。


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

 上图中,用D触发器锁存外部中断请求低电平,通过触发器输出端Q送INT0,所以增加的D触发器对外部中断请求没有影响。中断响应后,为了撤销低电平引起的中断请求,可利用D触发器的直接置位端SD来实现。AT89S52的一根I/O口线P1.0控制SD端。只要在SD端输入一个负脉冲(P1.0初始状态为1),即可使D触发器置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      ; 撤除发送和接收中断

看过《单片机中断的撤除方法》的人还看了以下文章:

发表评论

最新评论

  • 实时时钟芯片DS1302
  • 8255的控制字
  • 单片机点亮led灯程序详解
  • 单片机引脚功能定义
  • 单片机数码管显示原理
  • RS485通信和Modbus协议

电工学习网 ( )

GMT+8, 2023-5-12 18:41

Powered by © 2011-2022 www.shop-samurai.com 版权所有 免责声明 不良信息举报

技术驱动未来! 电工学习网—专业电工基础知识电工技术学习网站。

栏目导航: 工控家园 | 三菱plc | 西门子plc | 欧姆龙plc | plc视频教程

返回顶部