中断撤销
发布时间:2016/7/15 21:10:18 访问次数:2723
中断请求撤销的主要目的是:保证对E13007于一次中断请求信号只执行一次中断响应。CPU响应中断后,需要及时将中断请求标志清除,否则将引起一个中断信号触发多次中断响应。中断撤销一般分为硬件自动处理和软件清除。
硬件自动处理:对于外部中断0、外部中断1、定时/计数器T0和T1来说,在CPU响应中断后,将自动清除该中断请求的标志位,无须软件处理。软件清除中断:对于串行接口的中断请求,当CPU响应中断后,硬件不会自动清除中断标志位TI或RI,因此需要在中断服务程序中用软件来人工清除。
需要注意的是,对于外部中断,一般推荐采用下降沿触发方式,而不采用低电平触发方式。因为低电平触发时,触发电平有可能在很长一段时间内都会保持,这样很容易引发再次触发。
而当外部中断必须使用低电平触发时,中断请求标志位只与外部输入信号有关,当中断请求标志位置1后,既不能由硬件自动清除,也不能由软件清除。这时要撤销中断,必须把引起中断请求的低电平拉高变 成高电平。一种比较简单做法是在外部中断输入引脚和外部中断源之间接一个具有异步置1功能的D触发器,具体连接电路如图7.5所示。该触发器的输入引脚D接地,输出引脚Q接INTo(P3.3),异步置位引脚(sET)接到P3.7,外部中断源的中断输入接到时钟CLK引脚上。我们知道,当外部中断源的输入引脚有一个上升沿时,触发器会采集输入引脚D上的电平,此时,由于D引脚接地,恒为0,所以触发器的输出引脚Q输出低电平,此时,外部中断0产生中断,当处理完这个中断后,使P3.7输出一个高电平到触发器的置位端sET,置位触发器,使得Q变为1,也就是撤销中断。当中断撤销后,为了保证能继续响应新的中断请求,再使P3.7输出0。
中断请求撤销的主要目的是:保证对E13007于一次中断请求信号只执行一次中断响应。CPU响应中断后,需要及时将中断请求标志清除,否则将引起一个中断信号触发多次中断响应。中断撤销一般分为硬件自动处理和软件清除。
硬件自动处理:对于外部中断0、外部中断1、定时/计数器T0和T1来说,在CPU响应中断后,将自动清除该中断请求的标志位,无须软件处理。软件清除中断:对于串行接口的中断请求,当CPU响应中断后,硬件不会自动清除中断标志位TI或RI,因此需要在中断服务程序中用软件来人工清除。
需要注意的是,对于外部中断,一般推荐采用下降沿触发方式,而不采用低电平触发方式。因为低电平触发时,触发电平有可能在很长一段时间内都会保持,这样很容易引发再次触发。
而当外部中断必须使用低电平触发时,中断请求标志位只与外部输入信号有关,当中断请求标志位置1后,既不能由硬件自动清除,也不能由软件清除。这时要撤销中断,必须把引起中断请求的低电平拉高变 成高电平。一种比较简单做法是在外部中断输入引脚和外部中断源之间接一个具有异步置1功能的D触发器,具体连接电路如图7.5所示。该触发器的输入引脚D接地,输出引脚Q接INTo(P3.3),异步置位引脚(sET)接到P3.7,外部中断源的中断输入接到时钟CLK引脚上。我们知道,当外部中断源的输入引脚有一个上升沿时,触发器会采集输入引脚D上的电平,此时,由于D引脚接地,恒为0,所以触发器的输出引脚Q输出低电平,此时,外部中断0产生中断,当处理完这个中断后,使P3.7输出一个高电平到触发器的置位端sET,置位触发器,使得Q变为1,也就是撤销中断。当中断撤销后,为了保证能继续响应新的中断请求,再使P3.7输出0。
上一篇:中断服务子程序的编写
上一篇:中断响应时间