51单片机外部中断0触发方式

51单片机外部中断0触发方式,第1张

关于51单片机外部中断0触发方式,边沿触发方式和电平触发方式不同,边沿触发方式只在触发信号下降沿(现在有单片机也可以设置上升沿触发)触发一次。所以在设置好相关外部中断以后,等待触发就可以了,不需要额外处理。

IT0=1//边沿触发方式,还要置位外部中断0允许位及总中断位

进入外部中断0程序的方式是由外部中断触发信号控制的。

//if(达到某条件)//不需要判断,否则就失去中断的意义了

//{

//P3.2=0//不需要这样处理

//}//然后就进入外部中断0了//进入终端是随机的

void exter0()

{

P3.2=1;//不需要这样处理

…………

}

外部中断程序只有0和2是因为设置了优先级。

在中断0中,嵌套了中断2,在堆栈中,就自动保存了两个断点地址

用出栈指令两次,即可把进入中断2时保存的地址,废除掉。

CPU响应中断后,即进入中断周期.在中断周期内,CPU要自动完成一系列 *** 作,如:

(1)保护程序断点.保护程序断点就是要将当前程序计数器PC的内容(程序断点)保存到存储器中.它可以存在存储器的特定单元(如0号地址)内,也可以存入堆栈.

(2)寻找中断服务程序的入口地址.由于中断周期结束后进入下条指令(即中断服务程序的第一条指令)的取指周期,因此在中断周期内必须设法找到中断服务程序的入口地址.由于入口地址有两种方法获得,因此在中断周期内也有两种方法寻找入口地址:

其一,在中断周期内,将向量地址送至PC(对应硬件向量法),使CPU下一条执行无条件转移指令,转至中断服务程序的入口地址.

其二,在中断周期内,将软件查询入口地址的程序(又叫中断识别程序)其首地址送至PC,使CPU执行中断识别程序,找到入口地址(对应软件查询法).

(3)关中断.CPU进入中断周期,意味着CPU响应了某个中断源的请求,为了确保CPU响应后所需作的一系列 *** 作不至于又受到新的中断请求的干扰,在中断周期内必须自动关中断,以禁止CPU再次响应新的中断请求.允许中断触发器EINT和中断标记触发器INT可选用标准的R-S触发器.当进入中断周期时,则T为"1"状态,触发器原端输出有一个正跳变,经反相后产生一个负跳变,使EINT置0,即关中断.

上述保护断点,寻找入口地址和关中断这些 *** 作都是在中断周期内由一条中断隐指令完成的.所谓中断隐指令即在机器指令系统中没有的指令,它是CPU在中断周期内由硬件自动完成的一条指令.


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

原文地址:https://54852.com/yw/8140194.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存