×
单片机 > 单片机程序设计 > 详情

关于51单片机外部中断的触发方式

发布时间:2020-08-27 发布时间:
|

51单片机有两个外部中断申请输入端:INT0 和 INT1。
51单片机的外部中断,分为低电平触发和下降沿触发。在单片机内部,分别由控制位 IT0 和 IT1 来控制。
复位时,IT0/1 都为 0,即默认为低电平触发。

一般来说,外设第一次向单片机申请外部中断时,单片机使用那种触发方式,并无什么差别。
但是,返回主程序后,如果外部申请信号仍然是低电平,就有区别了。

在采用低电平触发时,单片机执行了一条主程序的指令后,就会又重新进入中断程序。

而采用下降沿触发时,即使 INT0/1 引脚仍然是低电平,单片机也不会重新进入中断程序。
如果外设想要申请第二次中断,必须是先恢复高电平,重新再送来一次下降沿才行。

那么,为了避免仅仅来了一次申请,就产生多次中断的现象,还是应该采用下降沿触发中断的方式。

如果非要使用低电平触发呢,那必须在退出前,反复的检测中断输入端的电平。
只有当外设撤消了中断申请之后,再退出中断程序,这才能避免多次的重新中断。

到底应该采用那种触发方式,这个确实是应该根据外设的特点来选取。
但是在多数场合,采用下降沿触发方式,还是比较适用的。
即在复位后,应该先执行:

  SETB  IT0
  SETB  IT1

有人在百度知道,提出了一个问题,希望能显示出低电平触发和下降沿触发的区别。

题目的基本内容如下。

;单片机汇编程序题:要求一定是汇编

;AT89C51中P3.2接开关1,P3.3接开关2。
;当开关1, 2全都断开时运行主程序,P1口的8个LED从P1.0~P1.7逐个点亮并反复循环。
;当开关1闭合时进入中断服务程序P2口的8个LED闪烁6次。
;开关2起到对开关1触发方式进行选择的作用:
;第一次闭合开关2时开关1为下降沿触发且P0.0连接的LED点亮;
;第二次闭合开关2时开关1为低电平触发且P0.0连接的LED熄灭。
;求一个用汇编语言编写的完整程序。

根据上述题目要求,做而论道画出了PROTEUS仿真实验电路如下:



;下列程序,可以满足要求。
        ORG   0000H
        LJMP  MAIN
        ORG   0003H
        LJMP  X0_INT
        ORG   0013H
        LJMP  X1_INT
;------------------------------------
MAIN:
        SETB  IT1
        MOV   SP, #60H 
        MOV   IE, #85H
        MOV   A,  #254
M_LOOP:
        MOV   P1, A
        RL    A
        CALL  DL_500MS
        SJMP  M_LOOP
;------------------------------------
X0_INT:
        PUSH  PSW
        SETB  RS1
        MOV   R4, #12
SH_6:
        XRL   P2, #255
        CALL  DL_500MS
        DJNZ  R4, SH_6
        POP   PSW
        RETI
;------------------------------------
X1_INT:
        CPL   IT0
        CPL   P0.0
        RETI
;-------------------------------延时子程序
DL_500MS:
        MOV   R5, #9      ;1T
DL1:    MOV   R6, #128    ;1T
DL2:    MOV   R7, #215    ;1T
        NOP               ;1T
DL3:    DJNZ  R7, DL3     ;2T   2 * 215 = 430 T
        DJNZ  R6, DL2     ;2T   [1+1+430+2] * 128 = 55552 T
        DJNZ  R5, DL1     ;2T   [1+55552+2] * 9 = 499995 T
        RET               ;2T   1 + 499995 + 2 = 499998 T
;------------------------------------
END

;===============================================



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
51单片机中断源的扩展方法