您的位置 首页 新能源

MCS51单片机的外部中止触发方法

51单片机的外部中断有两种触发方式可选:电平触发和边沿触发。选择电平触发时,单片机在每个机器周期检查中断源口线,检测到低电平,即置位

51单片机外部中止有两种触发方法可选:电平触发和边缘触发。挑选电平触发时,单片机在每个机器周期查看中止源口线,检测到低电平,即置位中止恳求标志,向CPU恳求中止。挑选边缘触发方法时,单片机在上一个机器周期检测到中止源口线为高电平,下一个机器周期检测到低电平,即置位中止标志,恳求中止。

这个原理很好了解。但应用时需求特别留意的几点:

1)电平触发方法时,中止标志寄存器不锁存中止恳求信号。也就是说,单片机把每个机器周期的S5P2采样到的外部中止源口线的电平逻辑直接赋值到中止标志寄存器。标志寄存器关于恳求信号来说是通明的。这样当中止恳求被堵塞而没有得到及时呼应时,将被丢掉。换句话说,要使电平触发的中止被CPU呼应并履行,有必要保证外部中止源口线的低电平坚持到中止被履行停止。因而当CPU正在履行同级中止或更高档中止期间,发生的外部中止源(发生低电平)假如在该中止履行结束之前吊销(变为高电平)了,那么将得不到呼应,就好像没发生相同。相同,当CPU在履行不可被中止的指令(如RETI)时,发生的电平触发中止假如时刻太短,也得不到履行。

2)边缘触发方法时,中止标志寄存器锁存了中止恳求。中止口线上一个从高到低的跳变将记录在标志寄存器中,直到CPU呼应并转向该中止服务程序时,由硬件主动铲除。因而当CPU正在履行同级中止(乃至是外部中止自身)或高档中止时,发生的外部中止(负跳变)相同将被记录在中止标志寄存器中。在该中止退出后,将被呼应履行。假如你不期望这样,有必要在中止退出之前,手艺铲除外部中止标志。

3)中止标志能够手艺铲除。一个中止假如在没有得到呼应之前就现已被手艺铲除,则该中止将被CPU疏忽。就好像没有发生相同。

4)挑选电平触发仍是边缘触发方法应从体系运用外部中止的意图上去考虑,而不是如许多材料上说的依据中止源信号的特性来取舍。

传统的MCS51单片机有两个外部中止,有低电平和下降沿两种触发方法。经过特别功用寄存器TCON的状况,能够装备中止的触发方法。

当处于低电平触发方法时,CPU在每个机械周期内进行电平采样,当采样到的电平为低时,将中止符号IE1(IE0)置1,表明正在向CPU恳求中止。需求留意的是,IE1(IE0)的值有必要经过软件在中止服务程序中铲除,否则会再次进入中止。如下:

#include

void main(void)

{

EA= 1;//总线开中止

EX0 = 1;//外部中止0使能

IT0 = 0;//低电平触发方法

while(1);

}

void INTR0(void) interrupt 0 unsing 0 //中止服务程序

{

P1_1 =~P1_1;

IE0 = 0;//软件铲除标志位

}

低电平触发方法下,中止标志寄存器不会锁存中止恳求信号,也就是说,要保证低电平触发的中止被履行。需求坚持低电平直至该中止服务程序开端履行;而边缘触发方法下,中止标志寄存器会所锁存,一起中止标志位也会在中止服务程序履行结束之后,由硬件铲除。在运用电平触发时,如不期望呈现重复程序进入中止的现象,应在中止履行结束后封闭中止答应。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/xinnengyuan/258437.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部